refactor(api):前后端半分离

This commit is contained in:
zhengxinonly
2021-07-21 02:19:52 +08:00
parent c26f15ae69
commit 5470837707
26 changed files with 338 additions and 364 deletions
+24
View File
@@ -0,0 +1,24 @@
from flask import Blueprint, render_template
from applications.common.utils.rights import authorize
from applications.view.roles._utils import remove_role, batch_remove_role
role_bp = Blueprint('role', __name__, url_prefix='/admin/role')
# 角色而管理
@role_bp.get('/')
@authorize("admin:role:main", log=True)
def main():
return render_template('admin/role/main.html')
# 角色授权操作
@role_bp.get('/power/<int:_id>')
@authorize("admin:role:power", log=True)
def power(_id):
return render_template('admin/role/power.html', id=_id)
from . import role
+6 -6
View File
@@ -2,9 +2,9 @@ from applications.extensions import db
from applications.models import Power, Role, User
def remove_role(_id):
def remove_role(role_id):
""" 删除角色 """
role = Role.query.filter_by(id=_id).first()
role = Role.query.filter_by(id=role_id).first()
# 删除该角色的权限
power_id_list = []
for p in role.power:
@@ -19,12 +19,12 @@ def remove_role(_id):
users = User.query.filter(User.id.in_(user_id_list)).all()
for u in users:
role.user.remove(u)
r = Role.query.filter_by(id=_id).delete()
r = Role.query.filter_by(id=role_id).delete()
db.session.commit()
return r
def batch_remove_role(ids):
def batch_remove_role(role_ids):
""" 批量删除 """
for _id in ids:
remove_role(_id)
for role_id in role_ids:
remove_role(role_id)
+7 -21
View File
@@ -1,29 +1,22 @@
from flask import Blueprint, render_template, jsonify, make_response
from flask import jsonify
from flask_login import login_required
from flask_restful import Resource, Api, reqparse
from flask_restful import Resource, Api, reqparse, marshal
from applications.extensions import db
from applications.models import Role, Power
from applications.common.utils.http import table_api, success_api, fail_api
from applications.common.utils.rights import authorize
from flask_restful import reqparse, marshal
from applications.common.serialization import power_fields
from applications.view.roles._utils import remove_role, batch_remove_role
from . import role_bp
from ._utils import remove_role, batch_remove_role
# TODO 分离视图操作
from flask import render_template, make_response
role_bp = Blueprint('role', __name__, url_prefix='/admin/role')
role_api = Api(role_bp)
# 角色而管理
@role_bp.get('/')
@authorize("admin:role:main", log=True)
def main():
return render_template('admin/role/main.html')
# 表格数据
@role_bp.get('/data')
@authorize("admin:role:main", log=True)
@@ -87,13 +80,6 @@ class AddRole(Resource):
return success_api(msg="成功")
# 角色授权操作
@role_bp.get('/power/<int:_id>')
@authorize("admin:role:power", log=True)
def power(_id):
return render_template('admin/role/power.html', id=_id)
@role_api.resource('/role_power/<int:role_id>')
class RolePower(Resource):