feat(console): 开机自启默认关闭,服务管理窗口加手动开关

- DEFAULTS.startup.openAtLogin 与随包 config.json 默认改为 false;
  applyOpenAtLogin 只有显式 true 才注册登录项(缺省/null/false 都不注册)
- config.js 新增 updateConfig():只写回文件里已有的键 + 目标键,不把 DEFAULTS 落盘
- 主进程 setOpenAtLogin():改内存 → 写回 config.json → setLoginItemSettings,
  任一失败都回滚,返回 {ok, openAtLogin};状态快照新增 openAtLogin / openAtLoginSupported
- 渲染层:服务端状态卡片新增「开机自启」滑块(纯 CSS,无依赖),
  切换即时生效并有本地意图守卫,避免被随后到达的陈旧快照冲掉
- 文档:console/README.md 与 docs/部署指南.md 同步

注意:旧包 config.json 里已显式写 true 的用户升级后仍会自启(不悄悄改既有行为),
在窗口里关一次即可;全新安装默认不注册。
This commit is contained in:
AskaEth committed 2026-09-10 00:06:59 +08:00
1 parent 7c59dba9b9
commit 1b78c38bb8
9 files changed
+204 -12

No files matched your search

+2 -2
View File
@@ -65,7 +65,7 @@ deploy\build.bat
- 打开服务端管理面板窗口;
- 把大屏页面投到扩展屏;
- 启用防熄屏;
- 注册开机自启(仅打包后的 Windows 版本)。
- 不注册开机自启;需要随系统启动时,在服务管理窗口的「开机自启」开关里开启(仅打包后的 Windows 版本生效)。
部署目录结构(安装或解压后):
@@ -216,7 +216,7 @@ scoreboard.exe passwd -config config.yaml
| `display.reloadEveryHours` | `24` | 定时重载兜底,`0` = 关闭 |
| `display.waitForServerMs` | `20000` | 服务端未就绪时,最多等这么久也先把大屏开出来 |
| `display.backgroundColor` | `#0b0f1a` | 大屏窗口底色,减少加载白闪 |
| `startup.openAtLogin` | `true` | 打包后随系统启动 |
| `startup.openAtLogin` | `false` | 默认不随系统启动;在服务管理窗口「开机自启」开关里控制 |
| `admin.width` / `admin.height` | `1040` / `760` | 启动管理窗口初始尺寸 |
| `log.maxLines` | `2000` | 内存中保留的日志行数 |
| `log.file` | `logs/console.log` | 日志文件,相对 `config.json` 所在目录 |