## 1. 后端版本接口 - [x] 1.1 新增后端版本信息 handler,响应 `version`、`commit`、`build_time` 并复用 `buildinfo` - [x] 1.2 在 server 入口注册 `GET /api/version` - [x] 1.3 在 desktop 入口注册 `GET /api/version` - [x] 1.4 为版本 handler 增加单元测试覆盖响应字段和默认降级值 - [x] 1.5 为 server 路由增加测试覆盖 `GET /api/version` - [x] 1.6 为 desktop 路由增加测试覆盖 `GET /api/version` 不落入 SPA fallback ## 2. 前端版本 API 与状态判断 - [x] 2.1 新增前端版本信息类型定义,包含后端 `version`、`commit`、`buildTime` - [x] 2.2 新增前端版本 API 调用 `GET /api/version` - [x] 2.3 新增 TanStack Query hook 获取后端版本信息 - [x] 2.4 集中定义前端 `APP_NAME`、产品描述和 `VITE_APP_VERSION` 降级值 - [x] 2.5 实现前后端版本状态判断逻辑,覆盖一致、不一致、无法判断和请求失败 - [x] 2.6 为版本 API 和版本状态判断增加前端单元测试 ## 3. 品牌与图标资源 - [x] 3.1 将侧边栏品牌名称从 `AI Gateway` 替换为 `Nex` - [x] 3.2 使用统一应用图标渲染侧边栏 logo,折叠态保留图标并隐藏文字 - [x] 3.3 为侧边栏折叠按钮补充清晰的无障碍标签 - [x] 3.4 将根目录 `assets/icon.png` 复制为 `frontend/public/icon.png` - [x] 3.5 将前端 HTML favicon 路径改为 `/icon.png` 并将 HTML title 改为 `Nex` - [x] 3.6 将 desktop 静态文件服务的 `/favicon.svg` 路由替换为 `/icon.png` 路由 - [x] 3.7 删除未使用的 `frontend/public/icons.svg` 和旧 SVG favicon 资源 - [x] 3.8 全文确认不存在未处理的 `icons.svg`、`favicon.svg` 引用 - [x] 3.9 更新 AppLayout 组件测试覆盖展开态 `Nex`、折叠态图标和 About 菜单项 - [x] 3.10 更新导航 E2E 中旧 `AI Gateway` 品牌断言为 `Nex` ## 4. About 页面改造 - [x] 4.1 重构 About 页面为品牌卡片、版本信息卡片和链接卡片三卡布局 - [x] 4.2 使用 TDesign Card、Tag、Descriptions、Alert、Row/Col 等组件 props 完成主要视觉结构 - [x] 4.3 在 About 页面展示前端版本、后端版本、commit 和 build_time - [x] 4.4 在 About 页面展示版本一致、不一致、无法判断和请求失败状态 - [x] 4.5 确保版本不一致或接口失败时 About 页面不崩溃且不阻断其他功能 - [x] 4.6 为 About 页面增加组件测试覆盖布局、版本展示和所有版本状态 - [x] 4.7 为 About 页面补充必要的 E2E 导航与版本区域可见性测试 ## 5. 文档同步 - [x] 5.1 更新根 README 的管理接口列表,加入 `GET /api/version` - [x] 5.2 更新根 README 的前端样式技术栈说明,体现 TDesign props、TDesign tokens、SCSS 优先级 - [x] 5.3 更新 backend README 的管理接口文档,说明版本响应字段来源 - [x] 5.4 更新 frontend README 的环境变量说明,加入 `VITE_APP_VERSION` - [x] 5.5 更新 frontend README 的样式优先级为 TDesign props、TDesign tokens、SCSS - [x] 5.6 更新 frontend README 的项目结构、About 页面说明和 public 图标来源说明 - [x] 5.7 更新 desktop 相关文档说明 PNG favicon、`/icon.png` 静态路由和 API 版本接口路由 ## 6. 验证 - [x] 6.1 运行后端测试,确保 handler、server 和 desktop 路由测试通过 - [x] 6.2 运行前端测试,确保 API、hook、AppLayout 和 About 页面测试通过 - [x] 6.3 运行前端检查和构建,确保 Bun/Vite 构建能加载 PNG favicon - [x] 6.4 运行 OpenSpec 校验,确保 proposal、design、specs 和 tasks 状态可实施