feat(admin): 修改密码页 + 首次登录强制改密;自绘标题栏与管理面板 Electron 窗口
This commit is contained in:
1 parent
4cbf5a74f0
commit
ab2f4d1cec
11 files changed
+197
-8
No files matched your search
+6
-3
@@ -23,10 +23,11 @@ console/
|
||||
│ ├── log-bus.js # 日志环形缓冲 + 落文件 + 广播
|
||||
│ └── tray-icon.js # 托盘图标(base64 内嵌,无外部资源文件)
|
||||
└── renderer/
|
||||
├── index.html # 管理窗口
|
||||
├── index.html # 管理窗口(含自绘标题栏)
|
||||
├── styles.css
|
||||
├── app.js
|
||||
└── preload.js # contextBridge 白名单
|
||||
├── preload.js # 管理窗口的 contextBridge 白名单
|
||||
└── shell-preload.js # 服务端管理面板窗口的 window.desktopShell 白名单
|
||||
```
|
||||
|
||||
## 运行方式
|
||||
@@ -72,6 +73,8 @@ scoreboard-windows-amd64/
|
||||
| 服务端就绪 | 首次 `/api/health` 通过后开大屏窗口;等待超过 `display.waitForServerMs` 也先开,避免现场只见桌面 |
|
||||
| 服务端崩溃 | 按 `restartDelayMs` 递增退避自动重启(`maxRestarts=0` 为无限);恢复健康后自动重载大屏 |
|
||||
| 关管理窗口 | 只隐藏到托盘,服务端继续运行;退出必须走托盘「退出」 |
|
||||
| 窗口外观 | 管理窗口与服务端管理面板窗口都是 `frame: false` 无边框,标题栏与最小化/最大化/关闭三键由页面自绘(拖拽区 `-webkit-app-region: drag`,按钮 `no-drag`,双击标题栏切最大化,关闭键 hover 变红) |
|
||||
| 服务端管理面板 | 用独立无边框 Electron 窗口加载 `http://127.0.0.1:<port>/admin`(`shell-preload.js` 暴露 `window.desktopShell`),不再调系统浏览器;面板页在浏览器里直接打开时标题栏自动不渲染 |
|
||||
| 日志 | 内存环形缓冲(`log.maxLines`)+ 文件 `logs/console.log`(超 `maxFileBytes` 轮转一份 `.1`) |
|
||||
|
||||
## 配置项(`config.json`)
|
||||
@@ -94,7 +97,7 @@ scoreboard-windows-amd64/
|
||||
| `display.reloadEveryHours` | `24` | 定时重载兜底,0 = 关闭 |
|
||||
| `display.waitForServerMs` | `20000` | 服务端未就绪时开大屏的兜底等待 |
|
||||
| `display.backgroundColor` | `#0b0f1a` | 窗口底色,减少加载白闪 |
|
||||
| `admin.width` / `admin.height` | `1040` / `760` | 管理窗口初始尺寸 |
|
||||
| `admin.width` / `admin.height` | `1040` / `760` | 管理窗口初始尺寸(服务端管理面板窗口按 `width` 不小于 1100 取用) |
|
||||
| `log.maxLines` / `log.file` / `log.maxFileBytes` | `2000` / `logs/console.log` / `4194304` | 日志缓冲与文件 |
|
||||
|
||||
配置缺项自动用内置默认值,文件不存在或 JSON 语法错误时回落到全默认值,并在管理窗口顶部给出提示。
|
||||
|
||||
Reference in new issue
Block a user