From 8d17352139ed1c8d30d92288f447fed81d0991f9 Mon Sep 17 00:00:00 2001 From: chenyuan Date: Tue, 11 Aug 2026 17:59:26 +0800 Subject: [PATCH] feat: add target user rfm insights --- src/api/studentTrainingAnswer.js | 19 ++++ src/views/demand/people.vue | 149 ++++++++++++++++++++++++++----- 2 files changed, 146 insertions(+), 22 deletions(-) diff --git a/src/api/studentTrainingAnswer.js b/src/api/studentTrainingAnswer.js index bebac14..b4643eb 100644 --- a/src/api/studentTrainingAnswer.js +++ b/src/api/studentTrainingAnswer.js @@ -375,3 +375,22 @@ export function checkTargetUserProfileStepTwo(payload) { headers: { repeatSubmit: false }, }); } + +export function checkTargetUserProfileStepThree(payload) { + const insights = Array.isArray(payload?.insights) ? payload.insights : []; + const expectedDimensions = ["高价值用户占比", "用户活跃度", "消费能力", "用户忠诚度", "重点客户群特征"]; + if (isStudentDemo()) { + const dimensions = new Set(insights.map((item) => item?.dimension)); + const incomplete = insights.find((item) => !String(item?.analysis || "").trim()); + if (insights.length !== expectedDimensions.length || expectedDimensions.some((dimension) => !dimensions.has(dimension)) || incomplete) { + return Promise.reject(new Error("请完成五个 RFM 用户群体特点分析维度")); + } + return Promise.resolve({ code: 200, data: { valid: true, message: "校验通过" } }); + } + return request({ + url: "/api/student-training-answers/target-user-profile/step-3/validate", + method: "post", + data: { insights }, + headers: { repeatSubmit: false }, + }); +} diff --git a/src/views/demand/people.vue b/src/views/demand/people.vue index 659dfd9..1e06035 100644 --- a/src/views/demand/people.vue +++ b/src/views/demand/people.vue @@ -131,32 +131,27 @@
-
-

用户细分与市场选择。结合上述分析,进一步细分市场,寻找产品开发机会,填写下表。

-

(1)确定细分变量和细分市场,往往采用多变量组合进行市场细分。

-

(2)评估每个细分市场的吸引力,可以不用细分用户的行为和需求痛点分析市场的吸引力。

-

(3)选择目标细分市场,每个目标细分市场定位。

-
+

请根据数据可视化结果,分析用户群体特点:

-
- +
+
- - - + + + - - -
细分市场客户分析产品机会分析维度分析要点你的分析
- - -