2022-05-24 02:25:59 +08:00
|
|
|
|
from flask import Blueprint, request
|
|
|
|
|
|
2022-05-25 16:12:53 +08:00
|
|
|
|
from Modules.AdminUser.UserImpl import UserImpl, EmailVcodeCheckerImpl
|
2022-05-25 16:18:55 +08:00
|
|
|
|
from Modules.AdminUser.UserUtils import UserUtils
|
2022-05-25 16:12:53 +08:00
|
|
|
|
from Utils.ErrorUtil import AttrCheckError
|
2022-05-24 02:25:59 +08:00
|
|
|
|
from Modules.AdminUser.UserAuthUtils 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', methods=['POST'])
|
2022-05-26 14:35:09 +08:00
|
|
|
|
# @verify_token
|
|
|
|
|
# @authority_scope(['admin'])
|
2022-05-24 02:25:59 +08:00
|
|
|
|
def create_user_route(**kwargs):
|
|
|
|
|
"""新建用户"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
|
|
|
|
|
2022-05-25 14:41:58 +08:00
|
|
|
|
impl = UserImpl()
|
2022-05-24 02:25:59 +08:00
|
|
|
|
|
2022-05-25 14:41:58 +08:00
|
|
|
|
impl.create(
|
|
|
|
|
req['email'],
|
|
|
|
|
req['name'],
|
|
|
|
|
UserUtils.decrypt_data(encrypt_msg=req['pwd']),
|
|
|
|
|
req['role']
|
2022-05-24 02:25:59 +08:00
|
|
|
|
)
|
2022-05-25 14:41:58 +08:00
|
|
|
|
|
|
|
|
|
return {"info": "用户创建成功"}, 200
|
|
|
|
|
except AssertionError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|
|
|
|
|
except AttrCheckError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|
2022-05-24 02:25:59 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_route.route('/login', methods=['POST'])
|
|
|
|
|
def login_route():
|
|
|
|
|
"""登录"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
2022-05-25 15:45:31 +08:00
|
|
|
|
impl = UserImpl()
|
|
|
|
|
|
|
|
|
|
result = impl.login(
|
|
|
|
|
req['email'],
|
|
|
|
|
req['pwd'],
|
|
|
|
|
req['vcode']
|
|
|
|
|
)
|
|
|
|
|
|
2022-05-24 02:25:59 +08:00
|
|
|
|
return {"info": "登录成功", "result": result}, 200
|
2022-05-25 15:45:31 +08:00
|
|
|
|
except AssertionError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|
|
|
|
|
except AttrCheckError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|
2022-05-24 02:25:59 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@user_route.route('/send_vcode', methods=['POST'])
|
|
|
|
|
def send_vcode_to_user_route():
|
|
|
|
|
"""发送验证码"""
|
|
|
|
|
try:
|
|
|
|
|
req = request.json
|
2022-05-25 15:45:31 +08:00
|
|
|
|
obj = EmailVcodeCheckerImpl()
|
2022-05-24 02:25:59 +08:00
|
|
|
|
obj.email = req['email']
|
|
|
|
|
obj.send_vcode_email()
|
|
|
|
|
return {"info": "发送成功"}, 200
|
2022-05-25 15:46:04 +08:00
|
|
|
|
except AssertionError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|
|
|
|
|
except AttrCheckError as e:
|
|
|
|
|
return {"info": e.__str__()}, 202
|