mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-12 00:06:37 +08:00
feat: merge conflict resolution, site management, UI fixes
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# 2026-05-16 工作日志
|
||||
|
||||
## 站点管理前端页面迁移
|
||||
|
||||
### 新增文件
|
||||
1. **web/src/api/sites.ts** — 站点管理 API 客户端(list/get/create/update/remove/test/types/authTypes),对接后端 8 个端点
|
||||
2. **web/src/pages/SitesPage.tsx** — 完整站点管理页面(~400 行)
|
||||
- 站点卡片网格布局(响应式 1/2/3 列)
|
||||
- 添加/编辑弹窗(类型选择、认证方式、Cookie/API Key/Auth Header)
|
||||
- 馒头 M-Team 专用配置提示
|
||||
- 启用/停用开关、默认站点开关
|
||||
- 高级选项折叠面板(Extra JSON)
|
||||
- 测试连接(异步+loading 状态)
|
||||
- 删除确认
|
||||
- 空状态提示
|
||||
- 暗色主题风格
|
||||
|
||||
### 修改文件
|
||||
3. **web/src/types/index.ts** — 新增 Site、SiteTypeInfo、AuthTypeInfo 接口
|
||||
4. **web/src/App.tsx** — 新增 /sites 路由(RequireAdmin)和 lazy import
|
||||
5. **web/src/components/Layout.tsx** — 侧边栏管理区新增「站点管理」链接(Globe 图标)
|
||||
6. **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` 路由改为重定向到 `/admin`
|
||||
- `APIConfigsPanel.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)
|
||||
Reference in New Issue
Block a user