README.md 7.8 KB

Saas VOC

基于现有 msq-voc-web 前端框架打包出的国内电商 VOC 通用模板,首个案例为德玛仕京东商品。项目保留原系统的 Angular App Shell、顶部搜索、侧边导航、共享组件、VOC 页面结构和 ECharts 能力,只替换最小闭环所需的数据入口与国内商品语义。

当前状态(2026-07-23):国内 VOC 前端框架已经收口。原项目 App Shell、共享组件体系、经营分析、市场与竞品、VOC 监测、退款分析、新品开发、生命周期复盘和行动建议均已安全迁入;已启用页面统一使用国内商品语义和真实数据状态。

迁入基线

  • 来源仓库:E:\workspace\msq-voc-web
  • 固定来源提交:9326c20
  • 迁入方式:从固定 Git 提交提取,不复制来源仓库未提交的本地修改
  • 目标仓库:https://git.fmode.cn/18307996893/Saas-voc.git
  • 目标仓库不会连接或写入原跨境系统线上数据库

当前启用路由:

  • /domestic/overview:国内经营概览、核心指标、经营趋势、类目贡献和成交商品
  • /domestic/product:单商品经营详情、流量转化、退款表现和商品档案
  • /domestic/categories:二级/三级类目经营对比
  • /domestic/competitors:竞品关系、映射覆盖率、搜索和本品跳转
  • /domestic/voc-overview:VOC 核心指标、情绪健康度、问题与热词总览
  • /domestic/category-voc:类目 VOC 四象限、下钻维度与诊断摘要
  • /domestic/risk-alerts:商品风险、场景化投诉与异常激增预警框架
  • /domestic/voc-trend:VOC 数据就绪状态与经营背景趋势
  • /domestic/emotion:情绪极性分布框架;无评论时展示真实空态
  • /domestic/store-monitoring:店铺经营、类目结构和退款表现
  • /voc-insight/products:德玛仕商品列表、搜索、排序和商品选择
  • /voc-insight/detail?productId=11266507445:复用原商品详情框架的国内 VOC 详情、评论空状态、经营建议和趋势
  • /voc-insight/voice:用户声音分类;无评论时展示真实空状态
  • /voc-insight/pain-point:痛点深度洞察
  • /voc-insight/feature:功能满足度
  • /voc-insight/scenario:使用场景
  • /return-analysis/overview|attribution|correlation:退款概况、归因和特征关联三层框架
  • /product-development/trend|requirement|competitor-benchmark|product-definition|lifecycle:新品开发五环节
  • /action-suggestion/kanban|experience|iteration|strategy:行动建议四页
  • /data-status:导入结果、待接依赖和数据质量问题

/login 保留为独立 Parse 应用接入后的入口,但当前路由未启用 AuthGuard

最小闭环

当前可以完成:

  1. 加载德玛仕 Excel 的规范化结果。
  2. 展示 2,817 个有经营数据的商品。
  3. 查看经营概览、商品经营详情、二级/三级类目分析和竞品关系。
  4. 按商品 ID、型号或名称搜索并选择商品,进入复用原系统布局的商品 VOC 详情。
  5. 在商品 VOC 详情、经营详情、竞品关系和深度洞察页面之间保持商品上下文。
  6. 对当前真实的 0 条评论展示空状态,不伪造情绪、痛点或分析结果。
  7. 查看 VOC 趋势总览、类目 VOC 和风险预警的完整页面结构与真实空状态。
  8. 查看退款汇总、高退款商品和等待订单级原因的归因/关联空态。
  9. 查看趋势、需求、竞品、产品定义和生命周期五个新品开发环节。
  10. 查看基于真实经营规则的行动建议,并与等待评论证据的体验建议分开。
  11. 查看导入统计和数据质量问题。

德玛仕数据摘要:

  • 日指标记录:9,717 条
  • 经营商品:2,817 个
  • 竞品关系:40 条
  • 唯一竞品商品:37 个
  • 评论正文:0 条
  • 指标日期:2026-07-14 至 2026-07-20

源文件:

E:\xwechat_files\wxid_ay08t6ugo2h922_df4f\msg\file\2026-07\德玛仕产品及竟品收集0721.xlsx

规范化结果位于 src/assets/data/demashi-summary.json

复用策略

国内商品的标准身份是 platform + productId,唯一键为 platform:productId。原框架大量组件使用 asin 表示商品唯一字符串,为控制首版改动量,适配层暂时提供 asin = productId

  • 页面统一显示“商品ID”,不显示 ASIN。
  • 国内平台商品 ID 始终按字符串保存。
  • 新增领域模型使用 platformproductIdproductKey
  • asin 只作为复用原组件的兼容字段,后续再逐步移除。

环境隔离

浏览器默认只访问同源地址:

  • Parse:/parse
  • 国内电商中转:/api/voc-e-commerce
  • 国内 VOC 后端:/api/domestic-voc
  • 德玛仕本地数据:/assets/data/demashi-summary.json

运行时配置定义在 src/runtime-config.jssrc/app/core/config/runtime-config.ts。开发环境默认使用 api 模式并通过 /api/domestic-voc 读取后端快照;部署环境可以在 Angular 脚本加载前覆盖 window.__SAAS_VOC_CONFIG__

禁止将以下内容写入浏览器代码或 Git:

  • Fmode API Key
  • supplier API token
  • Parse master key
  • PostgreSQL 连接串

Fmode Key 只能由服务端或 Worker 持有。前端通过同源服务端调用:

/api/voc-e-commerce/{platform}/{upstream-path}

参考中转模块:

E:\workspace\server\future-server\fmode-server\modules\voc-e-commerce

本地运行

建议使用 Node.js 20 LTS。当前工作区声明支持 Node.js >=18.13 <23

npm ci
npm run verify:data
npm run build
npm test
npm run start:local

启动前端前,在 E:\workspace\server\saas-voc-server 运行无数据库本地后端:

npm run start:local

前端地址为 http://127.0.0.1:4200//api/domestic-voc 通过 proxy.conf.json 转发到 http://127.0.0.1:4400。本地后端读取同一份德玛仕规范化快照,不访问 PostgreSQL、Parse 或外部采集接口。

/api/voc-e-commerce 仍代理到 http://127.0.0.1:3000;需要真实采集时,API Key 只能配置在服务端进程中。

从 Excel 重新生成规范化数据:

npm run import:demashi -- "E:\xwechat_files\wxid_ay08t6ugo2h922_df4f\msg\file\2026-07\德玛仕产品及竟品收集0721.xlsx"

当前验证

  • npm run build:通过
  • npm test:8 项 Jasmine 测试通过
  • npm run verify:data:通过
  • 桌面端:29 个启用入口的页面身份、主内容、导航、空状态和交互通过
  • 移动端:29 个启用入口无页面级横向溢出,导航抽屉展开/收起、标题和控件布局通过
  • 浏览器控制台:启用入口无 Angular 运行时错误、警告或失败请求
  • 运行时请求:当前激活闭环请求同源 /api/domestic-voc,本地后端返回 2,817 个商品、9,717 条日指标和 40 条竞品关系,没有访问旧 Parse 或旧跨境域名
  • npm audit --omit=dev:17 项原框架依赖公告(1 critical、11 high、5 moderate),正式公网部署前必须升级处理

尚未完成

  • 创建独立 PostgreSQL 数据库和独立 Parse 应用
  • 获取至少一页非空京东评论样本,完成评论字段契约确认
  • 将商品、日指标、竞品关系和评论幂等写入新 Parse 应用
  • /api/domestic-voc 从本地快照实现切换为新 PostgreSQL / Parse 持久化实现
  • 部署独立环境并完成端到端验收
  • 升级原框架的 Angular 17、xlsx、ECharts、Parse 依赖基线并处理安全公告

完整任务顺序见 TASKS.md

原框架页面的启用、等价承接和排除边界见 FRAMEWORK-MIGRATION.md

明确不包含

  • 原 Amazon、Sorftime、SP-API 和跨境订单链路
  • 直接复用原跨境线上数据库
  • 浏览器直接持有 Fmode 或供应商密钥
  • 在没有评论正文时生成虚假 VOC 分析
  • 首版多租户计费、复杂权限、定时全量采集和 AI 自动报告