mirror of
https://github.com/HugoAura/Seewo-HugoAura.git
synced 2026-06-20 23:14:28 +08:00
1. [/] 改进 PLS 状态同步逻辑 2. [/] 使用 classList 改变元素样式状态, 而非直接赋值 className, 从而避免 #29
This commit is contained in:
@@ -227,7 +227,7 @@ const applyPlsIpcHandler = (ipcMain) => {
|
|||||||
launched: false,
|
launched: false,
|
||||||
detached: isPlsDetached,
|
detached: isPlsDetached,
|
||||||
connected: false,
|
connected: false,
|
||||||
version: "未知",
|
version: "unknown",
|
||||||
status: "dead",
|
status: "dead",
|
||||||
authToken: global.__HUGO_AURA_CONFIG__.plsToken,
|
authToken: global.__HUGO_AURA_CONFIG__.plsToken,
|
||||||
};
|
};
|
||||||
@@ -490,12 +490,42 @@ const applyPlsIpcHandler = (ipcMain) => {
|
|||||||
PLS_BIN_PATH,
|
PLS_BIN_PATH,
|
||||||
"--startup auto install"
|
"--startup auto install"
|
||||||
);
|
);
|
||||||
case "rmSvc":
|
case "rmSvc": {
|
||||||
return await functions.execCommand(logHeader, PLS_BIN_PATH, "remove");
|
const result = await functions.execCommand(
|
||||||
|
logHeader,
|
||||||
|
PLS_BIN_PATH,
|
||||||
|
"remove"
|
||||||
|
);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
case "startSvc":
|
case "startSvc":
|
||||||
return await functions.execCommand(logHeader, PLS_BIN_PATH, "start");
|
return await functions.execCommand(logHeader, PLS_BIN_PATH, "start");
|
||||||
case "stopSvc":
|
case "stopSvc": {
|
||||||
return await functions.execCommand(logHeader, PLS_BIN_PATH, "stop");
|
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":
|
case "rmBin":
|
||||||
const unlinkPromise = new Promise((resolve) => {
|
const unlinkPromise = new Promise((resolve) => {
|
||||||
fs.unlink(PLS_BIN_PATH, (error) => {
|
fs.unlink(PLS_BIN_PATH, (error) => {
|
||||||
@@ -521,6 +551,19 @@ const applyPlsIpcHandler = (ipcMain) => {
|
|||||||
|
|
||||||
const unlinkRet = await unlinkPromise;
|
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;
|
return unlinkRet;
|
||||||
default:
|
default:
|
||||||
return { success: false, errorObj: new Error("Method not found") };
|
return { success: false, errorObj: new Error("Method not found") };
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
connected: false,
|
connected: false,
|
||||||
launched: false,
|
launched: false,
|
||||||
status: "dead",
|
status: "dead",
|
||||||
version: "未知",
|
version: "unknown",
|
||||||
authToken: "",
|
authToken: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -157,6 +157,13 @@
|
|||||||
sendRetryStatusToMain(false);
|
sendRetryStatusToMain(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (global.__HUGO_AURA__.plsStats.launched === false) {
|
||||||
|
console.warn(
|
||||||
|
"[HugoAura / UI / PLS Manager / WARN] PLS stopped, closing WebSocket connection."
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.error(
|
console.error(
|
||||||
@@ -274,7 +281,7 @@
|
|||||||
launched: false,
|
launched: false,
|
||||||
detached: false,
|
detached: false,
|
||||||
connected: false,
|
connected: false,
|
||||||
version: "未知",
|
version: "unknown",
|
||||||
status: "dead",
|
status: "dead",
|
||||||
authToken: "66ccff0d000721114514191981023333",
|
authToken: "66ccff0d000721114514191981023333",
|
||||||
};
|
};
|
||||||
@@ -332,6 +339,16 @@
|
|||||||
initPlsConnection();
|
initPlsConnection();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
global.ipcRenderer.on(
|
||||||
|
`${IPC_METHOD_BASE}.post.plsStopped`,
|
||||||
|
(_evt, _arg) => {
|
||||||
|
if (!global.__HUGO_AURA__.plsStats) return;
|
||||||
|
global.__HUGO_AURA__.plsStats.launched = false;
|
||||||
|
global.__HUGO_AURA__.plsStats.connected = false;
|
||||||
|
global.__HUGO_AURA__.plsStats.version = "unknown";
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|||||||
@@ -359,7 +359,8 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = {
|
|||||||
let timeout = 0;
|
let timeout = 0;
|
||||||
Array.from(operationElArr).forEach((el) => {
|
Array.from(operationElArr).forEach((el) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
el.className = "operation-el-show aura-config-page-operation-el";
|
el.classList.remove("operation-el-hidden");
|
||||||
|
el.classList.add("operation-el-show");
|
||||||
}, timeout);
|
}, timeout);
|
||||||
timeout += 150;
|
timeout += 150;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -331,6 +331,10 @@ if (!global.__HUGO_AURA_UI_REACTIVES__.subConfig)
|
|||||||
);
|
);
|
||||||
if (ret.success) {
|
if (ret.success) {
|
||||||
lifecycleStatus.svcRunning = false;
|
lifecycleStatus.svcRunning = false;
|
||||||
|
global.__HUGO_AURA__.plsStats.launched = false;
|
||||||
|
global.__HUGO_AURA__.plsStats.version = "unknown";
|
||||||
|
global.__HUGO_AURA__.plsStats.status = "dead";
|
||||||
|
|
||||||
global.__HUGO_AURA_UI_FUNCTIONS__.subConfig.plsStatus.updateToast(
|
global.__HUGO_AURA_UI_FUNCTIONS__.subConfig.plsStatus.updateToast(
|
||||||
"success",
|
"success",
|
||||||
"PLS 已停止",
|
"PLS 已停止",
|
||||||
@@ -442,11 +446,11 @@ if (!global.__HUGO_AURA_UI_REACTIVES__.subConfig)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (curPlsStats.version && curPlsStats.version !== "未知") {
|
const versionTextEl = document.getElementById("acs-bc-psp-version-text");
|
||||||
const versionTextEl = document.getElementById(
|
if (curPlsStats.version && curPlsStats.version !== "unknown") {
|
||||||
"acs-bc-psp-version-text"
|
|
||||||
);
|
|
||||||
versionTextEl.textContent = "v" + curPlsStats.version;
|
versionTextEl.textContent = "v" + curPlsStats.version;
|
||||||
|
} else {
|
||||||
|
versionTextEl.textContent = "不可用"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user