[🛠 Fix] Fix issue #29 & #30

1. [/] 改进 PLS 状态同步逻辑
2. [/] 使用 classList 改变元素样式状态, 而非直接赋值 className, 从而避免 #29
This commit is contained in:
Minoricew
2025-06-21 19:20:01 +08:00
parent ae2e2ff62d
commit 774d999752
4 changed files with 77 additions and 12 deletions

View File

@@ -227,7 +227,7 @@ const applyPlsIpcHandler = (ipcMain) => {
launched: false,
detached: isPlsDetached,
connected: false,
version: "未知",
version: "unknown",
status: "dead",
authToken: global.__HUGO_AURA_CONFIG__.plsToken,
};
@@ -490,12 +490,42 @@ const applyPlsIpcHandler = (ipcMain) => {
PLS_BIN_PATH,
"--startup auto install"
);
case "rmSvc":
return await functions.execCommand(logHeader, PLS_BIN_PATH, "remove");
case "rmSvc": {
const result = await functions.execCommand(
logHeader,
PLS_BIN_PATH,
"remove"
);
return result;
}
case "startSvc":
return await functions.execCommand(logHeader, PLS_BIN_PATH, "start");
case "stopSvc":
return await functions.execCommand(logHeader, PLS_BIN_PATH, "stop");
case "stopSvc": {
const result = await functions.execCommand(
logHeader,
PLS_BIN_PATH,
"stop"
);
if (result.success && global.__HUGO_AURA__.plsStats) {
global.__HUGO_AURA__.plsStats.connected = false;
global.__HUGO_AURA__.plsStats.launched = false;
global.__HUGO_AURA__.plsStats.version = "unknown";
global.__HUGO_AURA__.plsStats.status = "dead";
ipcMain.send(
"assistant",
`${methodBase}.post.onPlsStatsUpdate`,
global.__HUGO_AURA__.plsStats
);
ipcMain.send(
"auraWsKeepAlive",
`${methodBase}.post.plsStopped`,
{}
);
}
return result;
}
case "rmBin":
const unlinkPromise = new Promise((resolve) => {
fs.unlink(PLS_BIN_PATH, (error) => {
@@ -521,6 +551,19 @@ const applyPlsIpcHandler = (ipcMain) => {
const unlinkRet = await unlinkPromise;
if (unlinkRet.success && global.__HUGO_AURA__.plsStats) {
global.__HUGO_AURA__.plsStats.connected = false;
global.__HUGO_AURA__.plsStats.launched = false;
global.__HUGO_AURA__.plsStats.installed = false;
global.__HUGO_AURA__.plsStats.version = "unknown";
ipcMain.send(
"assistant",
`${methodBase}.post.onPlsStatsUpdate`,
global.__HUGO_AURA__.plsStats
);
}
return unlinkRet;
default:
return { success: false, errorObj: new Error("Method not found") };