Update: (步骤备份)角色管理页面更新完成并增加参数效验

This commit is contained in:
wojiaoyishang
2025-01-20 14:59:41 +08:00
parent 830b9b246d
commit 9f8fe2c83e
7 changed files with 79 additions and 56 deletions
-6
View File
@@ -119,9 +119,6 @@ def menu():
# 当前节点添加子节点
_dict['children'] = copy.deepcopy(menu_dict[_dict['id']])
_dict['children'].sort(key=lambda item: item['sort'])
# 为每个子菜单添加 "openType": "_component"
for child in _dict['children']:
child['openType'] = '_component'
# 删除子节点
del menu_dict[_dict['id']]
@@ -142,9 +139,6 @@ def menu():
# 当前节点添加子节点
_dict['children'] = copy.deepcopy(menu_dict[_dict['id']])
_dict['children'].sort(key=lambda item: item['sort'])
# 为每个子菜单添加 "openType": "_component"
for child in _dict['children']:
child['openType'] = '_component'
# 删除子节点
del menu_dict[_dict['id']]
+42 -16
View File
@@ -45,21 +45,31 @@ def add():
@authorize("system:role:add", log=True)
def save():
req = request.get_json(force=True)
details = str_escape(req.get("details"))
enable = str_escape(req.get("enable"))
roleCode = str_escape(req.get("roleCode"))
roleName = str_escape(req.get("roleName"))
sort = str_escape(req.get("sort"))
role = Role(
details=details,
enable=enable,
code=roleCode,
name=roleName,
sort=sort
)
data = {
"details": str_escape(req.get("details")),
"enable": str_escape(req.get("enable")),
"code": str_escape(req.get("roleCode")), # 角色标识
"name": str_escape(req.get("roleName")), # 角色名称
"sort": str_escape(req.get("sort"))
}
details = data.get('details')
del data['details']
if not all(data.values()):
return fail_api(msg="参数不足")
data['details'] = details
# 参数效验
if not data['sort'].isdigit():
return fail_api(msg="参数 sort 需为整数")
role = Role(**data)
db.session.add(role)
db.session.commit()
return success_api(msg="成功")
return success_api(msg="添加角色成功")
# 角色授权
@@ -103,6 +113,9 @@ def save_role_power():
role_id = req_form.get("roleId")
role = Role.query.filter_by(id=role_id).first()
if not role:
return fail_api(msg="角色不存在")
powers = Power.query.filter(Power.id.in_(power_list)).all()
role.power = powers
@@ -124,6 +137,7 @@ def edit(id):
def update():
req_json = request.get_json(force=True)
id = req_json.get("roleId")
data = {
"code": str_escape(req_json.get("roleCode")),
"name": str_escape(req_json.get("roleName")),
@@ -131,10 +145,18 @@ def update():
"enable": str_escape(req_json.get("enable")),
"details": str_escape(req_json.get("details"))
}
if not data['enable'].isdigit():
return fail_api(msg="参数 enable 需为整数")
if not data['sort'].isdigit():
return fail_api(msg="参数 sort 需为整数")
role = Role.query.filter_by(id=id).update(data)
db.session.commit()
if not role:
return fail_api(msg="更新角色失败")
return success_api(msg="更新角色成功")
@@ -142,9 +164,9 @@ def update():
@bp.put('/enable')
@authorize("system:role:edit", log=True)
def enable():
id = request.get_json(force=True).get('roleId')
if id:
res = enable_status(Role, id)
_id = request.get_json(force=True).get('roleId')
if _id:
res = enable_status(Role, _id)
if not res:
return fail_api(msg="出错啦")
return success_api(msg="启动成功")
@@ -169,6 +191,10 @@ def dis_enable():
@authorize("system:role:remove", log=True)
def remove(id):
role = Role.query.filter_by(id=id).first()
if not role:
return fail_api(msg="角色不存在")
# 删除该角色的权限和用户
role.power = []
role.user = []