feat: 更新嵌入式文件系统逻辑,支持路径清理和静态资源请求处理,增强前端主题切换能力

This commit is contained in:
ryan
2026-03-11 13:18:32 +08:00
parent 6eea676f8f
commit ad090c9c04
26 changed files with 465 additions and 81 deletions
+18
View File
@@ -59,6 +59,7 @@
* 使用 TypeScript 建立明确类型边界
* 建立可维护的目录结构、组件分层与请求层规范
* 提升首屏体验、构建质量、代码可测试性与长期可演进性
* 建立统一的亮色 / 暗色主题体系,并支持用户切换
### 3.3 约束目标
@@ -255,12 +256,29 @@ atsf_server/web/
2. 接入 ESLint、Prettier、基础测试框架
3. 建立 `app/`、`features/`、`components/`、`lib/` 基础结构
4. 完成全局布局、主题变量、基础 UI 组件骨架
5. 建立亮色 / 暗色主题 token 与主题切换基础设施
模式切换补充要求:
* 阶段 1 即完成全局主题模式基础设施,不将模式切换延后到业务页面迁移阶段
* 默认支持“跟随系统”与“用户手动切换”两种模式来源
* 至少支持 `light`、`dark`、`system` 三种主题状态
* 用户手动选择后必须持久化,并在刷新、重新进入页面、路由切换后保持一致
* 首屏渲染应尽量避免主题闪烁,不能出现明显的先亮后暗或先暗后亮跳变
* 布局层、导航层、页面容器、基础卡片、按钮、表单容器等基础骨架必须率先接入双主题 token
* 主题切换实现应基于统一主题上下文或全局主题状态,不允许页面各自维护一套切换逻辑
* 所有新增颜色变量应优先落在语义 token 层,不直接把亮暗配色散落在业务组件中
验收:
* 可本地启动开发环境
* 可生成静态构建产物
* Go Server 可正确托管构建结果
* 亮色 / 暗色主题可切换,且基础布局在两种主题下均可正常显示
* 首次进入页面时可正确应用默认主题策略
* 用户切换主题后刷新页面仍保持所选模式
* 首页、公共布局、后台主框架在 `light` / `dark` 下均无明显可读性问题
* 阶段 1 交付的基础组件不依赖单一暗色样式前提
### 阶段 2:认证与框架层迁移