3.2 KiB
产品开发关键因素模块:第 2 步「技术与合规角度分析」设计
目标与范围
仅开发学生端 product-development-factors 任务的第 2 步,以及该步骤的服务端校验。第 1 步已完成的用户角度分析保持不变;教师端、管理员端、数据库表、材料下载与第 3 步的具体业务均不在本次范围内。
页面与交互
第 2 步标题为“技术与合规角度分析”,正文提示为“技术与合规角度分析,填写下表:”。页面沿用第 1 步的任务导航与深色学生端视觉,但表格内容严格对应原型,固定四列:维度、评估项、成功产品、失败产品。不显示产品名称输入框。
固定两行,顺序及评估项如下:
| 维度 | 评估项 |
|---|---|
| 技术应用 | 核心技术是否已成熟、可量产?避免使用实验室级原型(如未验证的 AI 模型) |
| 合规与认证 | 是否通过目标市场强制认证?目标市场要求的产品资质、检测报告等中国:CCC;美国:FCC;欧盟:CE;出口需符合 RoHS、REACH。是否规避专利与知识产权风险? |
每一行的成功产品、失败产品各提供一个多行分析输入框。四个分析内容去除首尾空白后均非空,点击“保存并进入第 3 步”才会推进。校验成功后使用 SAVE 保存,不触发任务总提交或成绩结算。
第 2 步以外不复用该表格:第 1 步保留其已完成页面;第 3 步尚未纳入本次开发时显示轻量待配置占位。若任务配置未包含第 3 步,保存成功并提示未配置下一步,停留在第 2 步。
数据与接口
第 2 步答案写入现有 StudentTrainingAnswer.step2Answer,不新增数据库表。保存 JSON 只包含两行分析:
{
"factors": [
{
"dimension": "技术应用",
"criteria": "核心技术是否已成熟、可量产?避免使用实验室级原型(如未验证的 AI 模型)",
"successAnalysis": "...",
"failedAnalysis": "..."
}
]
}
新增校验接口:POST /api/student-training-answers/product-development-factors/step-2/validate。
请求字段为 factors,每行拥有 dimension、successAnalysis、failedAnalysis。服务端仅允许已登录学生调用,且必须恰好提交一次“技术应用”和“合规与认证”,每行两列分析均为非空。成功返回 valid: true 与 message: "校验通过";不符合规则则返回可展示的错误消息。
前端恢复时按维度将 step1Answer 恢复到第 1 步、step2Answer 恢复到第 2 步;保存第 2 步后将 currentStep 写为 3,页面切换到 0 基索引 2。
测试与验收
- 页面第 2 步仅展示两行原型维度和四列表头,不显示产品名称字段。
- 四项分析填写完整时,先调用第 2 步校验接口,再以
saveAction: "SAVE"保存step2Answer,最后进入第 3 步;不出现SUBMIT。 - 空白分析、缺失/重复/伪造维度与非学生身份均被后端拒绝。
- 已保存的两步内容可以分别恢复,且刷新后恢复进度到第 3 步(若该步骤已配置)。
- 后端服务和控制器测试、前端静态契约测试与生产构建均通过。