Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
This commit is contained in:
Executable
+121
@@ -0,0 +1,121 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 用户管理 API 测试脚本
|
||||
|
||||
BASE_URL="http://localhost:8787"
|
||||
TOKEN=""
|
||||
|
||||
echo "==================================="
|
||||
echo "用户管理 API 测试"
|
||||
echo "==================================="
|
||||
echo ""
|
||||
|
||||
# 1. 检查系统状态
|
||||
echo "1. 检查系统状态..."
|
||||
STATUS=$(curl -s "${BASE_URL}/api/auth/status")
|
||||
echo "响应: $STATUS"
|
||||
echo ""
|
||||
|
||||
# 2. Setup 初始管理员(如果需要)
|
||||
NEEDS_SETUP=$(echo "$STATUS" | grep -o '"needs_setup":true' | wc -l)
|
||||
if [ "$NEEDS_SETUP" -gt 0 ]; then
|
||||
echo "2. 创建初始管理员账号..."
|
||||
SETUP_RESULT=$(curl -s -X POST "${BASE_URL}/api/auth/setup" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"username": "admin",
|
||||
"password": "Admin123456!"
|
||||
}')
|
||||
echo "响应: $SETUP_RESULT"
|
||||
TOKEN=$(echo "$SETUP_RESULT" | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
|
||||
echo "Token: $TOKEN"
|
||||
echo ""
|
||||
else
|
||||
echo "2. 系统已初始化,使用 admin 登录..."
|
||||
LOGIN_RESULT=$(curl -s -X POST "${BASE_URL}/login" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"username": "admin",
|
||||
"password": "Admin123456!"
|
||||
}')
|
||||
echo "响应: $LOGIN_RESULT"
|
||||
TOKEN=$(echo "$LOGIN_RESULT" | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
|
||||
echo "Token: $TOKEN"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ -z "$TOKEN" ]; then
|
||||
echo "错误: 未能获取 token,测试终止"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. 列出所有用户
|
||||
echo "3. 列出所有用户 (GET /api/users)..."
|
||||
USERS=$(curl -s -X GET "${BASE_URL}/api/users" \
|
||||
-H "Authorization: Bearer $TOKEN")
|
||||
echo "响应: $USERS"
|
||||
echo ""
|
||||
|
||||
# 4. 创建新用户
|
||||
echo "4. 创建新用户 (POST /api/users)..."
|
||||
CREATE_RESULT=$(curl -s -X POST "${BASE_URL}/api/users" \
|
||||
-H "Authorization: Bearer $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"username": "testuser",
|
||||
"password": "Test123456!",
|
||||
"role": "user"
|
||||
}')
|
||||
echo "响应: $CREATE_RESULT"
|
||||
USER_ID=$(echo "$CREATE_RESULT" | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
echo "新用户ID: $USER_ID"
|
||||
echo ""
|
||||
|
||||
# 5. 获取单个用户
|
||||
if [ -n "$USER_ID" ]; then
|
||||
echo "5. 获取用户详情 (GET /api/users/$USER_ID)..."
|
||||
USER_DETAIL=$(curl -s -X GET "${BASE_URL}/api/users/${USER_ID}" \
|
||||
-H "Authorization: Bearer $TOKEN")
|
||||
echo "响应: $USER_DETAIL"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# 6. 更新用户
|
||||
if [ -n "$USER_ID" ]; then
|
||||
echo "6. 更新用户角色为 admin (PUT /api/users/$USER_ID)..."
|
||||
UPDATE_RESULT=$(curl -s -X PUT "${BASE_URL}/api/users/${USER_ID}" \
|
||||
-H "Authorization: Bearer $TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"role": "admin"
|
||||
}')
|
||||
echo "响应: $UPDATE_RESULT"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# 7. 再次列出所有用户,验证更新
|
||||
echo "7. 再次列出所有用户,验证更新..."
|
||||
USERS=$(curl -s -X GET "${BASE_URL}/api/users" \
|
||||
-H "Authorization: Bearer $TOKEN")
|
||||
echo "响应: $USERS"
|
||||
echo ""
|
||||
|
||||
# 8. 删除用户
|
||||
if [ -n "$USER_ID" ]; then
|
||||
echo "8. 删除测试用户 (DELETE /api/users/$USER_ID)..."
|
||||
DELETE_RESULT=$(curl -s -X DELETE "${BASE_URL}/api/users/${USER_ID}" \
|
||||
-H "Authorization: Bearer $TOKEN")
|
||||
echo "响应: $DELETE_RESULT"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# 9. 最终用户列表
|
||||
echo "9. 最终用户列表..."
|
||||
USERS=$(curl -s -X GET "${BASE_URL}/api/users" \
|
||||
-H "Authorization: Bearer $TOKEN")
|
||||
echo "响应: $USERS"
|
||||
echo ""
|
||||
|
||||
echo "==================================="
|
||||
echo "测试完成"
|
||||
echo "==================================="
|
||||
Reference in New Issue
Block a user