Files
aiagent/saars/backend/scripts/check_platform_login.sh
2026-03-07 13:59:49 +08:00

68 lines
2.4 KiB
Bash
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.
#!/bin/bash
# 检查 8037 平台是否可访问,以及登录接口是否可用
# 用法: bash scripts/check_platform_login.sh
# 或指定账号: PLATFORM_USERNAME=你的账号 PLATFORM_PASSWORD=你的密码 bash scripts/check_platform_login.sh
BASE_URL="${PLATFORM_BASE_URL:-http://101.43.95.130:8037}"
USER="${PLATFORM_USERNAME:-admin}"
PASS="${PLATFORM_PASSWORD:-123456}"
echo "=== 1. 检查 8037 是否可访问 ==="
echo "GET $BASE_URL"
if curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 "$BASE_URL" | grep -qE '^[23]'; then
echo " 可访问"
else
echo " 无法访问或超时,请检查 8037 服务是否启动、防火墙/安全组是否放行"
exit 1
fi
echo ""
echo "=== 2. 尝试登录(先 form再 JSON ==="
# 先试 form8037 可能只接受 form
echo "2a. POST form: username=$USER, password=***"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/v1/auth/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=$USER&password=$PASS" \
--connect-timeout 10)
HTTP_BODY=$(echo "$RESP" | head -n -1)
HTTP_CODE=$(echo "$RESP" | tail -n 1)
if [ "$HTTP_CODE" != "200" ] && [ "$HTTP_CODE" != "201" ]; then
echo " form 状态: $HTTP_CODE, 响应: $HTTP_BODY"
echo "2b. POST JSON: {\"username\":\"$USER\",\"password\":\"***\"}"
RESP=$(curl -s -w "\n%{http_code}" -X POST "$BASE_URL/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d "{\"username\":\"$USER\",\"password\":\"$PASS\"}" \
--connect-timeout 10)
HTTP_BODY=$(echo "$RESP" | head -n -1)
HTTP_CODE=$(echo "$RESP" | tail -n 1)
fi
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "201" ]; then
echo " 状态: $HTTP_CODE 成功"
if echo "$HTTP_BODY" | grep -q "access_token"; then
echo " 响应含 access_token登录正常"
else
echo " 响应无 access_token内容: $HTTP_BODY"
fi
elif [ "$HTTP_CODE" = "401" ]; then
echo " 状态: 401 未授权"
echo " 响应: $HTTP_BODY"
echo " -> 请确认 8037 上账号 $USER 的密码是否正确"
exit 1
elif [ "$HTTP_CODE" = "422" ]; then
echo " 状态: 422 参数错误"
echo " 响应: $HTTP_BODY"
echo " -> 8037 可能要求 form 或不同字段名,已尝试 form 与 JSON"
exit 1
else
echo " 状态: $HTTP_CODE"
echo " 响应: $HTTP_BODY"
exit 1
fi
echo ""
echo "=== 3. 若上面都成功SAARS 后端应能正常代理知你客服 ==="
echo " 重启后端: cd saars && docker compose restart backend"