初始化提交

This commit is contained in:
2025-12-14 15:40:49 +08:00
commit 410b2f068d
72 changed files with 10460 additions and 0 deletions

View 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