feat: 任务列表UI重构 + 分页器/登录错误/请求拦截修复
【任务列表 UI 重构】(TaskHistory.tsx)
- 列重新排序:任务ID(固定) → 创建时间 → 模型 → 输出类型 → 状态 → 提示词 → 时长 → 费用 → 供应商(隐藏) → 帧率/文件大小/标签/错误信息(隐藏) → 用户
- 斑马纹行样式 + hover 增强 + 选中行高亮 + 暗色主题适配
- 列可见性选择器(齿轮图标 Popover),持久化到 localStorage
- 视频时长通过 VideoUiParams.duration 计算,非视频显示 "-"
- 未知状态降级处理(resolveStatus → 显示原始 key)
- 分页器固定预留 48px,避免 >20 条时分页器溢出可视区
- 提示词搜索图标颜色用 CSS class 承载,避免 columns 依赖 token.colorPrimary 导致主题切换时 Table 重建
【分页器修复】(antd-theme.ts)
- Pagination 组件 token 添加 itemActiveColor: '#fff'
- 激活页码数字与 #6366F1 主题背景形成对比,亮色/暗色均可见
- 替代之前的 CSS !important hack
【登录错误信息修复】(request.ts)
- HTTP 401 拦截改为双重校验:status === 401 && data?.code === 401
- 仅业务码也为 401 时才走 token 刷新流程
- 其他业务码(如密码错误)透传后端 data.message,不再被 RefreshError 覆盖
【全局中文 locale】(ThemeProvider.tsx)
- ConfigProvider 添加 locale={zhCN},分页器显示"条/页"等中文
- 避免逐个 Table 设置不完整 locale 导致 Pagination Select 退化为 Input
【上下文稳定性】(HomeContent.tsx)
- contextValue 用 useMemo 包裹,避免每次 render 新建对象导致无关重渲染
- 配合 columns 依赖清理,减少主题切换时的级联更新
【其他】
- index.html CSP 策略增加 COS 域名白名单
- OutputTypeMap 枚举值修复为 image='图片', video='视频', audio='音频'
- TaskStatusMap STATUS_CONFIG 类型放宽为 Record<string,...> 兼容未知状态
- 移除 computeDuration,替换为 getVideoDuration + formatDuration
- LoginPage 移除未使用的 authState 依赖
This commit is contained in:
11
PROJECT.md
11
PROJECT.md
@@ -169,6 +169,10 @@
|
||||
|
||||
- 错误日志:request.ts 拦截器根据错误类型自动分级记录(AUTH_EXPIRED → debug,5xx → 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 类名。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user