1.6 KiB
1.6 KiB
前端图标与设置链路调研
图标消费点
public/index.html:favicon、32px favicon、Apple Touch 图标、Manifest,以及登录页icon-192.png。public/app.js:浏览器通知固定使用/icon-192.png,强制修改密码面板再次渲染登录 Logo。public/sw.js:Service Worker 通知默认使用/icon-192.png。public/site.webmanifest:PWA 安装图标使用icon-192.png与icon-512.png。
设置链路
#settings-btn调用showSettingsPanel(),Codex 与 Claude 设置页都复用buildAppearanceSettingsHtml()/mountAppearanceSettings()。- 设置读取与保存统一走 WebSocket 消息;服务端在消息 switch 中分发
get_*_config/save_*_config并回推配置。 - 新功能适合增加独立的实例图标配置消息,避免混入 Codex/Claude 模型配置。
静态资源与缓存
- 静态资源由
server.js从PUBLIC_DIR返回,响应使用Cache-Control: no-store, max-age=0。 - 默认图标未参与前端资产 hash;自定义运行时 URL 应带版本参数或 ETag,确保同页更新。
- PWA/操作系统已安装图标受平台缓存控制,即使动态 Manifest 更新也不保证立即刷新;浏览器页签、登录 Logo 与通知图标可可靠动态更新。
测试与风险
- 总回归入口是
npm run regression;scripts/regression.js已覆盖设置页消息与静态结构。 - 必须覆盖默认回退、设置页上传/恢复消息、通知图标与登录 Logo 使用统一 URL。
- 不应修改主题级设置按钮图标;实例品牌图标与主题装饰资产是不同职责。