from flask import Blueprint, request from user.user_obj import UserManage, UserOperation from user.user_auth import verify_token, authority_scope user_route = Blueprint('user', __name__) @user_route.route('/send_vcode_to_user', methods=['POST']) def send_vcode_to_user_route(): """ 发送验证码 """ um = UserManage() um.email = request.json['email'] res = um.send_vcode_to_user() if res is True: return {"info": "验证邮件已发送"}, 200 else: return {"info": res}, 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('/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): """ 新建用户 """ req = request.json um = UserManage() um.email, um.name, um.pwd, um.role = req['email'], req['name'], req['pwd'], req['role'] result = um.create_user() if result is True: return {"info": "新建用户成功"}, 200 else: return {"info": result}, 200 @user_route.route('/list_user', methods=['GET']) @verify_token @authority_scope(['admin']) def list_user_route(**kwargs): """ 用户信息列表接口 """ uo = UserOperation() uo.criteria = request.args.get('criteria') uo.skip = int(request.args.get('skip')) uo.limit = int(request.args.get('limit')) result = uo.query() return {"info": '查询成功', "result": 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