diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index 05a30c0..81238b7 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -447,3 +447,29 @@ export function checkProductValuePositioningStepOne(payload) { headers: { repeatSubmit: false }, }); } + +export function checkProductValuePositioningStepTwo(payload) { + const customerProfile = payload?.customerProfile || {}; + const valueMap = payload?.valueMap || {}; + if (isStudentDemo()) { + const requiredValues = [ + customerProfile.jobs, customerProfile.pains, customerProfile.gains, + valueMap.products, valueMap.painRelievers, valueMap.gainCreators, + payload?.canvasUrl, + ]; + const valid = requiredValues.every((item) => Boolean(String(item || "").trim())); + return Promise.resolve({ + code: 200, + data: { + valid, + message: valid ? "价值主张画布填写完整。" : "请完整填写用户档案、产品价值地图并上传产品价值主张画布。", + }, + }); + } + return request({ + url: "/api/student-training-answers/product-value-positioning/step-2/validate", + method: "post", + data: payload, + headers: { repeatSubmit: false }, + }); +} diff --git a/src/views/product/differentiation.vue b/src/views/product/differentiation.vue index 5d1b690..feb1ece 100644 --- a/src/views/product/differentiation.vue +++ b/src/views/product/differentiation.vue @@ -82,20 +82,64 @@
| 维度 | 说明 | 内容 |
|---|---|---|
| 用户目标(Jobs) | 用户在相关场景中试图完成的任务 | |
| 痛点(Pains) | 用户遇到的障碍、风险和负面体验 | |
| 收益期望(Gains) | 用户期望的结果和额外收益 |
| 维度 | 说明 | 内容 |
|---|---|---|
| 产品与服务 | 我们提供给用户的产品和服务清单 | |
| 痛点缓释器(Pain Relievers) | 产品如何消除或缓解用户痛点 | |
| 增益创造器(Gain Creators) | 产品如何创造额外价值和惊喜体验 |
检查“产品价值地图”与“用户档案”是否实现匹配(Fit):每个痛点应有对应的痛点缓释器,每个收益期望应有对应的增益创造器。根据上表绘制产品价值主张画布。
+ +推荐工具及方法如下,自行选择:
+1. 下载模板,填写用户档案及产品价值地图,完成产品价值主张画布。
+ +2. 导出用户档案和价值主张地图两张表,使用通用 AI 大模型辅助生成画布。
+