mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-07 22:06:38 +08:00
2.7 KiB
2.7 KiB
2026-05-16 工作日志
站点管理前端页面迁移
新增文件
- web/src/api/sites.ts — 站点管理 API 客户端(list/get/create/update/remove/test/types/authTypes),对接后端 8 个端点
- web/src/pages/SitesPage.tsx — 完整站点管理页面(~400 行)
- 站点卡片网格布局(响应式 1/2/3 列)
- 添加/编辑弹窗(类型选择、认证方式、Cookie/API Key/Auth Header)
- 馒头 M-Team 专用配置提示
- 启用/停用开关、默认站点开关
- 高级选项折叠面板(Extra JSON)
- 测试连接(异步+loading 状态)
- 删除确认
- 空状态提示
- 暗色主题风格
修改文件
- web/src/types/index.ts — 新增 Site、SiteTypeInfo、AuthTypeInfo 接口
- web/src/App.tsx — 新增 /sites 路由(RequireAdmin)和 lazy import
- web/src/components/Layout.tsx — 侧边栏管理区新增「站点管理」链接(Globe 图标)
- web/src/pages/AdminPage.tsx — 新增「站点管理」Tab,默认激活,嵌入 SitesPage 组件
API 验证(8/8 通过)
- GET /api/sites ✅
- POST /api/sites ✅(创建成功)
- GET /api/sites/:id ✅
- PUT /api/sites/:id ✅(更新成功)
- DELETE /api/sites/:id ✅(删除成功)
- POST /api/sites/:id/test ✅
- GET /api/sites/types ✅(6 种类型)
- GET /api/sites/auth-types ✅(3 种认证方式)
构建状态
- npm run build ✅(SitesPage-hRHsM4G0.js 14.21 kB)
- go build ./cmd/server ✅
- 服务器运行中(localhost:8080)
UI 修复与优化(第二阶段)
搜索页 & 收藏页空白问题修复
- 收藏页根因:后端
GET /api/favourites无数据时返回{"items": null}(非空数组),前端playbackAPI.listFavourites()提取 null 后items.length抛出 TypeError → React 白屏 - 修复:
FavouritesPage.tsx增加data ?? []空值保护、.catch()错误处理、重试按钮、空状态面板 - 搜索页修复:
SearchPage.tsx增加错误处理、空查询不发请求、idle/empty/error 三态 UI
AdminPage 去重 & API 配置合并
- AdminPage 新增「外部API」Tab,嵌入新组件
APIConfigsPanel - 原「设置」Tab 重命名「系统设置」,功能独立(key-value 存储)
- 侧边栏移除「API 配置」独立链接
/api-configs路由改为重定向到/adminAPIConfigsPanel.tsx:紧凑表格布局(Provider | 密钥掩码 | 状态徽章 | 操作),点击编辑行内展开
修改文件
- 新增:
web/src/components/APIConfigsPanel.tsx - 修改:
FavouritesPage.tsx、SearchPage.tsx、AdminPage.tsx、Layout.tsx、App.tsx - npm run build ✅(AdminPage 25.38 kB 含 APIConfigsPanel)