From d54eb4dc3ed2e7f1a950f84c9f58ed1ae2fb495b Mon Sep 17 00:00:00 2001 From: zhengxinonly Date: Fri, 20 May 2022 23:56:11 +0800 Subject: [PATCH] =?UTF-8?q?wip:(=E9=87=8D=E6=9E=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=96=B9=E5=BC=8F5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/rights/department.py | 37 ++++---- applications/rights/rights.py | 72 ++++++++------- applications/rights/roles.py | 123 ++++++++++++-------------- applications/system/file.py | 45 +++++----- applications/users/user.py | 30 ++++--- common/utils/http.py | 7 +- templates/admin/roles/roles.html | 2 +- templates/admin/roles/roles_add.html | 2 +- templates/admin/roles/roles_edit.html | 5 +- templates/admin/users/users.html | 1 + 10 files changed, 162 insertions(+), 162 deletions(-) diff --git a/applications/rights/department.py b/applications/rights/department.py index b60e910..27b25d6 100644 --- a/applications/rights/department.py +++ b/applications/rights/department.py @@ -62,17 +62,15 @@ class DepartmentsApi(MethodView): @validate() def post(self, body: DeptModel): - res = body - dept = DepartmentModel( - parent_id=res.parent_id, - dept_name=res.dept_name, - sort=res.sort, - leader=res.leader, - phone=res.phone, - email=res.email, - status=res.status, - address=res.address + parent_id=body.parent_id, + dept_name=body.dept_name, + sort=body.sort, + leader=body.leader, + phone=body.phone, + email=body.email, + status=body.status, + address=body.address ) db.session.add(dept) db.session.commit() @@ -81,18 +79,17 @@ class DepartmentsApi(MethodView): @validate() def put(self, _id, body: DeptModel): - res = body data = { - "dept_name": res.dept_name, - "sort": res.sort, - "leader": res.leader, - "phone": res.phone, - "email": res.email, - "status": res.status, - "address": res.address + "dept_name": body.dept_name, + "sort": body.sort, + "leader": body.leader, + "phone": body.phone, + "email": body.email, + "status": body.status, + "address": body.address } - res = DepartmentModel.query.filter_by(id=_id).update(data) - if not res: + body = DepartmentModel.query.filter_by(id=_id).update(data) + if not body: return fail_api(message="更新失败") db.session.commit() return success_api(message="更新成功") diff --git a/applications/rights/rights.py b/applications/rights/rights.py index 741c20d..29ec2fd 100644 --- a/applications/rights/rights.py +++ b/applications/rights/rights.py @@ -64,22 +64,28 @@ def get_render_config(): # 是否允许用户切换主题,false 时关闭自定义主题面板 "allowCustom": True }, - 'colors': [{ - "id": "1", - "color": "#2d8cf0" - }, { - "id": "2", - "color": "#5FB878" - }, { - "id": "3", - "color": "#1E9FFF" - }, { - "id": "4", - "color": "#FFB800" - }, { - "id": "5", - "color": "darkgray" - }], + 'colors': [ + { + "id": "1", + "color": "#2d8cf0" + }, + { + "id": "2", + "color": "#5FB878" + }, + { + "id": "3", + "color": "#1E9FFF" + }, + { + "id": "4", + "color": "#FFB800" + }, + { + "id": "5", + "color": "darkgray" + }, + ], 'links': current_app.config.get("SYSTEM_PANEL_LINKS"), 'other': { # 主页动画时长 @@ -209,16 +215,15 @@ class RightsApi(MethodView): class PowerApi(MethodView): @validate() def post(self, body: PowerModel): - res = body power = RightModel( - icon=res.icon, - open_type=res.open_type, - parent_id=res.parent_id, - code=res.power_code, - name=res.power_name, - type=res.power_type, - url=res.power_url, - sort=res.sort, + icon=body.icon, + open_type=body.open_type, + parent_id=body.parent_id, + code=body.power_code, + name=body.power_name, + type=body.power_type, + url=body.power_url, + sort=body.sort, enable=1 ) try: @@ -250,16 +255,15 @@ class PowerApi(MethodView): @validate() def put(self, _id, body: PowerModel): - res = body data = { - "icon": res.icon, - "open_type": res.open_type, - "parent_id": res.parent_id, - "code": res.power_code, - "name": res.power_name, - "type": res.power_type, - "url": res.power_url, - "sort": res.sort + "icon": body.icon, + "open_type": body.open_type, + "parent_id": body.parent_id, + "code": body.power_code, + "name": body.power_name, + "type": body.power_type, + "url": body.power_url, + "sort": body.sort } power = RightModel.query.filter_by(id=_id).update(data) db.session.commit() diff --git a/applications/rights/roles.py b/applications/rights/roles.py index 93c864f..5656f49 100644 --- a/applications/rights/roles.py +++ b/applications/rights/roles.py @@ -1,3 +1,4 @@ +from flask import request from flask.views import MethodView from flask_restful import reqparse @@ -49,49 +50,46 @@ class RoleRoleApi(MethodView): def get(self, _id): if not _id: - parser = reqparse.RequestParser(bundle_errors=True) - parser.add_argument('page', type=int, default=1) - parser.add_argument('limit', type=int, default=10) - parser.add_argument('roleName', type=str, dest='role_name', default="") - parser.add_argument('roleCode', type=str, dest='role_code', default="") - - res = parser.parse_args() + page = request.args.get('page', default=1, type=int) + limit = request.args.get('limit', default=10, type=int) + role_name = request.args.get('roleName', default="", type=str) + role_code = request.args.get('roleCode', default="", type=str) filters = [] - if res.role_name: - filters.append(RoleModel.name.like('%' + res.role_name + '%')) - if res.role_code: - filters.append(RoleModel.code.like('%' + res.role_code + '%')) + if role_name: + filters.append(RoleModel.name.like('%' + role_name + '%')) + if role_code: + filters.append(RoleModel.code.like('%' + role_code + '%')) - paginate = RoleModel.query.filter(*filters).paginate(page=res.page, per_page=res.limit, error_out=False) + paginate = RoleModel.query.filter(*filters).paginate(page=page, per_page=limit, error_out=False) - return table_api(result={'items': [{'id': item.id, - 'roleName': item.name, - 'roleCode': item.code, - 'enable': item.enable, - 'comment': item.comment, - 'details': item.details, - 'sort': item.sort, - } for item in paginate.items], - 'total': paginate.total} - , code=0) + return table_api( + result={ + 'items': [{'id': item.id, + 'roleName': item.name, + 'roleCode': item.code, + 'enable': item.enable, + 'comment': item.comment, + 'details': item.details, + 'sort': item.sort, + } for item in paginate.items], + 'total': paginate.total} + , code=0) def post(self): - parser = reqparse.RequestParser() - parser.add_argument('details', type=str) - parser.add_argument('enable', type=int) - parser.add_argument('roleCode', type=str, dest='role_code') - parser.add_argument('roleName', type=str, dest='role_name') - parser.add_argument('sort', type=int) - - res = parser.parse_args() + # TODO 添加校验 + details = request.json.get('details', '') + enable = request.json.get('enable', 0) + role_code = request.json.get('roleCode', '') + role_name = request.json.get('roleName', '') + sort = request.json.get('sort', 0) role = RoleModel( - details=res.details, - enable=res.enable, - code=res.role_code, - name=res.role_name, - sort=res.sort + details=details, + enable=int(enable), + code=role_code, + name=role_name, + sort=int(sort) ) db.session.add(role) db.session.commit() @@ -99,22 +97,19 @@ class RoleRoleApi(MethodView): # 更新角色 def put(self, _id): - parser = reqparse.RequestParser() - parser.add_argument('roleId', dest='role_id', type=int) - parser.add_argument('roleCode', dest='role_code', type=str) - parser.add_argument('roleName', dest='role_name', type=str) - parser.add_argument('sort', type=int) - parser.add_argument('enable', type=int) - parser.add_argument('details', type=str) - - res = parser.parse_args() + # TODO 添加校验 + role_code = request.json.get('roleCode', 0) + role_name = request.json.get('roleName', '') + sort = request.json.get('sort', 0) # int + enable = request.json.get('enable', 0) # int + details = request.json.get('details', '') data = { - "code": res.role_code, - "name": res.role_name, - "sort": res.sort, - "enable": res.enable, - "details": res.details + "code": role_code, + "name": role_name, + "sort": sort, + "enable": enable, + "details": details } role = RoleModel.query.filter_by(id=_id).update(data) @@ -144,17 +139,18 @@ class RolePowerApi(MethodView): # 获取权限列表的 id check_powers_list = [rp.id for rp in role.power] powers = RightModel.query.all() # 获取所有的权限 - powers = [{ - 'powerId': item.id, - 'powerName': item.name, - 'powerType': item.type, - 'powerUrl': item.url, - 'openType': item.open_type, - 'parentId': item.parent_id, - 'icon': item.icon, - 'sort': item.sort, - 'enable': item.enable, - } for item in powers] + powers = [ + { + 'powerId': item.id, + 'powerName': item.name, + 'powerType': item.type, + 'powerUrl': item.url, + 'openType': item.open_type, + 'parentId': item.parent_id, + 'icon': item.icon, + 'sort': item.sort, + 'enable': item.enable, + } for item in powers] for i in powers: if int(i.get("powerId")) in check_powers_list: i["checkArr"] = "1" @@ -167,12 +163,9 @@ class RolePowerApi(MethodView): # 保存角色权限 def put(self, _id): - parser = reqparse.RequestParser() - parser.add_argument('powerIds', dest='power_ids') - parser.add_argument('roleId', dest='role_id') + power_ids = request.json.get('powerIds', '') - res = parser.parse_args() - power_list = res.power_ids.split(',') + power_list = power_ids.split(',') """ 更新角色权限 """ role = RoleModel.query.filter_by(id=_id).first() diff --git a/applications/system/file.py b/applications/system/file.py index f958e8d..ae643db 100644 --- a/applications/system/file.py +++ b/applications/system/file.py @@ -13,10 +13,9 @@ class FilePhotoAPI(MethodView): if photo_id is None: page = request.args.get('page', type=int, default=1) limit = request.args.get('limit', type=int, default=10) - photo_paginate = PhotoModel.query.order_by(desc(PhotoModel.create_at) - ).paginate(page=page, - per_page=limit, - error_out=False) + photo_paginate = PhotoModel.query.order_by( + desc(PhotoModel.create_at)).paginate( + page=page, per_page=limit, error_out=False) data = [ { 'id': item.id, @@ -28,23 +27,30 @@ class FilePhotoAPI(MethodView): 'create_at': str(item.create_at), } for item in photo_paginate.items ] - return table_api(result={'items': data, - 'total': photo_paginate.total, }, - code=0) + return table_api( + result={ + 'items': data, + 'total': photo_paginate.total, + }, + code=0) else: # 显示一张图片 item = PhotoModel.query.get(photo_id) - return table_api(result={'items': { - 'id': item.id, - 'name': item.name, - 'href': item.href, - 'mime': item.mime, - 'size': item.size, - 'ext': item.ext if hasattr(item, 'ext') else "", - 'create_at': str(item.create_at), - }, - 'total': 1, }, - code=0) + return table_api( + result={ + 'items': { + 'id': item.id, + 'name': item.name, + 'href': item.href, + 'mime': item.mime, + 'size': item.size, + 'ext': item.ext if hasattr(item, 'ext') else "", + 'create_at': str(item.create_at), + }, + 'total': 1, + }, + code=0 + ) def post(self): if 'file' in request.files: @@ -56,8 +62,7 @@ class FilePhotoAPI(MethodView): "message": "上传成功", "code": 0, "success": True, - "data": - {"src": file_url} + "data": {"src": file_url}, } return jsonify(res) return fail_api() diff --git a/applications/users/user.py b/applications/users/user.py index 9f0836e..5abac61 100644 --- a/applications/users/user.py +++ b/applications/users/user.py @@ -90,20 +90,20 @@ class UserApi(MethodView): """修改用户数据""" @validate() - def get(self, _id, body: QueryModel): + def get(self, _id, query: QueryModel): filters = [] - if body.real_name: - filters.append(UserModel.realname.like('%' + body.real_name + '%')) - if body.username: - filters.append(UserModel.username.like('%' + body.username + '%')) - if body.dept_id: - filters.append(UserModel.dept_id == body.dept_id) + if query.real_name: + filters.append(UserModel.realname.like('%' + query.real_name + '%')) + if query.username: + filters.append(UserModel.username.like('%' + query.username + '%')) + if query.dept_id: + filters.append(UserModel.dept_id == query.dept_id) - paginate = UserModel.query.filter(*filters).paginate(page=body.page, - per_page=body.limit, - error_out=False) + paginate = UserModel.query.filter( + *filters).paginate( + page=query.page, per_page=query.limit, error_out=False) dept_name = lambda _id: DepartmentModel.query.filter_by(id=_id).first().dept_name if _id else "" user_data = [{ @@ -115,9 +115,13 @@ class UserApi(MethodView): 'update_at': str(item.update_at), 'dept': dept_name(item.dept_id), } for item in paginate.items] - return table_api(result={'items': user_data, - 'total': paginate.total} - , code=0) + return table_api( + result={ + 'items': user_data, + 'total': paginate.total, + } + , code=0 + ) @validate() def post(self, body: PersonModel): diff --git a/common/utils/http.py b/common/utils/http.py index 7f8180d..d61f7ec 100644 --- a/common/utils/http.py +++ b/common/utils/http.py @@ -3,12 +3,12 @@ import typing as t def success_api(message: str = "成功", code: int = 200) -> t.Dict: """ 成功响应 默认值”成功“ """ - return dict(success=True, message=message, code=code) + return {'success': True, 'message': message, 'code': code} def fail_api(message: str = "失败", code: int = 404) -> t.Dict: """ 失败响应 默认值“失败” """ - return dict(success=False, message=message, code=code) + return {'success': False, 'message': message, 'code': code} def table_api(success: bool = True, @@ -27,10 +27,9 @@ def table_api(success: bool = True, 注:lay_ui 表格数据需要指定 code=0 """ - ret = { + return { 'success': success, 'message': message, 'code': code, 'result': result, } - return ret diff --git a/templates/admin/roles/roles.html b/templates/admin/roles/roles.html index bcb47b2..8b69edc 100644 --- a/templates/admin/roles/roles.html +++ b/templates/admin/roles/roles.html @@ -182,7 +182,7 @@ layer.close(index) let loading = layer.load() $.ajax({ - url: '/api/v1/roles/roles/role_power/' + obj.data['id'], + url: '/api/v1/roles/role_power/' + obj.data['id'], dataType: 'json', type: 'delete', success: function (result) { diff --git a/templates/admin/roles/roles_add.html b/templates/admin/roles/roles_add.html index b0f6f95..f4a3754 100644 --- a/templates/admin/roles/roles_add.html +++ b/templates/admin/roles/roles_add.html @@ -68,7 +68,7 @@ form.on('submit(role-save)', function (data) { $.ajax({ - url: '/api/v1/roles/role/0', + url: '/api/v1/roles/role/', data: JSON.stringify(data.field), dataType: 'json', contentType: 'application/json', diff --git a/templates/admin/roles/roles_edit.html b/templates/admin/roles/roles_edit.html index 4a35a39..a7709f9 100644 --- a/templates/admin/roles/roles_edit.html +++ b/templates/admin/roles/roles_edit.html @@ -75,9 +75,6 @@ {% block models_script %}