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