Skip to content

分类管理

1. 获取分类列表

接口地址: /merchantapi/goods/category/list

请求参数:

参数名类型必填说明
namestring分类名称(模糊搜索)
pidint父级分类 ID(默认 0,查询顶级分类)
pageint页码(默认 1)
limitint每页数量

响应示例:

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

请求参数:

参数名类型必填说明
pidint父级分类 ID(0 表示顶级分类)
namestring分类名称
sortint排序值(默认 0)
statusint状态:0=禁用,1=启用(默认 1)

响应示例:

json
{
  "code": 1,
  "msg": "添加成功!"
}

错误响应:

json
{
  "code": 0,
  "msg": "分类名包含敏感词汇\"xxx\"!"
}

5. 编辑商品分类

接口地址: /merchantapi/goods/category/edit

请求参数:

参数名类型必填说明
idint分类 ID
pidint父级分类 ID
namestring分类名称
sortint排序值
statusint状态

响应示例:

json
{
  "code": 1,
  "msg": "编辑成功!"
}

6. 删除/批量商品分类

接口地址: /merchantapi/goods/category/del

请求参数:

参数名类型必填说明
idsarray分类 ID 数组

请求示例:

json
{
  "ids": [1, 2, 3]
}

响应示例:

json
{
  "code": 1,
  "msg": "删除成功!"
}

错误响应:

json
{
  "code": 0,
  "msg": "该分类下存在子分类,请先删除子分类!"
}

json
{
  "code": 0,
  "msg": "该分类下存在商品,暂时不能删除!"
}

7. 修改分类状态

接口地址: /merchantapi/goods/category/status

请求参数:

参数名类型必填说明
idint分类 ID
fieldstring字段名(仅允许 status 或 sort 字段)
valueint字段值

请求示例:

json
{
  "id": 1,
  "field": "status",
  "value": 0
}

响应示例:

json
{
  "code": 1,
  "msg": "操作成功!"
}

业务规则

  1. 分类层级:支持无限层级的分类结构
  2. 删除限制
    • 存在子分类的分类不能删除
    • 存在商品的分类不能删除
  3. 排序规则:sort 值越大,排序越靠前
  4. 敏感词检测:分类名称会进行敏感词检测
  5. 店铺检测:添加/编辑分类前会检测店铺状态。比如平台设置了店铺联系方式必填,则添加/编辑分类前会检测店铺联系方式是否必填