tfse-app-api-v0.2/user/user_routes.py

241 lines
5.3 KiB
Python

from flask import Blueprint, request, Response
from user.user_auth import check_block, verify_token
from user.user_obj import User, UserOperation
user_route = Blueprint('user', __name__)
@user_route.route('/login', methods=['POST'])
@check_block
def login():
"""
登录
Parameters:
email 邮箱
pwd 密码
Returns:
response: 回复
info: 信息
result: 结果
status: 状态码
"""
user = User()
user.email = request.json['email']
user.pwd = request.json['pwd']
info, result = user.login()
status = 200 if info == "登录成功" else 210
return {"info": info, "result": result}, status
@user_route.route('/register', methods=['POST'])
@check_block
def register():
"""
注册
Parameters:
email 邮箱
pwd 密码
code 验证码
Returns:
response: 回复
info: 信息
status: 状态码
"""
uo = UserOperation()
uo.email = request.json['email']
uo.pwd = request.json['pwd']
uo.code = request.json['code']
info = uo.register()
response = {"info": info}, 200
return response
@user_route.route('/change_pwd', methods=['POST'])
@check_block
def change_pwd():
"""
修改密码
Parameters:
email 邮箱
pwd 密码
code 验证码
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.email = request.json['email']
user.pwd = request.json['pwd']
info = user.change_pwd(request.json['code'])
return {"info": info}, 200
@user_route.route('/change_email', methods=['POST'])
@check_block
@verify_token
def change_email(**kwargs):
"""
更换绑定邮箱
Parameters:
email 邮箱
code 验证码
cid 企业ID
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.cid = kwargs['cid']
user.email = request.json['email']
info = user.change_email(request.json['code'])
return {"info": info}, 200
@user_route.route('/get_avatar', methods=['GET'])
@verify_token
def get_avatar(**kwargs):
"""
头像显示
Parameters:
-
Returns:
response 图片二进制文件流
"""
user = User()
user.cid = kwargs['cid']
response = Response(user.get_avatar(), content_type='image/jpeg')
return response
@user_route.route('/change_avatar', methods=['POST'])
@verify_token
def change_avatar(**kwargs):
"""
修改头像
Parameters:
avatar_id 头像ID
Returns:
info
"""
user = User()
user.cid = kwargs['cid']
info = user.change_avatar(request.json['avatar_id'])
return {"info": info}, 200
@user_route.route('/upload_id_card', methods=['POST'])
@verify_token
def upload_id_card(**kwargs):
"""
上传身份证
Parameters:
image 身份证正面图片
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.cid = kwargs['cid']
info, result = user.upload_id_card(request.files['image'])
status = 200 if info == '识别正确' else 210
return {"info": info, "result": result}, status
@user_route.route('/upload_business_license', methods=['POST'])
@verify_token
def upload_business_license(**kwargs):
"""
上传营业执照
Parameters:
image 营业执照图片
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.cid = kwargs['cid']
info, result = user.upload_business_license(request.files['image'])
status = 200 if info == '识别正确' else 210
return {"info": info, "result": result}, status
@user_route.route('/company_verify', methods=['GET'])
@verify_token
def company_verify(**kwargs):
"""
企业认证
Parameters:
-
Returns:
response: 回复
info: 信息
status: 状态码
"""
uo = UserOperation()
uo.cid = kwargs['cid']
info = uo.real_company_verify()
status = 200 if info == '认证成功' else 210
return {"info": info}, status
@user_route.route('/verify_email', methods=['POST'])
@check_block
def verify_email():
"""
邮箱验证
Parameters:
email 邮箱
v_type 验证类型
register 注册
resetpwd 修改密码
resetemail 修改邮箱
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.email = request.json['email']
info = user.send_verify_mail(request.json['v_type'])
return {"info": info}, 200
@user_route.route('/feedback', methods=['POST'])
# @check_block
def feedback():
"""
留言反馈
Parameters:
content 反馈内容
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
info = user.feedback(request.json['content'])
return {"info": info}, 200
@user_route.route('/user_info', methods=['GET'])
@verify_token
def user_info(**kwargs):
"""
用户信息
Parameters:
cid 企业ID
Returns:
response: 回复
info: 信息
status: 状态码
"""
user = User()
user.cid = kwargs['cid']
result = user.user_info()
return {"info": "查询成功", "result": result}