feat: 任务列表UI重构 + 分页器/登录错误/请求拦截修复

【任务列表 UI 重构】(TaskHistory.tsx)
  - 列重新排序、斑马纹/hover/选中样式、暗色主题适配
  - 列可见性选择器(齿轮图标),localStorage 持久化
  - 未知状态降级、视频时长从 ui_params.duration 计算
  - 分页器固定预留 48px

  【分页器修复】(antd-theme.ts)
  - Pagination 添加 itemActiveColor: '#fff',激活页码始终可见

  【登录错误信息修复】(request.ts)
  - HTTP 401 双重校验:status === 401 && data?.code === 401
  - 仅业务码 401 才走 token 刷新;其他业务码透传后端 message

  【全局中文】(ThemeProvider.tsx)
  - ConfigProvider locale={zhCN},分页器"条/页"等全局生效

  【上下文稳定性】(HomeContent.tsx)
  - contextValue useMemo 包裹

  【其他】
  - CSP 策略 COS 域名白名单
  - OutputTypeMap 枚举值修正
  - PROJECT.md 补充 401 判断策略和主题配置说明
This commit is contained in:
2026-06-05 20:48:02 +08:00
parent af85d31035
commit 0d3d4fcd6a
8 changed files with 346 additions and 119 deletions

View File

@@ -169,6 +169,10 @@
- 错误日志request.ts 拦截器根据错误类型自动分级记录AUTH_EXPIRED → debug5xx → error其余 → warn
- 401 判断策略HTTP 401 拦截处双重校验——同时检查 HTTP 状态码和响应体中的业务码 `data.code`
`status === 401 && data?.code === 401` 才走 token 刷新流程;其他业务码(如密码错误)穿透到正常错误处理,
透传后端的 `data.message`。这确保登录接口返回的"账号或密码错误"不被 RefreshError("登录已过期") 覆盖。
- 脱敏shared/utils/sanitize.ts 在日志写入前自动处理 ID哈希、邮箱/手机/名称/Token 等字段。
# 样式与主题
@@ -176,8 +180,11 @@
- 优先使用 Tailwind 工具类 完成布局与常规样式,自定义设计令牌应映射为 Tailwind 扩展(在 tailwind.config.ts 中配置
theme.extend
- Ant Design 组件样式通过 ConfigProvider 的 theme 属性覆盖,确保与 Tailwind 主题令牌同步。在 src/theme/adapters/ 中创建
antd-theme.ts导出主题配置对象引用 tokens.ts 中的设计变量
- Ant Design 组件样式通过 ConfigProvider 的 theme 属性覆盖,确保与 Tailwind 主题令牌同步。
`ConfigProvider` 同时配置 `locale={zhCN}` 实现全局中文(分页器"条/页"等无需逐个组件设置)
在 src/theme/ 中创建 antd-theme.ts导出主题配置对象引用 tokens.ts 中的设计变量。
组件级 token如 Pagination.itemActiveColor / itemActiveBg在 sharedComponents 中统一管理,
亮色/暗色主题共享,避免 CSS !important hack。
- 禁止在组件中硬编码颜色、字号等设计令牌,一律使用主题变量或 Tailwind 类名。