feat: 业务错误Modal引导体系 + 左侧栏UI增强 (0.0.25)

业务错误 Modal 引导:
- HTTP 402+code 1001 → 余额不足Modal → 引导去充值
- HTTP 403+code 4040 → 软件到期Modal → 引导购买VIP
- BusinessErrorEvent 事件总线类型,双条件精确匹配避免误拦截
- RequestError.displayed 标记抑制重复 toast

左侧栏 UI:
- 模型列表 emoji 渲染 (ui_config.badge / meta_config.icon)
- 标题栏色条加深 (borderLeft + colorFillSecondary + 图标染色)
- 任务列表分页器固定底部 + 水平滚动条固定
- 统一 ::-webkit-scrollbar 样式 (暗/亮双套)
- 表头取消加粗 + 模型/任务列表间距
This commit is contained in:
2026-06-22 17:01:09 +08:00
parent 8b697e775d
commit dd8f84ae27
9 changed files with 269 additions and 65 deletions

View File

@@ -1,6 +1,29 @@
# 更新日志
> 每次发版前修改此文件,`npm run build:win` 打包后会自动读取生成 update-info.json。
---
## 0.0.252026-06-22
**业务错误 Modal 引导 + 左侧栏 UI 增强**
### 业务错误 Modal 引导体系
- **HTTP 402 + code 1001 → 余额不足 Modal**`request.ts` 拦截器双条件精确匹配,`App.tsx` 弹 Modal 引导"去充值"
- **HTTP 403 + code 4040 → 软件到期 Modal**:拦截 403+4040弹 Modal 引导"去购买 VIP"
- **`BusinessErrorEvent` 事件总线类型**:标准化 `{ code, message }` 负载,新增 `BALANCE_INSUFFICIENT``SUBSCRIPTION_EXPIRED` 事件
- **`RequestError.displayed` 标记**Modal 已展示的错误标记 `displayed=true``ModelInputForm.doSubmit` 读取标记跳过 `message.error` 重复 toast
- **防御性兜底**HTTP 200 + code 1001 也入拦截器(兼容后端行为变体)
### 左侧栏 UI 增强
- **模型列表 emoji 渲染**:从后端 `ui_config.badge` / `meta_config.icon` 提取 emoji 显示在模型名称前
- **标题栏色条加深**:模型选择器 + 任务记录标题栏加 `borderLeft: 3px` 色条 + `colorFillSecondary` 背景 + 图标染色
- **任务列表分页器固定**`Pagination` 独立到表格外部,`pagination={false}` on Table分页器始终固定在底部
- **水平滚动条固定**:独立 `div` + 双向 `scroll` 事件同步 + MutationObserver不随垂直滚动移动
- **统一滚动条样式**`::-webkit-scrollbar` 暗色/亮色双套,纵向 6px、横向 6px风格统一
- **表头取消加粗**`.ant-table-thead > tr > th { font-weight: normal }`
- **模型列表与任务列表间距**`paddingBottom: 4` / `paddingTop: 4`
---
## 0.0.242026-06-22