docs: specify product development factors step one

dev-QQq
chenyuan 3 weeks ago
parent 66cd95b13e
commit 491429de40

@ -0,0 +1,51 @@
# 产品开发关键因素模块:第 1 步「用户角度分析」设计
## 目标与范围
仅调整学生端 `product-development-factors` 任务的第 1 步,并提供该步骤的服务端校验。页面依据原型呈现固定分析表;教师端、管理员端、任务配置、数据库结构、材料下载和后续步骤内容均不在本次范围内。
## 页面与交互
第 1 步标题为“用户角度分析”,正文提示为“用户角度分析,填写下表:”。表格固定为四列:`维度`、`评估项`、`成功产品`、`失败产品`,不再提供成功产品或失败产品的名称输入框。
表格按原型固定三行,顺序及评估项如下:
| 维度 | 评估项 |
| --- | --- |
| 用户需求真实性 | 是否解决真实、高频、可付费的痛点,用户愿为该功能支付溢价,非“技术炫技”或“伪需求” |
| 产品体验闭环 | 操作是否无需说明书,“零学习成本”?是否操作简单、反馈明确、稳定性高 |
| 生态与兼容 | 是否能接入主流平台?是否支持 iOS/Android、HomeKit、米家、Alexa 等生态?是否支持第三方开发者扩展,提供 API 或 SDK鼓励生态共建 |
每一行的“成功产品”和“失败产品”各有一个多行输入框,学生填写对应分析。保存草稿不校验;“保存并进入第 2 步”会先校验六个输入框均为非空(去除首尾空白后判断),校验通过后以 `SAVE` 保存答案并将当前步骤推进至第 2 步,不触发任务总提交或成绩结算。
步骤切换后,第 1 步内容不应继续显示在第 2 步页签下。第 2 步尚未纳入本次开发时,显示轻量的待配置占位内容;若任务未配置第 2 步,则保存成功但提示当前任务尚未配置下一步并保持在第 1 步。
恢复已保存答案时,仅按上述三个维度恢复分析文本;历史的产品名称字段忽略。若保存记录的 `currentStep` 合法,页面恢复到相应步骤。
## 数据与接口
继续使用现有学生实训答案的 `step1Answer` 字段保存 JSON不新增数据库表。第 1 步保存内容为:
```json
{
"factors": [
{
"dimension": "用户需求真实性",
"successAnalysis": "...",
"failedAnalysis": "..."
}
]
}
```
新增校验接口:`POST /api/student-training-answers/product-development-factors/step-1/validate`。
接口仅允许学生角色调用,且请求必须恰好包含一次三个固定维度;每个维度的成功、失败分析均为非空。接口返回 `valid` 和可展示的 `message`。前端仅在接口校验通过后调用已有保存接口,保存参数使用 `saveAction: "SAVE"` 和推进后的 `currentStep`
## 验收与测试
- 页面只显示原型中的三行分析维度与四列表头,且不显示产品名称输入项。
- 六项分析填写完整时,可以保存并进入第 2 步;不会调用任务提交动作。
- 任意一项为空、维度缺失、重复或伪造时,服务端拒绝并提示。
- 非学生身份调用校验接口被拒绝。
- 前端构建和静态契约测试通过;后端服务测试与控制器测试通过。
Loading…
Cancel
Save