""" 分类管理控制器模块 ============================================================= 提供分类(Category)相关的API接口,包括: - 分类列表查询 - 分类详情查询 - 分类添加、更新、删除 - 分类数据列表获取(用于下拉选择、树形展示) - 分类树获取 - 子分类列表获取 所属包: application.views 依赖模块: application.services.category - 分类业务逻辑层 application.middleware.check_permission - 权限校验中间件 """ from flask import Blueprint from application.middleware.check_demo import check_demo from application.middleware.check_permission import check_permission from application.services import category category_blue = Blueprint('category', __name__, url_prefix='/category') from utils import R # ============================================================ # 分类列表查询 # ============================================================ @category_blue.route('/list', methods=["GET"]) @check_permission("sys:category:list") def list(): """ 查询分类列表 功能说明: 获取分类列表数据,支持按名称模糊搜索。 Query Parameters: category_name: 分类名称(可选,模糊查询) type: 分类类型(可选,精确查询) Returns: JSON: 分类列表数据 """ result = category.get_category_list() return result # ============================================================ # 分类详情查询 # ============================================================ @category_blue.route('/detail/', methods=["GET"]) @check_permission("sys:category:detail") def detail(id): """ 查询分类详情 Args: id: 分类ID Returns: JSON: 分类详细信息 """ data = category.get_category_detail(id) if data: return R.ok(data=data) return R.failed("分类不存在") # ============================================================ # 分类添加 # ============================================================ @category_blue.route('/add', methods=["POST"]) @check_permission("sys:category:add") @check_demo def add(): """ 添加分类 功能说明: 创建新的分类记录。 Request Body: { "category_name": "分类名称", "category_code": "分类编码(可选)", "parent_id": 0, "sort": 0, "note": "备注(可选)", "type": 1 } Returns: JSON: 操作结果 """ result = category.add_category() return result # ============================================================ # 分类更新 # ============================================================ @category_blue.route('/update', methods=["PUT"]) @check_permission("sys:category:update") @check_demo def update(): """ 更新分类 功能说明: 修改已有分类的信息。 Request Body: { "id": 1, "category_name": "分类名称", "category_code": "分类编码(可选)", "parent_id": 0, "sort": 0, "note": "备注(可选)", "type": 1 } Returns: JSON: 操作结果 """ result = category.update_category() return result # ============================================================ # 分类删除 # ============================================================ @category_blue.route('/delete/', methods=["DELETE"]) @check_permission("sys:category:delete") @check_demo def delete(id): """ 删除分类 Args: id: 分类ID(支持逗号分隔的多个ID) Returns: JSON: 操作结果 """ result = category.delete_categories(id) return result # ============================================================ # 分类数据列表获取 # ============================================================ @category_blue.route('/getCategoryList', methods=["GET"]) def get_category_list(): """ 获取分类数据列表 功能说明: 获取所有分类列表,常用于下拉选择框。 Returns: JSON: 分类列表数据 """ result = category.get_category_data() return R.ok(data=result)