""" 用户角色权限控制器模块 ============================================================= 提供用户角色权限(UserRole)相关的API接口,包括: - 用户角色列表查询 - 用户角色权限保存 所属包: application.views 依赖模块: application.services.user_role - 用户角色业务逻辑层 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 user_role user_role_blue = Blueprint('user_role', __name__, url_prefix='/user/role') from utils import R # ============================================================ # 用户角色列表查询 # ============================================================ @user_role_blue.route('/list/', methods=["GET"]) @check_permission("sys:user:list") def list(user_id): """ 查询用户的角色列表 功能说明: 获取指定用户已分配的角色ID列表。 Args: user_id: 用户ID Returns: JSON: 角色列表 """ role_list = user_role.get_user_role_list(user_id) return R.ok(data=role_list) # ============================================================ # 用户角色权限保存 # ============================================================ @user_role_blue.route('/save', methods=["POST"]) @check_permission("sys:user:save") @check_demo def save(): """ 保存用户角色权限 功能说明: 为指定用户分配角色权限。 Request Body: { "userId": 1, "roleIds": [1, 2, 3] } Returns: JSON: 操作结果 """ from application.forms.user_role import UserRoleForm from utils.request import get_json_data data = get_json_data() if not data: return R.failed("参数不能为空") form = UserRoleForm(data=data) if not form.validate(): from utils.regular import get_error return R.failed(get_error(form)) user_id = form.userId.data role_ids = form.roleIds.data or [] result = user_role.save_user_roles(user_id, role_ids) if result: return R.ok(msg="保存成功") return R.failed("保存失败")