添加需求文档

This commit is contained in:
2026-01-22 19:30:42 +08:00
parent 80dcb23bbc
commit b08a3988f7
3 changed files with 598 additions and 27 deletions

27
HELP.md
View File

@@ -1,27 +0,0 @@
# Getting Started
### Reference Documentation
For further reference, please consider the following sections:
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.10-SNAPSHOT/maven-plugin)
* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.10-SNAPSHOT/maven-plugin/build-image.html)
* [Spring Data JDBC](https://docs.spring.io/spring-boot/3.4.10-SNAPSHOT/reference/data/sql.html#data.sql.jdbc)
* [Spring Web](https://docs.spring.io/spring-boot/3.4.10-SNAPSHOT/reference/web/servlet.html)
### Guides
The following guides illustrate how to use some features concretely:
* [Using Spring Data JDBC](https://github.com/spring-projects/spring-data-examples/tree/master/jdbc/basics)
* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/)
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)
### Maven Parent overrides
Due to Maven's design, elements are inherited from the parent POM to the project POM.
While most of the inheritance is fine, it also inherits unwanted elements like `<license>` and `<developers>` from the parent.
To prevent this, the project POM contains empty overrides for these elements.
If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides.

332
docs/B端需求文档.md Normal file
View File

@@ -0,0 +1,332 @@
------
# 📘《AI 智能模拟面试系统》B 端管理后台PRD —— 完整版
------
# 0. 文档信息
| 项目 | 内容 |
| ------------ | ----------------------------------- |
| 产品名称 | AI 智能模拟面试系统B 端管理后台) |
| 文档版本 | v1.0 |
| 平台 | PC Web |
| 用户角色 | 超级管理员 / 内容运营 / 数据分析师 |
| 作者 | ChatGPT |
| 最后更新时间 | 2025.11 |
------
# 1. 产品定位
B 端用于支持 C 端内容与运维,包括:
- 题库管理
- 岗位管理
- 用户管理
- AI 模型管理
- 面试记录查看
- 内容配置banner、推荐
- 系统设置
- 数据分析与看板
------
# 2. B 端用户角色与权限
| 角色 | 权限 |
| ----------- | -------------------- |
| Super Admin | 全权限,含系统配置 |
| 内容管理员 | 岗位、题库管理 |
| 数据分析员 | 查看数据与记录 |
| 运营 | Banner、推荐内容配置 |
采用 **RBAC基于角色的权限控制**,权限点在后台可配置。
------
# 3. 功能需求(按模块)
------
# **3.1 管理员系统(权限体系)**
## 3.1.1 管理员账号管理
功能点:
- 新增管理员
- 编辑管理员
- 禁用账号
- 重置密码
- 设置角色
字段:
- 用户名
- 邮箱
- 角色
- 状态
- 创建时间
------
## 3.1.2 角色管理
- 创建角色
- 编辑角色
- 配置权限点checkbox
- 删除角色
------
## 3.1.3 权限点管理
权限点模块化:
| 模块 | 示例权限点 |
| -------- | ------------------ |
| 岗位管理 | 新增、编辑、删除 |
| 题库管理 | 新增题目、禁用题目 |
| 用户管理 | 查看用户、禁用用户 |
| 面试管理 | 查看所有面试记录 |
| 系统设置 | 配置 OSS、模型参数 |
------
# **3.2 岗位管理模块**
## 3.2.1 岗位列表
展示字段:
- 岗位名
- 技能标签
- 难度
- 使用次数
- 状态
## 3.2.2 岗位维护
可以:
- 新增岗位
- 编辑岗位
- 删除 / 禁用岗位
- 配置技能标签(多个)
- 配置难度15
------
# **3.3 题库管理模块**
## 3.3.1 题目列表
展示:
- 题目内容(前 30 字)
- 所属岗位
- 难度
- 类型(开放题、多选题等)
- 使用次数
- 创建人
- 状态(有效/无效)
## 3.3.2 新增题目
字段:
- 问题内容(文本)
- 示例答案
- 难度
- 标签(可多选)
- 所属岗位
- question_typeopen / case / multiple
支持「AI 自动生成题目」。
## 3.3.3 批量导入
Excel 模板字段:
- 问题内容
- 答案
- 岗位
- 标签
- 难度
------
# **3.4 面试记录管理模块**
## 3.4.1 面试记录列表
字段:
- 面试 ID
- 用户
- 岗位
- 得分
- 面试模式
- 创建时间
支持筛选:
- 按日期
- 按岗位
- 按用户
- 分数段
## 3.4.2 面试详情
可查看:
- 完整问答(题目、用户回答)
- 音频回放
- AI 评分
- AI 点评
- 报告内容
------
# **3.5 用户管理模块**
## 3.5.1 用户列表
字段:
- 用户 ID
- 手机号/微信身份
- 注册时间
- 最近活跃时间
- 状态(正常/封禁)
## 3.5.2 用户详情
包含:
- 基本信息
- 简历解析内容
- 面试记录
- 行为数据(使用次数、平均分)
可执行操作:
- 封禁用户
- 清空数据(仅开发可见开关)
------
# **3.6 内容配置模块**
## 3.6.1 Banner 配置
- 上传图片
- 配置跳转链接
- 配置排序
- 设置上线/下线
## 3.6.2 推荐内容
- 推荐岗位排列
- 推荐题目列表
------
# **3.7 系统设置模块**
## 3.7.1 小程序配置
- AppID
- Secret
## 3.7.2 OSS/存储配置
- AccessKey
- Secret
- Bucket 名称
## 3.7.3 鉴权与 Token
- Token 有效期配置
- 登录限制
## 3.7.4 模型配置(关键)
- 当前使用模型(例如 GPT、Qwen
- 模型版本号
- 评分模型权重(逻辑 / 表达 / 深度 / 专业)
- 灰度开关
------
# **3.8 数据分析模块Dashboard**
## 3.8.1 总览数据
- 今日新增用户
- 今日面试次数
- 总注册数
- 总面试数
## 3.8.2 趋势图
- 最近 30 天用户增长
- 最近 30 天面试次数
- 平均分趋势
## 3.8.3 岗位热度
- 岗位使用次数
- 平均得分
## 3.8.4 模型数据
- 模型调用成功率
- 评分稳定性分析
------
# 4. 页面的 IA信息架构
```
登录页
首页Dashboard
├─ 数据总览
├─ 趋势图
岗位管理
├─ 岗位列表
├─ 新建岗位
题库管理
├─ 题目列表
├─ 新建题目
├─ 批量导入
用户管理
├─ 用户列表
├─ 用户详情
面试管理
├─ 面试记录
├─ 面试详情
内容配置
├─ Banner
├─ 推荐岗位
系统设置
├─ 小程序设置
├─ 文件存储设置
├─ 模型设置
权限管理
├─ 管理员
├─ 角色
├─ 权限点
```
------
# 5. 非功能性要求B 端)
- 管理后台响应 < 300ms
- 并发支持 1000+
- 日志必须记录所有管理员操作
- 敏感操作需二次确认
- 文件需防盗链

266
docs/C端需求文档.md Normal file
View File

@@ -0,0 +1,266 @@
------
# 📘《AI 智能模拟面试系统》C 端用户端PRD —— 完整版
------
# 0. 文档信息
| 项目 | 内容 |
| ------------ | ------------------------------ |
| 产品名称 | AI 智能模拟面试系统C 端) |
| 文档版本 | v1.0 |
| 支持平台 | PC 网页、Mobile H5、微信小程序 |
| 使用人群 | 求职者,学生,工作者 |
| 作者 | ChatGPT产品经理角色 |
| 最后更新时间 | 2025.11 |
------
# 1. 产品概述
用户通过 C 端可进行:
- AI 模拟面试
- 模拟面试评分与复盘
- 岗位选择与题库练习
- 个人资料与简历管理
- 学习提升
C 端目标是帮助用户低成本、高效率提升面试能力。
------
# 2. 用户场景与核心价值
## 场景
1. 求职前需要练习面试,但没有面试官
2. 希望通过真实演练了解自身弱点
3. 想知道针对某岗位常见问题
4. 想收到专业点评和改进建议
5. 想通过复盘持续提升表达能力与专业度
## 核心价值
- 用 AI 快速模拟真实面试
- 获得专业化、结构化的评分评估
- 提供收敛的复盘内容与提升建议
- 实现个性化岗位匹配与题目推荐
------
# 3. 角色 & 权限
| 角色 | 权限 |
| -------- | ---------------------------------------- |
| 普通用户 | 注册、登录、创建面试、查看报告、编辑简历 |
| 游客 | 浏览岗位、部分题库、引导注册 |
------
# 4. 功能需求(按模块)
------
## 4.1 账号系统
### 4.1.1 登录注册
| 功能 | 说明 |
| ------------------ | -------------------------- |
| 手机号验证码登录 | 支持短信验证 |
| 微信登录(小程序) | 自动拉取头像昵称 |
| 邮箱/密码登录 | 可选开关 |
| Token 机制 | AccessToken + RefreshToken |
**错误提示:**
- 验证码不正确
- 手机格式错误
- 微信登录失败
------
## 4.2 用户中心
### 4.2.1 基本资料
用户可编辑:
| 字段 | 限制 |
| -------- | ------ |
| 头像 | ≤5MB |
| 昵称 | ≤20 字 |
| 技能标签 | ≤10 |
| 工作年限 | 020+ |
| 当前职位 | ≤50 字 |
### 4.2.2 简历管理
| 功能 | 描述 |
| ------------ | ---------------------- |
| 上传简历 | PDF/DOC ≤10MB |
| 自动解析 | 解析技能 → 项目 → 亮点 |
| 编辑解析结果 | 可调整 |
| 删除简历 | 支持 |
------
## 4.3 岗位模块
### 4.3.1 岗位列表
功能点:
- 按关键词搜索
- 筛选(技能标签、难度)
- 岗位推荐(基于用户简历)
- 按热度排序
### 4.3.2 岗位详情
包含:
- 岗位描述
- 技能要求
- 常见题型展示
- 推荐学习路径
- 「开始模拟面试」按钮
------
## 4.4 模拟面试(主流程)
### 4.4.1 创建面试
用户选择:
- 岗位
- 模式(文本 / 语音)
- 题量5/8/10
进入面试准备界面(提示麦克风权限)。
------
### 4.4.2 面试进行中
| 功能 | 描述 |
| -------- | ------------------------------ |
| AI 提问 | 每题 1 个主问题,可 12 个追问 |
| 文本回答 | 输入框 |
| 语音回答 | 录音上传ASR 转写 |
| 进度条 | x / N 题 |
| 跳过功能 | 可跳过 1 次 |
| 中断 | 用户主动退出或异常断开 |
### 界面区块
- 左侧:问题内容
- 中间:答题区
- 下方:进度 & 操作按钮
------
## 4.5 面试结果与复盘
### 4.5.1 面试列表
字段:
- 总分
- 岗位
- 时间
- 面试模式
- 标签(优秀、一般、需提升)
### 4.5.2 面试详情
展示:
- 每题内容与用户原回答
- 文本/音频回放
- 评分维度(逻辑、表达、深度、专业)
- AI 点评
------
### 4.5.3 复盘报告(核心)
报告包含以下结构:
| 模块 | 内容 |
| ------------ | ---------- |
| 综合评分 | 010 |
| 综合评语 | 200300 字 |
| 优势总结 | 35 条 |
| 待改进点 | 35 条 |
| 行为建议 | 37 条 |
| 推荐学习方向 | 动态生成 |
支持下载 / 分享卡片(图像形式)。
------
## 4.6 学习中心
内容:
- 岗位相关题库
- 常见行为面试题STAR 法则)
- 面试技巧教程
- 视频/图文内容(可选)
------
## 4.7 通用功能
### 4.7.1 文件上传
- 支持音频上传WAV/MP3
- 支持头像、简历、图片上传
### 4.7.2 消息中心
- 面试报告生成通知
- 系统公告
### 4.7.3 设置
- 修改手机号
- 注销账号
------
# 5. 页面结构(信息架构 IA
```
首页
├─ 推荐岗位
├─ 开始面试
用户中心
├─ 基本资料
├─ 简历管理
岗位
├─ 岗位列表
├─ 岗位详情
模拟面试
├─ 创建面试
├─ 面试问答页
面试记录
├─ 面试列表
├─ 面试详情
└─ 复盘报告
学习中心
├─ 题库练习
├─ 面试技巧
```
------
# 6. 非功能性要求C 端)
- 面试响应 ≤ 200ms
- 报告生成 ≤ 10 秒
- 音频上传失败重试机制