docs: specify new product survey step three

dev-QQq
chenyuan 3 weeks ago
parent 714adac880
commit 24d57de578

@ -0,0 +1,41 @@
# 新产品调查与分析:第三步 AI 产品三层次分析
## 范围
仅调整学生端“新产品调查与分析”(`new-product-survey`)的第三步,以及支持该步骤提交校验的后端接口。保留前两步、案例资料下载、教师端、管理端和第四步既有行为。
## 页面与交互
第三步标题为“AI 产品三层次分析”。页面说明学生应基于第二步采集的真实数据,运用产品三层次理论进行深度分析。
页面使用三列表格:
1. 分析维度固定三行分别为核心层AI 技术解决的核心需求/功能)、有形层(外观/材质/参数/价格策略)、延伸层(软件升级/专属服务/社群运营)。
2. 实例AI 学习机:固定显示原型中的参考要点:核心层为“大模型作业批改、 自适应学习路径规划”;有形层为“护眼屏+铝合金机身、搭载 NPU 芯片、全平台统一定价 2999 元/直播间专属价 2699 元”延伸层为“终身免费题库更新、VIP 学科规划师 1 对 1、家长互助社群及资料共享微信群”。
3. 产品分析:针对学生在第二步选择的产品填写。表头显示第二步产品名称,未填写时显示“所选产品”。每行均为多行输入框,按换行录入要点。
核心层、有形层、延伸层各自至少需要两条非空要点。页面显示该行已填写的要点数量和“至少 2 条”的提示;不满足时保持当前页并显示可理解的错误信息。草稿保存不强制完成;点击“下一步”校验通过后保存并进入第四步。
## 数据与接口
第三步继续写入既有 `StudentTrainingAnswer.step3Answer`,采用以下 JSON 结构:
```json
{
"rows": [
{ "dimension": "核心层", "points": ["要点一", "要点二"] },
{ "dimension": "有形层", "points": ["要点一", "要点二"] },
{ "dimension": "延伸层", "points": ["要点一", "要点二"] }
]
}
```
前端输入仍以每行的多行文本编辑,保存时由换行规范化为 `points`;回填时将要点重新换行展示。对于此前版本保存的 `product1`、`product2`、`product3` 表格答案,页面只取其中第一个非空产品列并转换为当前行文本,保证已保存草稿可继续编辑。
后端新增仅学生可调用的 `POST /api/student-training-answers/new-product-survey/step-3/validate`。请求传入三行 `{ dimension, points }`。接口校验学生身份、三层次行标识完整且无重复、每行至少两条去空白后的要点、每条要点非空;校验成功返回 `{ valid: true, message: "校验通过" }`。该接口只校验填写完整度,不判定学生对其自主选择产品的分析内容是否正确,不新增答案表。
演示模式不调用后端,使用同样的本地校验规则;图片和第二步答案继续沿用既有会话存储与保存逻辑。
## 验证
后端测试覆盖合法三层分析、少于两条要点、维度缺失或重复、非学生权限和控制器调用。前端测试覆盖固定参考内容、产品名称回显、多行要点数量提示、步骤答案序列化与第 3 步校验调用;完成后执行全量后端测试、前端测试和 Vite 构建。
Loading…
Cancel
Save