Document student roster login requirement

This commit is contained in:
2026-07-07 18:40:21 +08:00
parent 84da551cbe
commit 4f11d8632c
6 changed files with 94 additions and 11 deletions

View File

@@ -12,8 +12,8 @@ P0 接口必须最先实现,即使先用 mock也要尽快跑通端到端流
| 接口 | 用途 | 备注 |
| --- | --- | --- |
| `POST /auth/sms/send` | 发送短信验证码 | 开发阶段 mock。 |
| `POST /auth/login` | 手机号验证码登录 | 首次登录自动创建用户。 |
| `POST /auth/sms/send` | 发送短信验证码 | 开发阶段 mock;手机号必须存在于学员名单。 |
| `POST /auth/login` | 手机号验证码登录 | 不再自动创建用户,只允许已存在且启用的学员登录。 |
| `POST /auth/logout` | 退出登录 | Token 立即失效。 |
| `GET /user/profile` | 当前用户信息 | 返回额度、已用次数、账号信息。 |
| `POST /chat/session` | 创建会话 | 用户提问前可自动创建。 |
@@ -47,7 +47,8 @@ P2 用于让管理员能配置和运营系统。
| `GET /admin/dashboard` | 首页统计 |
| `GET /admin/user/list` | 用户列表 |
| `GET /admin/user/{id}` | 用户详情 |
| `POST /admin/user` | 新增用户 |
| `POST /admin/user` | 手动新增学员 |
| `POST /admin/user/import` | 批量导入学员 |
| `PUT /admin/user` | 修改用户 |
| `DELETE /admin/user/{id}` | 删除用户 |
| `POST /admin/user/chat-limit` | 批量修改聊天次数 |

View File

@@ -16,6 +16,8 @@
| U-002 | 用户端直接使用 Vue 3不使用 uni-app。 | 已确认 | V2 用户端按 Vue 3 H5 开发;后续小程序转换单独评估,不作为一期技术栈前置约束。 |
| U-003 | V2 新需求不要继续混在旧项目文档里,要建立新目录和新开发记录。 | 已确认 | V2 文档和后续代码集中放在 `ai_knowledge_base_v2/` 下。 |
| U-004 | 每次代码改动和内容改动都要提交并推送到 Git。 | 已确认 | 文档、代码、配置变更都必须 commit + push。 |
| U-005 | 修改需求时必须先修改相关文档,再修改代码。 | 已确认 | 后续需求变更需要先落中文开发记录和范围/接口/决策文档,再进入实现。 |
| U-006 | 用户端登录改为学员名单准入。 | 已确认 | 不再自动创建普通用户;后台手动添加或批量导入的手机号才可以登录。 |
## 当前默认工程决策
@@ -45,6 +47,7 @@
| D-022 | 用户-知识库授权先放在用户管理中维护。 | 已废弃 | 2026-07-07 需求调整后,一期不再按人分配知识库,已开放知识库默认所有用户可见。 |
| D-023 | Agent 调试预览采用接近用户端聊天页的交互形态。 | 默认采用 | 测试问题从配置区移到预览窗口底部,减少调试和真实用户问答体验之间的差异。 |
| D-024 | 知识库访问范围改为“开放即全员可见”。 | 用户确认 | 知识库不再精确到用户授权;用户端问答只使用已开放、未禁用知识库,用户管理不再承担知识库授权职责。 |
| D-025 | 学员批量导入一期先支持 CSV 文本粘贴。 | 默认采用 | 避免先引入复杂 Excel 解析和上传组件;后续需要时再扩展 xlsx 上传。 |
## 待确认决策

View File

@@ -21,8 +21,8 @@
| 功能 | 一期要求 | 说明 |
| --- | --- | --- |
| 手机号验证码登录 | 必须 | 先接 mock 短信,后续替换真实短信供应商。 |
| 自动创建普通用户 | 必须 | 首次手机号登录后自动创建用户,无需管理员审核。 |
| 手机号验证码登录 | 必须 | 先接 mock 短信,后续替换真实短信供应商;手机号必须已存在于学员名单。 |
| 学员名单准入 | 必须 | 不再自动注册,只有管理员手动添加或批量导入的学员可以登录。 |
| Token 登录态 | 必须 | 支持登录有效期、退出后 Token 失效。 |
| AI 聊天 | 必须 | 文本输入、发送、接收 AI 回复。 |
| 多会话 | 必须 | 支持新建会话、切换会话、历史会话列表。 |
@@ -40,7 +40,7 @@
| --- | --- | --- |
| 管理员登录 | 必须 | 用户名 + 密码。 |
| Dashboard | 必须 | 展示用户、聊天、Token 等核心统计AI 成功率/失败率一期不展示。 |
| 用户管理 | 必须 | 查询、详情、启用/禁用、删除、设置额度和有效期。 |
| 用户管理 | 必须 | 查询、详情、手动添加学员、批量导入学员、启用/禁用、删除、设置额度和有效期。 |
| 管理员管理 | 必须 | 仅超级管理员可维护管理员账号。 |
| 知识库管理 | 必须 | 新增、编辑、删除、启用/禁用飞书知识库。 |
| Prompt 管理 | 必须 | 查看、编辑、保存、恢复默认;保存后立即生效。 |
@@ -96,10 +96,11 @@
## 一期验收重点
1. 用户可以完成登录、提问、流式回答、停止生成、查看历史。
1. 已在学员名单中的用户可以完成登录、提问、流式回答、停止生成、查看历史。
2. AI 只使用已开放的知识库,知识库禁用或未开放时不能参与检索。
3. 无知识命中时不编造答案。
4. 飞书异常、模型异常、AI 超时都有明确提示和日志。
5. 后台可以维护用户、知识库、Prompt、模型、系统配置和聊天记录。
6. 管理后台权限隔离生效:普通管理员不能维护管理员账号
7. 所有关键操作和 AI 请求都可追溯。
6. 未在学员名单中的手机号不能发送验证码,也不能登录使用系统
7. 管理后台权限隔离生效:普通管理员不能维护管理员账号。
8. 所有关键操作和 AI 请求都可追溯。

View File

@@ -0,0 +1,77 @@
# 学员名单准入与导入需求变更记录
日期2026-07-07
## 背景
此前用户端手机号验证码登录采用“首次登录自动创建普通用户”的口径。这种方式适合开放注册,但不适合当前内部学员使用场景。
现在需求调整为:系统必须先有学员记录,手机号才允许登录。没有被管理员添加或批量导入的手机号,不允许登录,也不能使用用户端程序。
## 新口径
1. 前台用户不再自动注册。
2. 管理员负责维护学员名单。
3. 管理员可以手动新增单个学员。
4. 管理员可以批量导入学员。
5. 发送验证码和登录时都应校验手机号是否存在于系统学员名单中。
6. 只有系统中存在、未删除、启用状态正常且未过期的手机号可以登录成功。
## 后台用户管理要求
### 手动添加学员
管理员至少需要填写:
- 手机号
- 姓名
可选维护:
- 昵称
- 状态
- 每日聊天额度
- 账号有效期
### 批量导入学员
一期先支持轻量导入格式:
```text
手机号,姓名,昵称
13800000001,张三,三三
13800000002,李四,
```
导入规则:
- 手机号必填且格式必须正确。
- 姓名必填。
- 昵称可为空。
- 已存在手机号不重复创建,按导入内容更新姓名、昵称、状态和额度。
- 已被软删除的手机号再次导入时恢复为未删除。
- 导入结果需要返回新增数、更新数、失败数和失败明细。
## 用户端登录要求
- 未在学员名单中的手机号:
- 发送验证码时拒绝。
- 登录时拒绝。
- 提示文案应明确为“手机号不在学员名单中,请联系管理员”。
- 已禁用或已过期的学员:
- 登录失败。
- 保持现有状态/有效期提示。
## 对现有文档的覆盖说明
旧文档中“首次手机号登录后自动创建用户”“自动创建普通用户”等描述从本次变更后废弃。
后续开发和验收以本记录以及更新后的 `development_records/` 文档为准。
## 验收重点
1. 管理员可以手动添加学员。
2. 管理员可以批量导入学员,并看到导入结果。
3. 已导入或手动添加的学员可以通过验证码登录。
4. 系统中不存在的手机号不能发送验证码,也不能登录。
5. 禁用或过期学员仍不能登录。

View File

@@ -38,4 +38,5 @@
| `2026-07-07-agent-management-adjustment.md` | Agent 管理与模型接入边界调整记录。 |
| `2026-07-07-admin-operations-completion.md` | 管理后台知识库、用户权限和 Agent 预览补齐记录。 |
| `2026-07-07-knowledge-open-access-change.md` | 知识库访问范围改为“开放即全员可见”的需求变更记录。 |
| `2026-07-07-student-roster-login-change.md` | 学员名单准入、手动添加和批量导入需求变更记录。 |
| `../test_records/2026-07-06-phase6-verification.md` | 阶段六验证记录。 |