student_server/user_add.py
2025-12-09 09:28:29 +08:00

82 lines
2.3 KiB
Python
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from flask import Blueprint, request, jsonify
from db_con import con_mysql
user_add_bp = Blueprint('user_add', __name__)
"""
API接口添加用户
接口路径POST /api/user/add
请求体示例:
{
"username": "testuser",
"password": "12345678"
}
字段说明:
- username (必需):字符串,用户名(最长8个字符)
- password (可选):字符串,密码(最长8个字符)
"""
@user_add_bp.route('/api/user/add', methods=['POST'])
def add_user():
try:
data = request.get_json()
# 验证必需字段
if not data:
return jsonify({
"success": False,
"message": "请求数据不能为空"
}), 400
username = data.get('username')
password = data.get('password')
# 验证用户名是否为空
if not username:
return jsonify({
"success": False,
"message": "用户名不能为空"
}), 400
# 验证用户名长度
if len(username) > 8:
return jsonify({
"success": False,
"message": "用户名长度不能超过8个字符"
}), 400
# 构建SQL语句
sql = """
INSERT INTO group3_user (username, password)
VALUES (%s, %s)
"""
params = (username, password)
# 执行SQL
result = con_mysql(sql, params)
if result['success']:
return jsonify({
"success": True,
"message": "用户添加成功",
"data": {
"username": username,
"password": password,
"affected_rows": result.get('affected_rows')
}
}), 201
else:
return jsonify({
"success": False,
"message": "添加用户失败",
"error": result.get('error', '未知错误')
}), 500
except Exception as e:
return jsonify({
"success": False,
"message": "服务器内部错误",
"error": str(e)
}), 500