用户要求“去掉本项目直接调用huohanhan接口,通过erpgo的对应接口来上传指定商品的产品视频.建工单,做”。内部系统已明确不设独立实施门禁;本工单据此实施,不对真实商品发起未指定文件的写入。
不修复淘宝失效视频URL,不上传不存在或不合规MP4,不同步Shopee/改标题主图,不执行真实店铺批量写入,不删除已有素材、旧凭据或本地视频,不自动回退直连货憨憨。明确已存在的用户单商品覆盖确认及批量跳过语义保留。
所属MVP #6/Epic #2,承接已提交#17/#19的上传UI及#20的erpgo本机配置;这些工单待验收不阻塞已实现功能的迁移。ERPGo LOCAL-029文档与已部署版本契约为接口基线,真实视频写入仍待提供方验收;本工单先模拟联调。风险集中于错误重试引起重复写、响应丢失误报成功、SQLite迁移与凭据处理。回退仅回退程序代码版本,保留操作事实/原SQLite表及旧配置;旧版直连不可自动重放结果未知的上传。
模拟ERPGo与临时SQLite测试:API Key与单文件multipart/Shopee ID/本地预检;单品覆盖确认、批量已有跳过;202、processing、succeeded、failed、unknown、超时/断线、同键恢复、Key轮换404、409、413、无效响应;不在结果未知时二次PUT;重启恢复和本机重复点击;状态与视频记录保留、日志脱敏、无运行时直连货憨憨。运行Go测试/race/vet、Windows构建、Harness检查。真实视频上传、Shopee最终生效和Windows真机交互未验证要明确记录。
更新Wiki架构、业务规则、开发验证、排障、项目档案中的上传主路径/配置/状态与操作恢复,回读revision后同步镜像;需要更新AGENTS项目红线。后端接口/状态设计为本工单文字证据,沿用现有确认框与列表,不另造UI原型。无任务快照/部署文档变化。
进行中
项目当前没有可用Gitea MCP,按仓库规则回退WikiClient API;凭据仅从用户授权环境文件载入进程,未写入工单。
状态:待验收(工单保持 open)。
最终差异:
internal/huohanhan
PUT /api/v1/shopee/products/{shopeeId}/video
X-API-Key
video
succeeded
sync --check
21b539622946d275a78fc6c469a50a14cd5eb4b4
验证:go test ./...、go vet ./...、go test -race ./...、python -m unittest discover -s tests(55 项)、python dev_scripts/harness.py check --strict、npm --prefix frontend run build、Wails Windows/amd64 生产构建通过;模拟 HTTP+临时 SQLite 覆盖接口头、multipart、401/400/404/409/413、成功落库、unknown 后不重复 PUT、重启后幂等键保留。曾因 Wails 构建临时资源文件与并行 Go 检查冲突出现一次检查失败,串行重跑后全部通过。
go test ./...
go vet ./...
go test -race ./...
python -m unittest discover -s tests
python dev_scripts/harness.py check --strict
npm --prefix frontend run build
未验证:没有对真实店铺发起写入;Shopee 页面独立发布结果和真实 WebView 界面交互待使用者指定商品/文件后验收。erpgo 的 succeeded 是本次货憨憨关联回读,不等于 Shopee 独立验证。
提交并已推送:375f20c(实现、测试与镜像)、10b5e23(最终 Wiki revision 镜像)。保留工作区原有 go.mod、go.sum、cmsp.code-workspace、cmsp.exe 改动/文件,未纳入提交。Gitea MCP 不可用,按仓库规则通过 Gitea API 回写;凭据仅取本机环境文件。
375f20c
10b5e23
go.mod
go.sum
cmsp.code-workspace
cmsp.exe
2026-09-30 验收中发现 ERPGo 视频预检的真实响应边界:目标商品 GET /video 返回 502 / HHH_UPSTREAM_ERROR / stage=check,货憨憨回读记录缺少 video 字段;对照商品返回 200 / video 数组。用户转述 ERPGo agent 的处理矩阵:200 + video:[] 才继续上传;502 + stage=check 视为远端视频状态未知,停止该商品且不发 PUT。界面应显示“视频状态无法确认,上传未提交”并保留 requestId 和本地 MP4,批量入口也不能把这类预检错误写成上传失败。将此作为 #27 待验收修正,保留原幂等与覆盖保护;不对真实店铺发起写入。
#27 待验收修正已推送(保持 open)。
行为:单商品上传预览收到 502 / HHH_UPSTREAM_ERROR / stage=check 时,显示持久提示“视频状态无法确认,上传未提交”和安全 requestId;不弹确认框、不建上传操作、不发 PUT,选择变化或重试时清除旧提示。批量入口遇同类错误时为该商品记录 unconfirmed 与 requestId(本地 last_error),列表可筛选并悬停查看;不误标 failed,本地 MP4 保留。200 / video:[] 仍按原流程继续。其他错误路径未改。
unconfirmed
failed
验证:模拟 ERPGo 502 后预览不变更本地状态,批量入口无 PUT/无新操作、MP4 留存且 requestId 保存;go test ./...、go vet ./...、go test -race ./...、前端构建、Wails Windows 生产构建、DevHarness strict 与 55 项 Python 测试通过。在线 Wiki 已回读并同步镜像,Business-Rules-and-Glossary revision b2969f370a6186860f5769ac374afe90498cf3a2,Troubleshooting revision 3d7d777fd2dc91801cdf56499c0314f303feeb1e,sync --check 一致。
b2969f370a6186860f5769ac374afe90498cf3a2
3d7d777fd2dc91801cdf56499c0314f303feeb1e
提交并已推送:e0bedd1(预览/入口错误日志,前次直接修复)和 1f83a34(本次状态区分)。真实店铺写入未执行;线上目标商品仍返回视频字段缺失的 502,需 ERPGo/货憨憨明确回读契约后才可继续上传。工作区原有 go.mod、go.sum 和未跟踪文件未纳入提交。Gitea MCP 不可用,本次按仓库回退规则使用 Gitea API 回写。
e0bedd1
1f83a34
No dependencies set.
The note is not visible to the blocked user.
来源与授权(2026-09-30)
用户要求“去掉本项目直接调用huohanhan接口,通过erpgo的对应接口来上传指定商品的产品视频.建工单,做”。内部系统已明确不设独立实施门禁;本工单据此实施,不对真实商品发起未指定文件的写入。
目标与方案
非目标
不修复淘宝失效视频URL,不上传不存在或不合规MP4,不同步Shopee/改标题主图,不执行真实店铺批量写入,不删除已有素材、旧凭据或本地视频,不自动回退直连货憨憨。明确已存在的用户单商品覆盖确认及批量跳过语义保留。
风险、依赖与回退
所属MVP #6/Epic #2,承接已提交#17/#19的上传UI及#20的erpgo本机配置;这些工单待验收不阻塞已实现功能的迁移。ERPGo LOCAL-029文档与已部署版本契约为接口基线,真实视频写入仍待提供方验收;本工单先模拟联调。风险集中于错误重试引起重复写、响应丢失误报成功、SQLite迁移与凭据处理。回退仅回退程序代码版本,保留操作事实/原SQLite表及旧配置;旧版直连不可自动重放结果未知的上传。
验收
模拟ERPGo与临时SQLite测试:API Key与单文件multipart/Shopee ID/本地预检;单品覆盖确认、批量已有跳过;202、processing、succeeded、failed、unknown、超时/断线、同键恢复、Key轮换404、409、413、无效响应;不在结果未知时二次PUT;重启恢复和本机重复点击;状态与视频记录保留、日志脱敏、无运行时直连货憨憨。运行Go测试/race/vet、Windows构建、Harness检查。真实视频上传、Shopee最终生效和Windows真机交互未验证要明确记录。
文档影响与设计证据
更新Wiki架构、业务规则、开发验证、排障、项目档案中的上传主路径/配置/状态与操作恢复,回读revision后同步镜像;需要更新AGENTS项目红线。后端接口/状态设计为本工单文字证据,沿用现有确认框与列表,不另造UI原型。无任务快照/部署文档变化。
状态
进行中
Gitea访问
项目当前没有可用Gitea MCP,按仓库规则回退WikiClient API;凭据仅从用户授权环境文件载入进程,未写入工单。
状态:待验收(工单保持 open)。
最终差异:
internal/huohanhan直连客户端与登录入口。店铺/商品查询继续走 erpgo;指定商品视频上传改用PUT /api/v1/shopee/products/{shopeeId}/video,X-API-Key、单个 multipartvideo、持久化 Idempotency-Key。旧 huohanhan 配置只保留本机文件兼容,界面隐藏;启动店铺刷新依 erpgo 配置。succeeded更新本地视频与上传完成状态。SQLite 新表保存操作身份、文件摘要和状态;未决/未知结果再次操作只查询原键,避免重复 PUT。错误只展示稳定错误码,不输出凭据或上游原文。sync --check一致。Architecture-and-Code-Map 最终 revision:21b539622946d275a78fc6c469a50a14cd5eb4b4。验证:
go test ./...、go vet ./...、go test -race ./...、python -m unittest discover -s tests(55 项)、python dev_scripts/harness.py check --strict、npm --prefix frontend run build、Wails Windows/amd64 生产构建通过;模拟 HTTP+临时 SQLite 覆盖接口头、multipart、401/400/404/409/413、成功落库、unknown 后不重复 PUT、重启后幂等键保留。曾因 Wails 构建临时资源文件与并行 Go 检查冲突出现一次检查失败,串行重跑后全部通过。未验证:没有对真实店铺发起写入;Shopee 页面独立发布结果和真实 WebView 界面交互待使用者指定商品/文件后验收。erpgo 的
succeeded是本次货憨憨关联回读,不等于 Shopee 独立验证。提交并已推送:
375f20c(实现、测试与镜像)、10b5e23(最终 Wiki revision 镜像)。保留工作区原有go.mod、go.sum、cmsp.code-workspace、cmsp.exe改动/文件,未纳入提交。Gitea MCP 不可用,按仓库规则通过 Gitea API 回写;凭据仅取本机环境文件。2026-09-30 验收中发现 ERPGo 视频预检的真实响应边界:目标商品 GET /video 返回 502 / HHH_UPSTREAM_ERROR / stage=check,货憨憨回读记录缺少 video 字段;对照商品返回 200 / video 数组。用户转述 ERPGo agent 的处理矩阵:200 + video:[] 才继续上传;502 + stage=check 视为远端视频状态未知,停止该商品且不发 PUT。界面应显示“视频状态无法确认,上传未提交”并保留 requestId 和本地 MP4,批量入口也不能把这类预检错误写成上传失败。将此作为 #27 待验收修正,保留原幂等与覆盖保护;不对真实店铺发起写入。
#27 待验收修正已推送(保持 open)。
行为:单商品上传预览收到 502 / HHH_UPSTREAM_ERROR / stage=check 时,显示持久提示“视频状态无法确认,上传未提交”和安全 requestId;不弹确认框、不建上传操作、不发 PUT,选择变化或重试时清除旧提示。批量入口遇同类错误时为该商品记录
unconfirmed与 requestId(本地 last_error),列表可筛选并悬停查看;不误标failed,本地 MP4 保留。200 / video:[] 仍按原流程继续。其他错误路径未改。验证:模拟 ERPGo 502 后预览不变更本地状态,批量入口无 PUT/无新操作、MP4 留存且 requestId 保存;
go test ./...、go vet ./...、go test -race ./...、前端构建、Wails Windows 生产构建、DevHarness strict 与 55 项 Python 测试通过。在线 Wiki 已回读并同步镜像,Business-Rules-and-Glossary revisionb2969f370a6186860f5769ac374afe90498cf3a2,Troubleshooting revision3d7d777fd2dc91801cdf56499c0314f303feeb1e,sync --check 一致。提交并已推送:
e0bedd1(预览/入口错误日志,前次直接修复)和1f83a34(本次状态区分)。真实店铺写入未执行;线上目标商品仍返回视频字段缺失的 502,需 ERPGo/货憨憨明确回读契约后才可继续上传。工作区原有 go.mod、go.sum 和未跟踪文件未纳入提交。Gitea MCP 不可用,本次按仓库回退规则使用 Gitea API 回写。