feat: 方案设计、数据库和接口设计基本完成
This commit is contained in:
@@ -4,31 +4,41 @@
|
||||
|
||||
页面编辑一个父商品及其 SKU 集合。通用信息只维护一次;每个 SKU 是独立可售单元。单规格商品也显示一张默认 SKU 卡片,因而定价、媒体、货号与发布没有特殊分支。
|
||||
|
||||
采集箱商品本身不属于平台或门店。这里的“草稿”指 Atlas 内尚未或不再向平台提交的可编辑数据,并非 Ozon 后台草稿。用户从采集箱进入编辑时,ERP 使用页头当前平台(首期默认 Ozon),服务端取得或创建“商品 + 当前平台”的发布配置,预选该平台默认门店;用户可改选该平台的另一已授权门店。切换页头平台会进入另一套独立的平台发布配置:A 平台已上架不影响 B 平台的未上架状态。没有任何可用门店时停留在进入编辑的引导页,允许回采集箱但不能编辑平台属性、定价或发布。
|
||||
|
||||
```text
|
||||
页头:返回 · 商品标题 · 草稿状态 · 来源
|
||||
页头:返回 · 商品标题 · 当前平台 · 目标门店 · 当前平台上架状态 · 来源
|
||||
├─ 商品通用信息
|
||||
│ ├─ 类目、标题、品牌、型号、主题标签、简介、JSON 富内容
|
||||
│ ├─ 类目、标题、品牌、型号、主题标签、简介
|
||||
│ ├─ 条形码、采买地址、货源备注
|
||||
│ └─ 当前平台/市场类目的动态属性
|
||||
├─ SKU 商品:卡片(默认)/ 紧凑列表
|
||||
│ └─ N 个 SKU
|
||||
└─ 固定操作栏
|
||||
├─ 左:AI 标题/标签/描述 · AI 套图生成
|
||||
└─ 右:取消并关闭 · 保存草稿 · 上架至平台(后续)
|
||||
├─ 左:AI 类目 · AI 标题/标签/描述 · AI 套图生成
|
||||
└─ 右:取消并关闭 · 保存草稿 · 选择未上架 SKU 并首次上架
|
||||
```
|
||||
|
||||
## 2. 保存和校验
|
||||
|
||||
页面以编辑草稿工作,不采用字段失焦即写库。保存草稿需原子提交父商品、SKU、属性和媒体顺序;存在未保存修改时关闭页面须二次确认。SKU 定价确认是例外:它会即时持久化该 SKU 的价格与定价快照。
|
||||
|
||||
采集进入采集箱时,商品**型号**和各 SKU 的目标平台**货号(Ozon `offer_id`)**默认都为空,不从来源标题、来源 SKU 或规格名称猜测生成。用户在编辑页填写:型号属于商品通用资料;货号属于当前平台下的每个 SKU。两者允许随草稿保存而暂时为空,但首次上架校验必须全部通过:商品型号非空,且每个待上架 SKU 的货号非空并在目标店铺内唯一。
|
||||
|
||||
上架状态是“当前平台 + SKU”维度:`未上架`、`处理中`、`上架失败`、`已上架`。SPU 在当前平台的状态由未删除 SKU 汇总为 `未上架`、`已部分上架`、`已上架`。用户可勾选任意未上架 SKU 执行首次上架;已上架 SKU 不显示上架选择,也不发送更新请求。编辑已上架 SKU 时,保存按钮旁必须提示“仅保存 Atlas 草稿,不会更新 Ozon 商品”。
|
||||
|
||||
前端根据平台商品类目 schema 渲染属性控件、必填提示、字典选择、多值限制及变体属性。`is_aspect=true` 默认显示在 SKU 区;采购业务确有需要时,用户可把非 aspect 属性(如容量)改为 SKU 属性。类目变更后,失配属性保留为未映射草稿,不能自动进入发布请求。
|
||||
|
||||
## 3. SKU 卡片和列表
|
||||
|
||||
卡片默认展示:序号、SKU 名称、启用状态、最多 3 张图片缩略图(可切换为 5)、视频封面/视频、货号、采购价、售价、划线价、定价按钮、两组规格与变体属性。列表仅是紧凑视图,字段和数据完全相同。
|
||||
卡片默认展示:序号、SKU 名称、当前平台上架状态、最多 3 张图片缩略图(可切换为 5)、货号、采购价、售价、划线价、定价按钮、两组规格与变体属性。列表仅是紧凑视图,字段和数据完全相同。货号由用户填写,不自动复用来源 SKU;缺少货号的 SKU 可保存但不能被选择首次上架。首期不支持视频上传、编辑或发布;视频能力待 Ozon 对应接口和审核规则确定后再开启。
|
||||
|
||||
SKU 名称只用于展示;采集 SKU 用稳定 `source_variant_key` 关联,手工 SKU 用本地 UUID。规格字段 `null` 仅表示没有覆盖父商品默认值,绝不能据此判断是否单规格或缺少 SKU。
|
||||
|
||||
无论 SPU 或 SKU 在当前平台是否已上架,用户都可以新增 SKU 变体、复制任一既有 SKU 作为新变体、删除 SKU。复制出的 SKU 没有平台发布映射,始终从 `未上架` 开始。删除已上架 SKU 只从 Atlas 商品结构和当前平台的可发布 SKU 集合移除,**不会删除、下架或修改 Ozon 已创建的商品**;删除未上架 SKU 后若当前平台只剩已上架 SKU,SPU 状态变为 `已上架`。
|
||||
|
||||
删除 SKU 是商品结构的全局编辑,不会跨平台删除任何已创建的平台商品;其他平台下该 SKU 的发布状态和历史映射仍保留在审计记录中。各平台各自仅对当前未删除 SKU 计算 SPU 状态。
|
||||
|
||||
## 4. 定价弹窗
|
||||
|
||||
点击 SKU 的“定价”打开弹窗,显示该 SKU 合并后的包装物流规格,并允许调整采购价、期望加价率、贴单费、物流方式、划线折扣率和汇率。服务端计算预览、尺寸校验和告警;确认后保存不可变快照,并回填 SKU 销售价和划线价。划线价统一按 `划线价 = 销售价 ÷ (1 − 划线折扣率)` 计算,不使用或兼容“划线价倍数”。
|
||||
@@ -37,6 +47,12 @@ SKU 名称只用于展示;采集 SKU 用稳定 `source_variant_key` 关联,
|
||||
|
||||
## 5. 媒体与 AI
|
||||
|
||||
SKU 图片编辑弹窗左侧是该 SKU 的已选图片(排序/移除),右侧分组展示 AI 生图记录、采集主图、采集 SKU 图和采集详情图。商品级素材可被多个 SKU 选择;明确有稳定来源关联的 SKU 图只展示给对应 SKU。
|
||||
SKU 图片编辑弹窗左侧是该 SKU 的已选图片(排序/移除),右侧分组展示 AI 生图记录、采集主图、采集 SKU 图和采集详情图。商品级素材可被多个 SKU 选择;明确有稳定来源关联的 SKU 图只展示给对应 SKU。Ozon 首期每个 SKU 最多选择 15 张发布图片,第一张为主图,可拖动排序;平台适配器以自身限制驱动该上限。
|
||||
|
||||
AI 文案针对父商品生成候选标题、标签、简介与富内容,用户选择后写入草稿。AI 套图由左侧抽屉承载,必须显式选择目标 SKU;尺寸图一 SKU 一任务,并保存实物规格快照。
|
||||
已选图片悬浮时显示“编辑”菜单,至少包含“添加水印”。点击后在弹窗中选择一个工作空间水印模板,后台创建带水印的派生素材;原图和其他 SKU 的选择不被改写。用户确认后,以派生图替换该 SKU 当前图片位置,并可在同一弹窗撤销为原图。首期不在发布时自动加水印,也不因门店默认水印自动处理图片;后续再支持默认模板的预选、批量应用或自动应用。
|
||||
|
||||
首期素材规则:发布图片仅接受 JPG、PNG、WebP;单文件最大 20 MB,最短边低于 700 px 给出警告且不得作为主图,超过 10,000 px 的边长在上传时拒绝;建议 1:1 或 3:4,允许其他比例但在预览中提示裁切风险。采集候选素材可保留原始文件供编辑选择,实际发布时始终按目标平台的图片数、格式和可访问性校验。Ozon 发布图片必须是可由 Ozon 拉取的 HTTPS 地址。
|
||||
|
||||
AI 文案针对当前平台的商品信息生成候选标题、标签与简介,用户选择后写入草稿;首期不生成或编辑富内容。AI 套图由左侧抽屉承载,必须显式选择目标 SKU;尺寸图一 SKU 一任务,并保存实物规格快照。
|
||||
|
||||
AI 类目由用户主动触发:系统将采集标题、规格、参数、图片摘要等证据与当前平台可发布的类目树交给 AI,返回候选类目、置信度和简短依据,用户必须选择确认后才写入当前平台发布配置。来源为 Ozon 的商品优先保留采集到的 Ozon 类目,默认不自动调用 AI,但始终允许用户主动重新推荐;1688、淘宝、天猫等其他来源默认提供“AI 推荐类目”以提升上品速度。AI 不得直接自动落类目或跳过类目属性校验。
|
||||
|
||||
Reference in New Issue
Block a user