from flask import Blueprint, request from Utils.ErrorUtil import ReturnConditionCheckFailed from user.user_impl import UserManageImpl, ListUserImpl, UserLoginImpl, SendLoginVcodeEmailImpl 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_manage = UserManageImpl() user_manage.email, user_manage.name, user_manage.pwd, user_manage.role = req['email'], req['name'], req['pwd'], req['role'] user_manage.check_obj(columns=["email", "name", "pwd", "role"]) user_manage.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): """ 用户信息列表接口 """ try: req = request.json list_user = ListUserImpl( req['search'], req['sort'], req['page_size'], req['page_no'] ) list_user.check_obj() result = list_user.list() return {"info": '查询结果', "result": result}, 200 except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.__str__()}, e.status_code @user_route.route('/login', methods=['POST']) def login_route(): """登录""" try: req = request.json user_login = UserLoginImpl() user_login.email, user_login.pwd, user_login.vcode = req['email'], req['pwd'], req['vcode'] user_login.check_obj() user_login.login() result = user_login.dict_to_show() return {"info": "登录成功", "result": result}, 200 except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.__str__()}, e.status_code @user_route.route('/send_vcode_to_user', methods=['POST']) def send_vcode_to_user_route(): """发送验证码""" try: req = request.json obj = SendLoginVcodeEmailImpl() obj.email = req['email'] obj.check_obj() obj.send_vcode_email() return {"info": "发送成功"}, 200 except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.__str__()}, e.status_code @user_route.route('/disable_user', methods=['GET']) @verify_token @authority_scope(['admin']) def disable_user_route(**kwargs): """停用用户接口""" try: user = UserManageImpl() user.uid = request.args['UID'] user.status = "disable" user.check_obj(columns=["uid", "status"]) user.disable() return {"info": "已停用该用户"}, 200 except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.__str__()}, e.status_code @user_route.route('/active_user', methods=['GET']) @verify_token @authority_scope(['admin']) def active_user_route(**kwargs): """激活用户接口""" try: user = UserManageImpl() user.uid = request.args['UID'] user.status = "normal" user.check_obj(columns=["uid", "status"]) user.active() return {"info": "已激活该用户"}, 200 except ReturnConditionCheckFailed as e: e.log_error() return {"info": e.__str__()}, e.status_code @user_route.route('/delete_user', methods=['GET']) @verify_token @authority_scope(['admin']) def delete_user_route(**kwargs): """删除用户接口""" return {"info": "调整中"}, 200 @user_route.route('/manage_role_of_user', methods=['POST']) @verify_token @authority_scope(['admin']) def manage_role_of_user_route(**kwargs): """管理用户角色接口""" return {"info": "调整中"}, 200