Admin 设计文档¶
1. 技术栈¶
React 18 + Vite + React Router + Axios(adminHttpClient,baseURL=/api/admin)+ 项目内 UI 组件。
2. 目录分层¶
src/app/ # 入口、路由、Layout、AuthProvider、ProtectedRoute
src/features/ # 业务页面(禁止互相 import)
src/shared/api/ # adminHttpClient、billingApi、admin/* 域 API
src/shared/ # 组件、类型、样式
3. 鉴权流¶
sequenceDiagram
participant U as AdminUser
participant FE as AdminSPA
participant API as Backend_admin
U->>FE: 输入手机号
FE->>API: POST /api/admin/auth/send-sms
FE->>API: POST /api/admin/auth/login
API-->>FE: token + admin 信息
FE->>FE: localStorage 存 token
FE->>API: 后续请求 Bearer
ProtectedRoute:无 token/用户则重定向登录。
4. HTTP 约定¶
- 解包
{code,message,data};code≠200弹错误 - 上传使用 FormData;批量测试可用
fetch流式(见wordBatchTestStream.ts) - 禁止在组件内直接
axios/fetch(stream 例外登记在 shared)
5. 与 Backend 边界¶
Admin 只调用 /api/admin/*(及少数遗留 shared 中非 admin 路径若存在则应收敛)。字段级 Schema 以后端为准。
6. 参考旧文¶
现行路由与 API 以本目录 + 代码为准。