129 lines
3.2 KiB
Python
129 lines
3.2 KiB
Python
from flask import Blueprint, request
|
||
|
||
from Utils.ErrorUtil import ReturnConditionCheckFailed
|
||
from user.user_impl import UserManageImpl, UserImpl
|
||
from user.user_obj import UserManage, UserOperation
|
||
from user.user_auth import verify_token, authority_scope
|
||
|
||
user_route = Blueprint('user', __name__)
|
||
|
||
|
||
@user_route.route('/online_check', methods=['GET'])
|
||
@verify_token
|
||
def online_check_route(**kwargs):
|
||
"""
|
||
在线检查,检查token是否有效
|
||
"""
|
||
return {"info": "正常"}, 200
|
||
|
||
|
||
@user_route.route('/create_user', methods=['POST'])
|
||
@verify_token
|
||
@authority_scope(['admin'])
|
||
def create_user_route(**kwargs):
|
||
"""新建用户"""
|
||
try:
|
||
req = request.json
|
||
user = UserImpl()
|
||
user.email, user.name, user.pwd, user.role = req['email'], req['name'], req['pwd'], req['role']
|
||
user.check_user_obj(["email", "name", "pwd", "role"])
|
||
user.create()
|
||
return {"info": "用户创建成功"}
|
||
except ReturnConditionCheckFailed as e:
|
||
e.log_error()
|
||
return {"info": e.__str__()}, e.status_code
|
||
|
||
|
||
@user_route.route('/list_user', methods=['POST'])
|
||
@verify_token
|
||
@authority_scope(['admin'])
|
||
def list_user_route(**kwargs):
|
||
"""
|
||
用户信息列表接口
|
||
"""
|
||
req = request.json
|
||
user = UserManageImpl()
|
||
result = user.list_user(
|
||
req['search'],
|
||
req['sort'],
|
||
req['page_size'],
|
||
req['page_no']
|
||
)
|
||
return {"info": '查询结果', "result": result}, 200
|
||
|
||
|
||
@user_route.route('/send_vcode_to_user', methods=['POST'])
|
||
def send_vcode_to_user_route():
|
||
"""
|
||
发送验证码
|
||
"""
|
||
req = request.json
|
||
user_manage = UserManage()
|
||
user_manage.email = req['email']
|
||
result = user_manage.send_vcode_to_user()
|
||
if result is True:
|
||
return {"info": "验证邮件已发送"}, 200
|
||
else:
|
||
return {"info": result}, 200
|
||
|
||
|
||
@user_route.route('/login', methods=['POST'])
|
||
def login_route():
|
||
"""
|
||
登录
|
||
"""
|
||
req = request.json
|
||
|
||
uo = UserOperation()
|
||
uo.email, uo.pwd, uo.vcode = req['email'], req['pwd'], req['vcode']
|
||
|
||
result = uo.login()
|
||
if type(result) == dict:
|
||
return {"info": "登录成功", "result": result}, 200
|
||
else:
|
||
return {"info": result}, 200
|
||
|
||
|
||
@user_route.route('/disable_user', methods=['GET'])
|
||
@verify_token
|
||
@authority_scope(['admin'])
|
||
def disable_user_route(**kwargs):
|
||
"""
|
||
停用用户接口
|
||
"""
|
||
uo = UserOperation()
|
||
uo.uid = request.args.get('UID')
|
||
uo.deactivate()
|
||
return {"info": "停用成功"}, 200
|
||
|
||
|
||
@user_route.route('/delete_user', methods=['GET'])
|
||
@verify_token
|
||
@authority_scope(['admin'])
|
||
def delete_user_route(**kwargs):
|
||
"""
|
||
删除用户接口
|
||
"""
|
||
uo = UserOperation()
|
||
uo.uid = request.args.get('UID')
|
||
uo.delete()
|
||
return {"info": "删除成功"}, 200
|
||
|
||
|
||
@user_route.route('/manage_role_of_user', methods=['POST'])
|
||
@verify_token
|
||
@authority_scope(['admin'])
|
||
def manage_role_of_user_route(**kwargs):
|
||
"""
|
||
管理用户角色接口
|
||
"""
|
||
req = request.json
|
||
|
||
uo = UserOperation()
|
||
uo.uid, uo.role = req['uid'], req['role']
|
||
result = uo.manage()
|
||
if result:
|
||
return {"info": "修改成功"}, 200
|
||
else:
|
||
return {"info": "修改失败"}, 210
|