fix: 安全加固 + 首页推荐优先加载解耦

- install-manager: queue-install JSON.parse 加 try-catch 防异常 payload
- App.vue: openExternalUrl 协议白名单(http/https) 防恶意 scheme
- AppDetailModal: sanitizeMoreContent 改用 textContent 防 v-html XSS
- storeConfig: loadPriorityConfig 校验顶层结构,畸形数据回退 APM
- App.vue onMounted: 首页推荐(loadHome+preloadHomeListApps) 与全量
  应用加载(loadApps) 解耦,进入软件即优先显示首页推荐
This commit is contained in:
xiyidaiwa
2026-08-10 23:40:21 +08:00
parent 5bd0a367c4
commit 102ac72d89
4 changed files with 47 additions and 24 deletions
+10 -4
View File
@@ -285,10 +285,16 @@ const parseUpgradableList = (output: string) => {
// Listen for download requests from renderer process
ipcMain.on("queue-install", async (event, download_json) => {
const download =
typeof download_json === "string"
? JSON.parse(download_json)
: download_json;
let download: unknown;
try {
download =
typeof download_json === "string"
? JSON.parse(download_json)
: download_json;
} catch (err) {
logger.error({ err }, "queue-install: invalid JSON payload, ignoring task");
return;
}
const { id, pkgname, metalinkUrl, filename, origin, upgradeOnly } =
download || {};