# app/api/v1/auth.py from flask import Blueprint, request, jsonify from flask_jwt_extended import jwt_required, get_jwt from app.services.auth_service import AuthService auth_bp = Blueprint('auth', __name__) @auth_bp.route('/login', methods=['POST']) def login(): try: data = request.get_json() if not data.get('username') or not data.get('password'): return jsonify({'msg': '请输入用户名和密码'}), 400 result = AuthService.login(data) return jsonify({'msg': '登录成功', 'data': result}), 200 except Exception as e: return jsonify({'msg': str(e)}), 401 # 新增:创建用户 (替代了原来的注册) @auth_bp.route('/user/create', methods=['POST']) @jwt_required() # 必须携带 Token def create_user(): try: data = request.get_json() # 从 Token 中获取当前操作人的角色 claims = get_jwt() operator_role = claims.get('role') result = AuthService.create_user(data, operator_role) return jsonify({'msg': '用户创建成功', 'data': result}), 201 except Exception as e: # 这里虽然返回 400,但实际可能包含 403 的含义,具体看前端处理 return jsonify({'msg': str(e)}), 400