server: 平台抽象层+bilibili、服务端加密凭据库、角色中间件;web: 精简页面/路由、macOS 客户端(Swift)与多份方案文档;移除误入库的编译产物
This commit is contained in:
+12
-12
@@ -1,6 +1,6 @@
|
||||
# 前端开发指南(TDesign starter 深度说明)
|
||||
# 前端开发指南(Web-only V1)
|
||||
|
||||
> 2026-08-20 · 基于 apps/web 实际代码(starter 0.3.1)· 配套 docs/page-wireframes.md 使用。
|
||||
> 2026-08-21 · 基于 apps/web 实际代码。客户端/Agent 页面不属于当前菜单和验收。
|
||||
|
||||
## 1. 模板事实清单(实测)
|
||||
|
||||
@@ -17,27 +17,27 @@
|
||||
|
||||
- **路由即菜单**:src/router/modules/ 每个 .ts 一个顶级菜单;meta{title, Icon, hidden, single};children 即子菜单;isFullPage=true 为全屏页(登录页)。
|
||||
- **布局**:src/layouts/components/ AppLayout(整体) + Header + Menu + Footer + Page;新页面只需加路由+页面文件。
|
||||
- **接口**:src/services 为 axios 封装示例;把 src/configs/host.ts 的 development.API 指向 Go 服务器(如 http://localhost:8080)。
|
||||
- **状态**:Redux Toolkit(modules/user 存登录态);实时状态用原生 WebSocket(/ws,JWT 鉴权),事件 task.*/challenge.*/notification.*。
|
||||
- **接口**:src/services 为 axios 封装示例;开发期使用 Vite `/api` 代理到 Go `127.0.0.1:8090`,网页默认访问 `127.0.0.1:3013`。
|
||||
- **状态**:Redux Toolkit(modules/user 存登录态);实时状态用原生 WebSocket(/ws/browser,JWT 鉴权),事件 task.*/challenge.*/notification.*。
|
||||
- **mock 移除**:删除 mock 目录与 vite-plugin-mock 使用,全部走真实 API。
|
||||
|
||||
## 3. 组件清单与场景映射
|
||||
|
||||
| TDesign 组件 | 适用场景 | 本项目页面 |
|
||||
|---|---|---|
|
||||
| Table + Tag + Pagination + Popconfirm | 数据列表/状态/二次确认 | 任务列表/素材/账号台账/成员/审计/租户/Agent总览 |
|
||||
| Table + Tag + Pagination + Popconfirm | 数据列表/状态/二次确认 | 任务列表/素材/账号台账/成员/审计/租户 |
|
||||
| Form + Input + Textarea + Select + Checkbox + Radio + Switch | 表单 | 登录/新建发布/设置/成员邀请 |
|
||||
| Steps | 分步向导 | 新建发布四步 |
|
||||
| DatePicker / DateRangePicker | 时间选择 | 定时发布/筛选 |
|
||||
| Calendar | 月历 | 排期日历(若 1.15 无此组件则用卡片网格自绘,需 D6 前验证) |
|
||||
| Upload + Progress + ImageViewer | 上传/预览 | 素材库 |
|
||||
| Dialog | 模态弹窗 | 绑定扫码/验证码输入/邀请 |
|
||||
| Dialog | 模态弹窗 | 网页扫码/验证码输入/邀请 |
|
||||
| Drawer | 侧滑详情 | 任务详情/审核预览 |
|
||||
| Timeline | 时间线 | 任务事件流 |
|
||||
| Badge + Tag | 状态角标 | 绑定状态/任务状态/通知 |
|
||||
| Message + Notification + Loading + Skeleton | 全局反馈 | 全站 |
|
||||
| Tabs | 分栏 | 审核分平台预览/设置子页 |
|
||||
| 二维码 | TDesign 无此组件 | 唯一新增依赖:qrcode.react(token 本地渲染) |
|
||||
| 二维码 | TDesign QRCode | QR URL/token 本地渲染;真实扫码状态由 Browser WS/REST 更新 |
|
||||
|
||||
## 4. 过渡效果说明(结论:本期不做页面动画)
|
||||
|
||||
@@ -56,17 +56,17 @@
|
||||
| 新建发布 | pages/Form/Step | 四步:素材→平台账号→内容→定时提交 |
|
||||
| 任务详情 | pages/Detail/Base → Drawer 化 | Timeline 事件流 + 回执截图 |
|
||||
| 审核中心 | pages/List/Base + Drawer | 预览用 Tabs 分平台 |
|
||||
| 设置 | pages/Form/Base + Tabs | 资料/安全/通知渠道/Agent设备 |
|
||||
| admin 两页 | pages/List/Base | /admin 路由域 + 角色守卫 |
|
||||
| 设置 | pages/Form/Base + Tabs | 资料/安全(密码修改)/站内通知 |
|
||||
| admin | pages/List/Base | /admin 路由域 + 角色守卫 |
|
||||
|
||||
## 6. 菜单与路由改造清单(D1 完成)
|
||||
|
||||
- router/modules 改为:dashboard(工作台)、publish(发布管理: 任务列表/新建发布/排期日历)、material(素材库)、account(账号管理)、review(审核中心)、challenge(通知与挑战)、member(成员与权限)、setting(设置)、audit(审计日志)、admin(平台管理域)。
|
||||
- router/modules 改为:dashboard(工作台)、publish(发布管理: 任务列表/新建发布/排期日历)、material(素材库)、account(账号管理)、review(审核中心)、challenge(通知与挑战)、notification(站内通知)、member(成员与权限)、setting(工作区资料/安全)、audit(审计日志)、admin(平台管理域)。
|
||||
- 任务详情为 hidden 路由(不进菜单)。
|
||||
- 权限:utils 增 auth.ts(角色→菜单过滤 + 路由守卫),角色:admin/reviewer/operator/platform_admin。
|
||||
|
||||
## 7. 前后端联调约定
|
||||
|
||||
- REST:/api/*,Header Authorization: Bearer <JWT>;401 自动 refresh 重试一次。
|
||||
- WS:原生 WebSocket,连接 /ws?token=<JWT>;心跳由服务端协议统一(10s/25s)。
|
||||
- REST:/api/v1/*,Header Authorization: Bearer <JWT>;401 自动 refresh 重试一次。
|
||||
- WS:原生 Browser WebSocket,连接 /ws/browser?token=<JWT>;断线时 REST 轮询兜底。
|
||||
- 分页约定:{ list, total, page, pageSize };错误码约定:业务码 + message,前端 Message 提示。
|
||||
|
||||
Reference in New Issue
Block a user