82 lines
2.3 KiB
Python
82 lines
2.3 KiB
Python
|
|
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
|