初始化提交
This commit is contained in:
70
NBATransfer-backend/routes/auth.py
Normal file
70
NBATransfer-backend/routes/auth.py
Normal file
@@ -0,0 +1,70 @@
|
||||
"""认证相关路由"""
|
||||
from flask import Blueprint, request, jsonify
|
||||
from flask_jwt_extended import jwt_required, get_jwt_identity, create_access_token
|
||||
from services.auth_service import AuthService
|
||||
from services.user_service import UserService
|
||||
|
||||
auth_bp = Blueprint('auth', __name__)
|
||||
|
||||
@auth_bp.route('/send-verification-code', methods=['POST'])
|
||||
def send_verification_code():
|
||||
"""发送验证码"""
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.send_verification_code(data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/register', methods=['POST'])
|
||||
def register():
|
||||
"""用户注册 - 需要验证码"""
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.register(data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/login', methods=['POST'])
|
||||
def login():
|
||||
"""用户登录"""
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.login(data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/me', methods=['GET'])
|
||||
@jwt_required()
|
||||
def get_current_user():
|
||||
"""获取当前用户信息"""
|
||||
current_user_id = get_jwt_identity()
|
||||
result, status_code = UserService.get_profile(current_user_id)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/change-password', methods=['POST'])
|
||||
@jwt_required()
|
||||
def change_password():
|
||||
"""修改密码"""
|
||||
current_user_id = get_jwt_identity()
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.change_password(current_user_id, data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/reset-password', methods=['POST'])
|
||||
def reset_password():
|
||||
"""重置密码 - 需要验证码"""
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.reset_password(data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/verify-code', methods=['POST'])
|
||||
def verify_code():
|
||||
"""验证验证码是否有效(不标记为已使用)"""
|
||||
data = request.get_json()
|
||||
result, status_code = AuthService.verify_code(data)
|
||||
return jsonify(result), status_code
|
||||
|
||||
@auth_bp.route('/refresh', methods=['POST'])
|
||||
@jwt_required(refresh=True)
|
||||
def refresh():
|
||||
"""刷新访问令牌"""
|
||||
current_user_id = get_jwt_identity()
|
||||
access_token = create_access_token(identity=current_user_id)
|
||||
|
||||
return jsonify({
|
||||
'access_token': access_token
|
||||
}), 200
|
||||
Reference in New Issue
Block a user