部分商品目录来源文件包含蝦皮商品主图片链接和蝦皮店铺名,当前 shopee_products、商品目录接口和蝦皮页面没有对应字段,采购员无法利用这些信息快速核对蝦皮商品与 PDD 商品是否一致。
shopee_products
新增字段必须复用 #141 的分级更新策略和人工保护边界,不能让空值、旧批次、不同来源或顺运宝观测图片覆盖更可靠的蝦皮主数据。当前标题列已经从初版 30% 缩到 18%(即初版的 60%),新增列后不应再次缩成当前宽度的 60%。
insert_only
fill_missing
overwrite_same_source
observed_at
pdd_products.shop_name
file:
data:
javascript:
loading="lazy"
data-image-preview-*
.col-title { max-width: 18%; }
title
_test
固定 Go 1.23 全量 build/test/vet;httptest 覆盖图片 URL 校验和三种更新策略;repository/MySQL _test 覆盖迁移、旧时间、人工保护和空值;页面测试覆盖缩略图、店铺列、预览弹窗、无图/坏图状态;在 1366×768 浏览器人工检查列宽和横向滚动;回归 PDD Excel 与 Client 四接口。
外部图片可能失效、变慢或泄露浏览器访问来源,必须懒加载、失败降级且不由服务端代理。回退时可移除列表/详情展示和接口字段写入,新增可空数据库列保留,不删除生产数据;旧代码应能忽略这些列。
38d6a0a
e3dc48e
docs/task/142-蝦皮主图和店铺.md
node --check static/js/app.js
用户于 2026-08-12 明确验收通过。已确认本地归档 docs/task/142-蝦皮主图和店铺.md 存在,现关闭工单。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
部分商品目录来源文件包含蝦皮商品主图片链接和蝦皮店铺名,当前
shopee_products、商品目录接口和蝦皮页面没有对应字段,采购员无法利用这些信息快速核对蝦皮商品与 PDD 商品是否一致。新增字段必须复用 #141 的分级更新策略和人工保护边界,不能让空值、旧批次、不同来源或顺运宝观测图片覆盖更可靠的蝦皮主数据。当前标题列已经从初版 30% 缩到 18%(即初版的 60%),新增列后不应再次缩成当前宽度的 60%。
做什么 / 不做什么
怎么做
insert_only、fill_missing、overwrite_same_source:默认只补空图片/店铺;同来源且更新的observed_at才可覆盖;人工字段永不自动覆盖;空值不能清除已有值。shopee_products增加主图片 URL、蝦皮店铺名及必要来源审计字段;字段命名必须与pdd_products.shop_name清楚区分。file:、data:、javascript:、含用户名密码以及包含 Cookie/访问令牌的地址;设置合理长度上限。页面直接由浏览器加载,服务端不抓取,避免 SSRF。loading="lazy"和加载失败占位;点击复用现有顺运宝data-image-preview-*原图弹窗及新窗口入口。.col-title { max-width: 18%; },继续省略并用title展示全文;店铺列限制约 120–160px并省略,表格列过多继续横向滚动。验收标准
_test迁移测试通过。怎么验证
固定 Go 1.23 全量 build/test/vet;httptest 覆盖图片 URL 校验和三种更新策略;repository/MySQL
_test覆盖迁移、旧时间、人工保护和空值;页面测试覆盖缩略图、店铺列、预览弹窗、无图/坏图状态;在 1366×768 浏览器人工检查列宽和横向滚动;回归 PDD Excel 与 Client 四接口。风险和回退
外部图片可能失效、变慢或泄露浏览器访问来源,必须懒加载、失败降级且不由服务端代理。回退时可移除列表/详情展示和接口字段写入,新增可空数据库列保留,不删除生产数据;旧代码应能忽略这些列。
实施完成,等待验收
38d6a0ae3dc48edocs/task/142-蝦皮主图和店铺.mdnode --check static/js/app.js通过。_test环境;未做 1366×768 浏览器人工验收。用户于 2026-08-12 明确验收通过。已确认本地归档
docs/task/142-蝦皮主图和店铺.md存在,现关闭工单。