主题
后台 · 商品管理(PMS)
覆盖页面:商品列表/增改、商品分类、商品类型(属性)、品牌管理、运费模板 路由前缀:
/pms设计目标:让商品高效上架、规范管理,支撑前台供给
一、商品列表(/pms/product)
1.1 页面定位
- 角色:商品资产的总管理台,商品运营最高频页面
- 用户决策:哪些商品要上架/下架/改价?待审核商品怎么处理?
- 核心指标:商品上架时效、审核时效、搜索定位效率
1.2 页面结构
┌─ 筛选搜索 ──────────────────────────────────┐
│ 商品名称[____] 商品货号[____] 分类[▾] 品牌[▾] │
│ 上架状态[▾全部/上架/下架] 审核状态[▾全部/待审核/通过/拒绝] │
│ [查询] [重置] │
└────────────────────────────────────────────┘
┌─ 商品列表 ──────────────────────────────────┐
│ [+ 新增商品] │
│ ┌────────────────────────────────────────┐ │
│ │☐│编号│商品图片│商品名称│价格│货号│审核状态│上架状态│销量│排序│操作│
│ │ │ 1 │ [图] │ xxx │¥299│H001│[通过] │[上架] │120│ 0 │编辑│
│ │ │ │ │ │ │ │ │ │ │ │上下架│
│ │ │ │ │ │ │ │ │ │ │ │审核│
│ └────────────────────────────────────────┘ │
│ [批量上架] [批量下架] [批量删除] [分页] │
└────────────────────────────────────────────┘1.3 功能模块
列表展示
- 商品图片缩略图(40×40)+ 商品名称(可点击进详情)
- 价格、货号、销量、排序值
- 审核状态 Tag:待审核(橙)/通过(绿)/拒绝(红)
- 上架状态 Tag:上架(绿)/下架(灰),可用 Switch 快捷切换
行内操作(按状态动态)
| 操作 | 条件 | 行为 |
|---|---|---|
| 编辑 | 任意 | 跳转修改商品页 |
| 上架/下架 | 审核已通过 | Switch 切换,下架二次确认 |
| 审核 | 待审核状态 | 弹审核弹窗(通过/拒绝+原因) |
| 删除 | 已下架 | 二次确认,逻辑删除 |
批量操作
- 多选后支持:批量上架 / 批量下架 / 批量删除
- 批量操作二次确认(展示数量),结果反馈成功/失败条数
商品审核(核心流程)
待审核商品 → [审核] → 弹窗:
◉ 审核通过(商品可上架销售)
○ 审核拒绝 → 必填拒绝原因
→ 提交 → 状态更新 + 操作记录1.4 业务规则
| 规则 | 说明 |
|---|---|
| 上架前置 | 仅审核通过的商品可上架 |
| 下架影响 | 下架商品前台不可见,购物车中标记失效 |
| 删除约束 | 仅已下架商品可删除;有未完成订单的商品禁止删除 |
| 排序值 | 数字越小越靠前,列表内可直接修改排序值 |
1.5 验收标准
- AC-PL01:多条件组合筛选生效(名称/货号/分类/品牌/状态)
- AC-PL02:上下架 Switch 切换即时生效且前台同步
- AC-PL03:审核拒绝必须填写原因
- AC-PL04:批量操作结果正确反馈
- AC-PL05:有未完成订单的商品不可删除并提示
二、新增/修改商品(/pms/addProduct、/pms/updateProduct)
2.1 页面定位
- 角色:商品信息录入的核心表单,后台最复杂的表单页
- 用户决策:如何完整准确地描述一个商品?
- 核心指标:商品创建成功率、信息完整度、录入耗时
2.2 页面结构(分步骤表单)
步骤条:[1.填写商品信息] → [2.填写促销信息] → [3.填写属性信息] → [4.选择SKU/规格] → [5.完成]
┌─ Step1 商品信息 ────────────────────────────┐
│ 商品分类* [▾三级联动] │
│ 商品品牌* [▾] │
│ 商品名称* [____________] │
│ 副标题 [____________](卖点,前台展示) │
│ 商品主图* [上传多图,可拖拽排序,首图为封面] │
│ 商品详情* [富文本编辑器] │
│ 商品货号* [____] 库存* [____] │
│ 市场价格* [____] 销售价格* [____] │
│ 商品重量 [____] 排序 [____] │
└────────────────────────────────────────────┘
┌─ Step2 促销信息 ────────────────────────────┐
│ 赠送积分 [____] │
│ 限购数量 [____](0=不限购) │
│ 运费模板* [▾] │
└────────────────────────────────────────────┘
┌─ Step3 属性信息 ────────────────────────────┐
│ 商品类型* [▾](选择后加载该类型的属性模板) │
│ 规格属性: 颜色 [红,蓝,黑](可自定义输入) │
│ 参数属性: 材质 [____] 产地 [____] │
└────────────────────────────────────────────┘
┌─ Step4 SKU 配置 ────────────────────────────┐
│ 根据已选规格自动生成 SKU 组合表格: │
│ 颜色×版本 → 每个SKU设置:价格/库存/SKU编码 │
│ [批量设置价格] [批量设置库存] │
└────────────────────────────────────────────┘
┌─ Step5 完成 ────────────────────────────────┐
│ 信息摘要预览 + [提交审核] │
└────────────────────────────────────────────┘2.3 核心交互
分步骤导航
- 步骤条展示进度,已完成步骤可点击回退
- 每步"下一步"前校验本步必填项
- 修改商品时自动回填所有数据
商品主图上传
- 支持多图(建议 5-9 张),拖拽排序
- 第一张为封面图(角标标记)
- 格式校验:jpg/png,单张 ≤2MB
规格与 SKU 联动(核心难点)
- Step3 选择规格属性值(如颜色:红,蓝;版本:128G,256G)
- Step4 自动生成笛卡尔积 SKU 表格(红-128G/红-256G/蓝-128G/蓝-256G)
- 每个 SKU 独立设置价格/库存/编码
- 提供"批量设置"快捷操作(统一价格/统一库存)
- 单规格商品:跳过 Step4,直接用商品级价格库存
提交
- 提交后商品进入"待审核"状态(不直接上架)
- 修改已上架商品:修改后重新进入审核(或配置为直接生效)
2.4 业务规则
| 规则 | 说明 |
|---|---|
| 价格校验 | 销售价 ≤ 市场价,价格 >0 |
| 库存校验 | 库存 ≥0,SKU 库存之和为商品总库存 |
| 货号唯一 | 货号全平台唯一,失焦查重 |
| 必填项 | 分类/品牌/名称/主图/详情/价格/库存为必填 |
2.5 验收标准
- AC-PA01:分步骤表单完整,每步校验生效
- AC-PA02:多规格商品正确生成 SKU 组合,可批量设置价格库存
- AC-PA03:主图多图上传、排序、封面标记
- AC-PA04:提交后商品进入待审核状态
- AC-PA05:修改商品正确回填所有字段
三、商品分类(/pms/productCate)
3.1 页面定位
- 角色:商品类目体系管理,决定前台分类导航结构
- 核心指标:分类维护效率
3.2 页面结构
- 树形表格展示三级分类(一级可展开二级,二级展开三级)
- 列:分类名称/图标/排序/显示状态/操作
- 显示状态用 Switch 控制(隐藏后前台不展示)
- 操作:添加子分类 / 编辑 / 删除
3.3 业务规则
| 规则 | 说明 |
|---|---|
| 层级限制 | 最多三级分类 |
| 删除约束 | 有子分类的分类不可删除;有挂载商品的分类不可删除 |
| 显示控制 | 隐藏的分类前台不展示,其下商品仍可通过搜索找到 |
| 排序 | 同级分类按排序值升序展示 |
3.4 验收标准
- AC-PC01:三级分类树正确展示与增删改
- AC-PC02:有子分类/有商品的分类删除被拒绝并提示
- AC-PC03:显示状态 Switch 控制前台可见性
四、商品类型与属性(/pms/productAttr)
4.1 页面定位
- 角色:属性模板管理,实现"不同类型商品有不同规格/参数"
- 设计思想:先定义"类型"(如手机/服装),类型下定义属性,商品选类型即获得属性模板
4.2 页面结构
类型列表页:
- 列表:类型名称/属性数量/操作(属性列表/编辑/删除)
- 点击"属性列表"进入该类型的属性管理
属性列表页(某类型下):
- Tab 切换:[规格属性] [参数属性]
- 规格属性:用于生成 SKU(如颜色/版本/尺码)
- 参数属性:用于详情展示(如材质/产地/型号)
- 属性列表:属性名/可选值列表/排序/操作
- 新增属性弹窗:属性名 + 可选值(逗号分隔或手动录入,如"红色,蓝色,黑色")
4.3 业务规则
| 规则 | 说明 |
|---|---|
| 属性分类 | 规格属性(type=0)生成SKU;参数属性(type=1)展示用 |
| 可选值 | 属性预设可选值列表,商品录入时从中选择或自定义 |
| 删除约束 | 已被商品引用的属性不可删除 |
| 类型删除 | 类型下有属性时不可删除 |
4.4 验收标准
- AC-AT01:类型增删改查,属性按规格/参数分 Tab 管理
- AC-AT02:属性可选值正确维护,商品录入时可引用
- AC-AT03:被引用的属性/类型删除被拒绝
五、品牌管理(/pms/brand)
5.1 页面定位
- 角色:品牌资产管理,支撑前台品牌展示与筛选
- 核心指标:品牌信息完整度
5.2 页面结构
- 列表:品牌Logo/品牌名称/品牌专区图/排序/显示状态/操作
- 新增/编辑表单:
- 品牌名称*、品牌Logo*(上传)
- 品牌专区图(品牌页大图)
- 品牌故事(富文本,品牌页展示)
- 排序、显示状态
5.3 业务规则
| 规则 | 说明 |
|---|---|
| 名称唯一 | 品牌名全平台唯一 |
| 删除约束 | 有挂载商品的品牌不可删除 |
| 显示控制 | 隐藏品牌前台不展示,商品品牌信息保留 |
5.4 验收标准
- AC-BR01:品牌增删改查,Logo 上传预览
- AC-BR02:有商品的品牌删除被拒绝
- AC-BR03:品牌显示状态控制前台可见性
六、运费模板(/pms/feightTemplate)
6.1 页面定位
- 角色:运费规则配置,决定下单时的运费计算
- 核心指标:运费配置准确性
6.2 页面结构
模板列表:模板名称/计费方式/运费规则摘要/操作
模板编辑:
模板名称* [____________]
计费方式* ◉ 按重量 ○ 按件数
运费规则*:
┌──────────────────────────────────┐
│ 首件(首重) │ 首费 │ 续件(续重) │ 续费 │
│ 1 │ 8.00 │ 1 │ 2.00 │
└──────────────────────────────────┘
[+ 添加指定地区规则](可为不同地区设置不同运费)
免邮设置: 满 [__] 元包邮(0=不免邮)6.3 业务规则
| 规则 | 说明 |
|---|---|
| 计费方式 | 按重量(kg)或按件数,模板级统一 |
| 地区规则 | 默认规则 + 指定地区特殊规则(如偏远地区加价) |
| 引用约束 | 被商品引用的模板不可删除 |
| 运费计算 | 下单时按商品所属模板 + 收货地址计算运费 |
6.4 验收标准
- AC-FT01:运费模板增删改查,支持按重量/按件数
- AC-FT02:指定地区运费规则生效
- AC-FT03:被引用的模板删除被拒绝
- AC-FT04:下单运费按模板正确计算
七、体验优化(效率视角)
商品管理是后台最高频、表单最重的模块,效率优化价值最大。按优先级排列。
商品列表
| 优先级 | 优化点 | 说明 |
|---|---|---|
| P0 | 快捷筛选 Tab | 列表顶部增加状态快捷 Tab(全部/待审核/已上架/已下架),比下拉筛选更快定位 |
| P1 | 数据导出 | 支持按当前筛选条件导出 Excel,商品盘点/报表刚需 |
| P1 | 列设置 | 运营可自定义显示列(隐藏不关心的列,如排序值),配置持久化 |
| P2 | 行内快捷改价 | 价格列支持点击直接编辑(需审核则提示),减少进表单的次数 |
新增/修改商品(重表单,体验重点)
| 优先级 | 优化点 | 说明 |
|---|---|---|
| P0 | 草稿自动保存 | 表单内容定时自动存草稿(localStorage),防意外关闭丢失半小时录入成果 |
| P0 | 发布前预览 | Step5 提供"前台效果预览"(移动端详情页模拟),所见即所得 |
| P1 | 商品复制 | 列表行提供"复制为新商品",相似商品只需改差异字段,上架提速一倍 |
| P1 | 图片批量上传 | 主图支持一次选多张 + 粘贴上传 + 上传进度,减少逐张操作 |
| P2 | SKU 表格快捷填充 | SKU 表格支持"首行价格/库存应用到全部",多规格商品录入提速 |
| P2 | 货号自动生成 | 提供"自动生成货号"按钮(分类前缀+序列),减少思考 |
分类/属性/品牌/运费
| 优先级 | 优化点 | 说明 |
|---|---|---|
| P1 | 分类拖拽排序 | 分类树支持拖拽调整同级顺序,比改排序值直观 |
| P2 | 运费试算器 | 运费模板编辑页提供"试算"(选地区+重量→算运费),验证配置正确性 |
| P2 | 属性值模板 | 常用属性值(如颜色红黄蓝)保存为模板,新增属性时一键引用 |
设计要点:
- 草稿自动保存与发布预览是重表单体验的生命线,必须优先落地
- 商品复制是提升上架效率 ROI 最高的功能
- 所有批量操作必须反馈"成功 N 条/失败 M 条"明细,不能只说"操作失败"