- git 初始化 + .gitignore 补全(根 .env / logs / instance / __pycache__ 等) - 修复 utils/.gitignore 误将整个 utils/ 源码层忽略的问题,补入全部工具源码(含 ip2region.xdb) - 含后端全部代码:application / extensions / utils / config / migrations - 含前端 ui/(后续整体迁走) - 不含根 .env(含密钥,本地保留) Co-Authored-By: Claude <noreply@anthropic.com>
88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
"""
|
|
用户角色权限控制器模块
|
|
=============================================================
|
|
|
|
提供用户角色权限(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/<int:user_id>', 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("保存失败")
|