Files
cmsp/docs
QiuSWandClaude Opus 5 73f5688ab1 feat: 单商品全链路,提取详情视频并下载到本地 (#13)
由 Codex (gpt-5.6-sol) 实施,Claude 审核。R4a,仍只处理单个商品。

internal/taobao/detail.go
- 从同款详情页 HTML 正则提取 mp4 地址,还原 / 与 \/ 转义
- 只保留 cloud.video.taobao.com 与 cloudvideocdn 的地址
- 去重按(主机、路径、查询串)三元组,忽略 http/https 差异

internal/downloader
- 先写 .part,ffprobe 校验通过后才改名为正式文件
- ffprobe 找不到时报明确中文错误,不静默跳过校验——跳过等于允许
  损坏文件流入不可逆的上传环节
- 请求带 Referer(同款商品页)与浏览器 UA,否则淘宝 CDN 可能拒绝
- 目标文件已存在且非空时跳过

internal/store/video.go
- 视频仓储,按商品全量替换
- source_item 记录实际采用的淘宝同款商品 ID(Q3 的落库要求)

同款选择按 Q3 结论:按图搜顺序依次尝试,第一个有视频的即采用,
不做人工确认;详情页之间按配置随机等待降低风控概率;
登录失效立即停止,不继续尝试下一个同款。

app.go 的 OpenFolder 用 EvalSymlinks + filepath.Rel 校验目标必须在
配置的 VideoDir 之内,避免成为可打开任意目录的入口。

审核补测(跑完删除,未入库):下载中途断开、HTTP 403/404/500、
空响应三种情况均不得留下正式文件或 .part,实测全部通过;
Referer 与 UA 确实发出。

审核期修正:Codex 又用 window.go.main.App 绕过生成绑定三处
(FetchVideosForProduct、OpenFolder、GetVideoSummary),已重新生成
绑定并改为正常 import。这是第三个工单出现同一问题。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbdtsD3ohhSMy3KPoCgARq
2026-09-03 10:04:20 +08:00
..

generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Home wiki_url: https://git.ilapage.cn/chengma/cmsp/wiki/Home wiki_revision: 829416e60ca2daf5a505baea943fa0d6be112327 synchronized_at: 2026-09-02T03:57:20Z

cmsp 开发文档导航

cmsp 是一个内部使用的 Windows 桌面工具:把货憨憨 ERP 里指定 Shopee 店铺的商品,按商品主图到淘宝搜同款,抓取同款商品详情页的介绍视频,下载到本地,再批量上传回货憨憨对应商品,使 Shopee 商品页刷新后能看到视频。

本页是 Gitea Wiki 的入口页。仓库内 docs/ 是只读镜像,请不要直接编辑镜像文件。

第一次阅读

按顺序读,读完能独立完成一次简单修改:

  1. 项目档案:项目目标、治理模式、技术栈、常用命令、凭据来源。
  2. 需求总览:现在有哪些长期需求、各自处在什么状态。
  3. 架构与代码地图:目录职责、两条主要执行路径、不可破坏的边界。
  4. 业务规则与术语:货憨憨、拍立淘、MTOP、专属 Chrome 等术语,以及必须遵守的业务规则。
  5. 本地开发与验证:怎样跑起来、怎样验证。
  6. 常见修改:典型改动改哪里、验证什么。
  7. 故障排查:出问题时的排查顺序和必须停止的情况。

流程规则见 开发工作流。

五分钟开始

cd D:\chengma\cmsp
git status --short --branch
python dev_scripts/harness.py check --strict

预期结果:工作区状态正常显示;check --strict 输出检查通过。

产品代码尚未建立时,上面两条是本仓库当前唯一可执行的命令。Go 与 Wails 环境就绪后,可运行的构建与测试命令统一记录在本地开发与验证,不在本页维护第二份。

简单修改从哪里开始

想做的事 从哪里开始
改界面文案或标签 前端 frontend/src/,见常见修改
改参数设置项 配置结构与设置页,见常见修改
改淘宝搜索或视频提取行为 internal/taobao/,属于中高风险,见架构与代码地图
改货憨憨接口调用 internal/huohanhan/,涉及账号与写操作,按高风险处理
改长期文档 先改 Gitea Wiki,再运行 python dev_scripts/harness.py sync 导出镜像

界面文案、局部样式和预期明确的小 Bug 可以直接实施。涉及接口、数据结构、账号凭据、批量写操作和不可逆操作时必须先建工单。

事实来源

内容 事实来源 本地镜像
长期架构、业务规则、开发规范 Gitea Wiki chengma/cmsp docs/
单次任务的需求、方案、测试、验收 Gitea 工单 无
源码与版本绑定资料 Git 仓库本身
淘宝流程的已验证参考实现 D:\chengma\电商视频自动下载工具\已验证淘宝流程(仓库外) 无
货憨憨接口的已验证参考实现 D:\chengma\hhh_api(仓库外) 无

聊天记录不是事实来源。本地 docs/ 存在不能证明 Wiki 已更新。