跳转至

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 以本目录 + 代码为准。