Initial commit: 浼佷笟寰俊 AI 鏈哄櫒浜哄姪鐞?MVP
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
38
docs/stage3.md
Normal file
38
docs/stage3.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 阶段 3:管理后台闭环页面结构 + 后端占位 API
|
||||
|
||||
## 页面结构(Next.js 路由)
|
||||
|
||||
- **/dashboard**:总览占位(统计卡片:会话总数、工单总数、当前用户)
|
||||
- **/sessions**:会话列表(表格:ID、外部用户ID、昵称、状态、创建时间、操作)
|
||||
- **/sessions/[id]**:会话详情(消息列表 + 创建工单按钮 + 回复输入框占位)
|
||||
- **/tickets**:工单列表(表格:ID、会话、原因、状态、创建时间、操作)
|
||||
- **/kb**:知识库(上传拖拽区 + 文档列表表格)
|
||||
- **/settings**:模型/策略设置(表单:模型名称、FAQ 优先、启用 RAG)
|
||||
- **/users**:用户管理(仅管理员可见,表格 + 新建/删除)
|
||||
|
||||
## 后端 API(统一 code/data/message/trace_id,需 JWT)
|
||||
|
||||
- **GET /api/admin/sessions**:会话列表
|
||||
- **GET /api/admin/sessions/{id}**:会话详情(含消息列表)
|
||||
- **GET /api/admin/tickets**:工单列表
|
||||
- **POST /api/admin/tickets**:创建工单(body: session_id, reason)
|
||||
- **PATCH /api/admin/tickets/{id}**:更新工单(body: status, reason)
|
||||
- **GET /api/admin/kb/docs**:知识库文档列表
|
||||
- **POST /api/admin/kb/docs/upload**:上传文档(multipart/form-data)
|
||||
- **GET /api/admin/settings**:获取设置
|
||||
- **PATCH /api/admin/settings**:更新设置(body: model_name, strategy)
|
||||
- **GET /api/admin/users**:用户列表(仅管理员)
|
||||
- **POST /api/admin/users**:创建用户(仅管理员)
|
||||
- **PATCH /api/admin/users/{id}**:更新用户(仅管理员)
|
||||
- **DELETE /api/admin/users/{id}**:删除用户(仅管理员)
|
||||
|
||||
## 前端 API Client
|
||||
|
||||
- **admin/lib/api.ts**:统一封装 `adminApi<T>()`,自动带 Bearer token,返回 `ApiRes<T>`(code/data/message/trace_id)
|
||||
- 所有函数返回 `Promise<ApiRes<T>>`,401 时自动清除 token
|
||||
|
||||
## 验证
|
||||
|
||||
1. 登录后应看到顶部导航:总览 | 会话列表 | 工单列表 | 知识库 | 设置 | 用户管理
|
||||
2. 各页面应能正常加载并显示占位数据(表格、卡片、表单等)
|
||||
3. 用户管理页面:非管理员访问应提示「仅管理员可访问」;管理员可看到用户列表并可新建/删除
|
||||
Reference in New Issue
Block a user