From 509c5ae7527229dc50ae442dd8912396cefd51ed Mon Sep 17 00:00:00 2001 From: chenyuan Date: Fri, 7 Aug 2026 14:34:53 +0800 Subject: [PATCH] docs: specify product development factors step two --- ...roduct-development-factors-step2-design.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/superpowers/specs/2026-08-07-product-development-factors-step2-design.md diff --git a/docs/superpowers/specs/2026-08-07-product-development-factors-step2-design.md b/docs/superpowers/specs/2026-08-07-product-development-factors-step2-design.md new file mode 100644 index 0000000..01a3483 --- /dev/null +++ b/docs/superpowers/specs/2026-08-07-product-development-factors-step2-design.md @@ -0,0 +1,51 @@ +# 产品开发关键因素模块:第 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 只包含两行分析: + +```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 步(若该步骤已配置)。 +- 后端服务和控制器测试、前端静态契约测试与生产构建均通过。