分类管理
1. 获取分类列表
接口地址: /merchantapi/goods/category/list
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 分类名称(模糊搜索) |
| pid | int | 否 | 父级分类 ID(默认 0,查询顶级分类) |
| page | int | 否 | 页码(默认 1) |
| limit | int | 否 | 每页数量 |
响应示例:
json
{
"code": 1,
"msg": "获取成功",
"data": {
"list": [
{
"id": 1,
"user_id": 100,
"name": "游戏点卡",
"sort": 100, // 排序值
"status": 1, // 状态 1:启用 0:禁用
"create_at": "2025-11-19 00:48:58", // 创建时间
"pid": 0, // 父级分类ID
"goods_count": 15, // 该分类下的商品数量
"children": [
// 子分类列表(递归结构),不使用多级分类时,创建时pid为0
{
"id": 2,
"name": "腾讯游戏",
"sort": 50,
"status": 1,
"create_at": "2025-11-19 00:49:08",
"goods_count": 8,
"children": []
}
]
}
],
"total": 10
}
}2. 获取简化分类列表
接口地址: /merchantapi/goods/category/listSimple
说明: 返回树形结构的分类列表,用于下拉选择等场景
响应示例:
json
{
"code": 1,
"msg": "获取成功",
"data": {
"list": [
{
"value": 1,
"label": "游戏点卡",
"children": [
{
"value": 2,
"label": "腾讯游戏",
"children": []
}
]
}
]
}
}3. 获取分类树(用于选择父级)
接口地址: /merchantapi/goods/category/getCategoryTree
说明: 返回包含"顶级分类"选项的树形结构
响应示例:
json
{
"code": 1,
"msg": "获取成功",
"data": [
{
"value": 0,
"label": "顶级分类"
},
{
"value": 1,
"label": "游戏点卡",
"children": [
{
"value": 2,
"label": "腾讯游戏",
"children": []
}
]
}
]
}4. 添加商品分类
接口地址: /merchantapi/goods/category/add
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pid | int | 是 | 父级分类 ID(0 表示顶级分类) |
| name | string | 是 | 分类名称 |
| sort | int | 否 | 排序值(默认 0) |
| status | int | 否 | 状态:0=禁用,1=启用(默认 1) |
响应示例:
json
{
"code": 1,
"msg": "添加成功!"
}错误响应:
json
{
"code": 0,
"msg": "分类名包含敏感词汇\"xxx\"!"
}5. 编辑商品分类
接口地址: /merchantapi/goods/category/edit
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 分类 ID |
| pid | int | 是 | 父级分类 ID |
| name | string | 是 | 分类名称 |
| sort | int | 否 | 排序值 |
| status | int | 否 | 状态 |
响应示例:
json
{
"code": 1,
"msg": "编辑成功!"
}6. 删除/批量商品分类
接口地址: /merchantapi/goods/category/del
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | array | 是 | 分类 ID 数组 |
请求示例:
json
{
"ids": [1, 2, 3]
}响应示例:
json
{
"code": 1,
"msg": "删除成功!"
}错误响应:
json
{
"code": 0,
"msg": "该分类下存在子分类,请先删除子分类!"
}或
json
{
"code": 0,
"msg": "该分类下存在商品,暂时不能删除!"
}7. 修改分类状态
接口地址: /merchantapi/goods/category/status
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 分类 ID |
| field | string | 是 | 字段名(仅允许 status 或 sort 字段) |
| value | int | 是 | 字段值 |
请求示例:
json
{
"id": 1,
"field": "status",
"value": 0
}响应示例:
json
{
"code": 1,
"msg": "操作成功!"
}业务规则
- 分类层级:支持无限层级的分类结构
- 删除限制:
- 存在子分类的分类不能删除
- 存在商品的分类不能删除
- 排序规则:sort 值越大,排序越靠前
- 敏感词检测:分类名称会进行敏感词检测
- 店铺检测:添加/编辑分类前会检测店铺状态。比如平台设置了店铺联系方式必填,则添加/编辑分类前会检测店铺联系方式是否必填