|
|
vor 2 Monaten | |
|---|---|---|
| apps | vor 2 Monaten | |
| docs | vor 2 Monaten | |
| infra | vor 2 Monaten | |
| tools | vor 2 Monaten | |
| .env.example | vor 2 Monaten | |
| .gitignore | vor 2 Monaten | |
| README.md | vor 2 Monaten | |
| package-lock.json | vor 2 Monaten | |
| package.json | vor 2 Monaten |
国内电商 VOC(Voice of Customer)通用模板。项目以德玛仕为首个案例,在不影响现有跨境电商系统和线上数据库的前提下,复用现有 Angular VOC 页面、Parse 数据访问模式,以及 Fmode 封装的 JustOneAPI 电商数据中转能力。
当前阶段:独立前端 MVP 已可运行,使用德玛仕 Excel 规范化结果完成商品、竞品、经营概览、VOC 空状态和数据质量闭环;独立数据库与 JustOneAPI 评论采集待接入。
更新时间:2026-07-22
在 2026-07-25 前优先接通一个最小、可部署、可复用的国内电商 VOC 闭环:
voc-e-commerce 中转接口获取国内电商商品和评论数据。msq-voc-web、moshengqi-server 仅作为代码和数据模型参考。Saas VOC Web
|-- 读取新 Parse 应用中的商品、评论和分析结果
|-- 调用本项目服务端任务,不直接持有任何私钥
|
Saas VOC Server / Worker
|-- 使用 FMODE_API_KEY
|-- 调用 /api/voc-e-commerce/{platform}/{upstream-path}
|-- 清洗并写入新 Parse 数据库
|
Fmode voc-e-commerce
|-- 鉴权、计费、缓存、重试
|-- 隐藏 JustOneAPI token
|
JustOneAPI
现有前端大量代码把 asin 当作“商品唯一字符串”,而不是执行 ASIN 格式校验。为了在截止日前降低改动量,首版不做全项目全局重命名。
采用兼容层方案:
platform 和 productId。platform:productId,不能只使用商品 ID。asin = productId 兼容字段。productId,后续再逐步移除 asin 兼容字段。这样可以复用商品选择器、VOC 图表、评论情绪统计和部分 Parse 查询封装,同时避免让新数据库继续以 Amazon 为核心语义。
计划使用独立 Parse 应用和独立 PostgreSQL 数据库。实际连接信息只通过部署环境配置,不写入本仓库。
首版最小数据类:
platform: jd、taobao、tmall、pdd、douyin、1688 等productId: 平台商品 IDproductKey: ${platform}:${productId}asin: 临时兼容字段,值与 productId 相同role: own 或 competitorbrand、title、modelcategory1、category2、category3source: excel 或 justonerawData: 必要时保留原始响应productKey、dateproductKey:dateownProductKeycompetitorProductKeycompetitorBrandcategoryownProductKey:competitorProductKeyplatform、productId、productKeyreviewId、rating、title、contentreviewDate、helpful、verifiedrole: own 或 competitorsource: justone 或 fileplatform:productId:reviewId,无 reviewId 时使用内容哈希fileName、fileHash、typestatus、total、success、failederrorSummary、startedAt、finishedAt后端参考模块:
E:\workspace\server\future-server\fmode-server\modules\voc-e-commerce
已确认能力:
/api/voc-e-commerce。GET /health、GET /test 和任意上游路径透传。jd/...、taobao/...、1688/...。application/x-www-form-urlencoded。sk- Key 可通过 Authorization: Bearer ... 或 x-api-key 传入。{ code: 200, data: upstreamResponse }。服务端调用示意:
curl "${FMODE_SERVER_URL}/api/voc-e-commerce/jd/search-item-list/v1?keyword=demo&page=1" \
-H "x-api-key: ${FMODE_API_KEY}"
注意:FMODE_API_KEY 只能存在于服务端或本地开发环境,不能放入 Angular 环境文件或静态资源。
当前输入文件:
E:\xwechat_files\wxid_ay08t6ugo2h922_df4f\msg\file\2026-07\德玛仕产品及竟品收集0721.xlsx
已完成只读分析:
德玛仕产品基础数据:9,717 条日数据,时间范围 2026-07-14 至 2026-07-20。竟对品牌及编码:28 个自有 SKU 映射、37 个唯一竞品 SKU、10 个类目。100204398739 在经营数据中没有对应记录,需要作为缺失数据标记。当前只保留最容易接通的四个工作台页面:
首版不伪造评论、评分、情绪或问题标签。评论接入后,情绪可先按评分计算:4 至 5 星为正向,3 星为中性,1 至 2 星为负向。
建议使用 Node.js 20 LTS。当前 Angular 17 工作区声明支持 >=18.13 <23。
npm ci
npm run verify:data
npm run build
npm test
npm run dev
开发地址默认为 http://localhost:4200/。如果端口已占用,可在 apps/web 工作区传入其他端口。
规范化数据位于 apps/web/src/assets/data/demashi-summary.json。需要从原始 Excel 重新生成时执行:
npm run import:demashi -- "E:\xwechat_files\wxid_ay08t6ugo2h922_df4f\msg\file\2026-07\德玛仕产品及竟品收集0721.xlsx"
voc-e-commerce 路由、鉴权、计费、缓存和重试逻辑核对productId 标准字段和 asin 临时兼容方案2026-07-22 使用本机 Fmode API Key 联调时,server.fmode.cn:443 TCP 可达,但 TLS 握手被连接端重置。业务搜索请求没有成功发出,也没有消耗 API 额度。
在该问题修复前,只能确认模块代码、路由挂载和自动测试覆盖,不能把 JustOneAPI 的实际字段契约标记为已验证。
参考模块当前存在上游 token 默认值。正式复用前必须删除源码默认凭证,只允许使用 VOC_E_COMMERCE_TOKEN 或 JUSTONE_TOKEN 环境变量,并轮换已经进入源码历史的旧 token。
德玛仕 Excel 只有商品经营数据和竞品编码。真实 VOC 演示还需要:
当前保持 Angular 17,以便与现有跨境前端兼容并控制首版改动量。npm audit --omit=dev 仍报告 8 项 Angular 17 高危公告,官方修复需要跨大版本升级;正式公网发布前应升级到受支持的 Angular 版本并完成回归。开发和 CI 使用 Node.js 20 LTS,不使用当前 Angular 17 未声明支持的 Node.js 24。
E:\workspace\msq-voc-webE:\workspace\server\moshengqi-serverE:\workspace\server\future-server\fmode-server\modules\voc-e-commerce