From 3880eee08e5960479495cb6dd8019ff22cbc659d Mon Sep 17 00:00:00 2001 From: LoveChengke Date: Fri, 2 Oct 2026 00:25:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(desktop,island,shared):=20=E7=81=B5?= =?UTF-8?q?=E5=8A=A8=E5=B2=9B=E6=94=AF=E6=8C=81=E5=A4=9A=E6=9D=A1=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E7=AB=96=E6=8E=92=E5=88=97=E8=A1=A8=20+=20=E8=A7=A6?= =?UTF-8?q?=E6=91=B8=E6=A8=A1=E5=BC=8F=20+=20=E6=94=B6=E5=9B=9E=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=EF=BC=8C=E4=BA=A7=E7=89=A9=E5=8A=A0=E5=87=AD=E6=8D=AE?= =?UTF-8?q?=E9=97=A8=E7=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 灵动岛列表:多条通知时展开为竖排列表,默认显示 3 条,点「展开更多」铺到屏幕容纳 上限,放不下的收进「更多请前往应用内操作」。卡片高度由主进程与渲染进程各算一次 同一个数 —— 度量表 ISLAND_LIST_METRICS 与排序权重 PRIORITY_RANK 放在 shared, 窗口包围盒随之长高(不够高会把底部按钮裁掉)。 触摸模式:触摸屏上手指既不产生 mousemove、也不移动系统光标,原先两条命中链路都会 让窗口永远停在穿透态、手指点不开岛。现按 navigator.maxTouchPoints 上报后,主进程把 窗口贴合岛体并始终接收输入;非触摸屏机器完全不走这条路。 收回动画:main 先发 island:closing,渲染进程形变收敛后回 closing-done 才淡出, 不再靠猜时长(rAF 被节流时会把卡片缩到一半窗口就没了)。 安全门禁:新增 scripts/check-bundle-secrets.mjs 并接进 build:desktop —— dist 产物会被打进 app.asar 发到每台学生机、且可解包,冒烟凭据一律改由环境变量注入, 产物里出现种子口令即构建失败。 --- packages/desktop-client/index.html | 19 +- packages/desktop-client/island.html | 5 + packages/desktop-client/package.json | 3 +- .../scripts/check-bundle-secrets.mjs | 75 ++ packages/desktop-client/scripts/dist-win.mjs | 56 +- packages/desktop-client/scripts/smoke.mjs | 4 + .../desktop-client/src/island/IslandApp.vue | 473 +++++++- packages/desktop-client/src/main/config.ts | 35 +- packages/desktop-client/src/main/index.ts | 39 +- packages/desktop-client/src/main/island.ts | 476 +++++++- packages/desktop-client/src/main/smoke.ts | 1075 ++++++++++++++++- packages/desktop-client/src/preload/index.ts | 15 + packages/desktop-client/src/preload/island.ts | 22 +- packages/desktop-client/src/renderer/App.vue | 10 +- .../desktop-client/src/renderer/api/index.ts | 15 +- .../src/renderer/cache/self-test.ts | 131 +- .../src/renderer/island/bridge.ts | 114 +- .../src/renderer/layouts/ClientLayout.vue | 13 +- packages/desktop-client/src/renderer/main.ts | 9 +- .../src/renderer/views/HomeworkView.vue | 22 +- .../src/renderer/views/SettingsView.vue | 10 +- .../desktop-client/src/types/desktop.d.ts | 36 +- 22 files changed, 2482 insertions(+), 175 deletions(-) create mode 100644 packages/desktop-client/scripts/check-bundle-secrets.mjs diff --git a/packages/desktop-client/index.html b/packages/desktop-client/index.html index e3815d1..a05b77d 100644 --- a/packages/desktop-client/index.html +++ b/packages/desktop-client/index.html @@ -3,7 +3,24 @@ - + + 班级小助手 diff --git a/packages/desktop-client/island.html b/packages/desktop-client/island.html index eab9ea1..18b2c4a 100644 --- a/packages/desktop-client/island.html +++ b/packages/desktop-client/island.html @@ -3,6 +3,11 @@ + + 班级小助手 · 灵动岛