#!/bin/bash BASE_URL="http://localhost:8080" PASS=0 FAIL=0 test_api() { local method=$1 local url=$2 local data=$3 local desc=$4 local token=$5 if [ -n "$token" ]; then if [ "$method" = "GET" ]; then response=$(curl -s -w "\n%{http_code}" -H "Authorization: Bearer $token" "$BASE_URL$url" 2>/dev/null) else response=$(curl -s -w "\n%{http_code}" -X "$method" -H "Authorization: Bearer $token" -H "Content-Type: application/json" -d "$data" "$BASE_URL$url" 2>/dev/null) fi else if [ "$method" = "GET" ]; then response=$(curl -s -w "\n%{http_code}" "$BASE_URL$url" 2>/dev/null) else response=$(curl -s -w "\n%{http_code}" -X "$method" -H "Content-Type: application/json" -d "$data" "$BASE_URL$url" 2>/dev/null) fi fi http_code=$(echo "$response" | tail -1) body=$(echo "$response" | head -n -1) if [ "$http_code" = "200" ]; then echo "✓ $desc" PASS=$((PASS + 1)) else echo "✗ $desc (HTTP $http_code)" FAIL=$((FAIL + 1)) fi } echo "==========================================" echo "Phase 1: 基础设施与用户体系" echo "==========================================" # 1. 管理员登录 echo "--- 管理员登录 ---" admin_login=$(curl -s -X POST "$BASE_URL/api/admin/auth/login" -H "Content-Type: application/json" -d '{"username":"admin","password":"admin123"}') ADMIN_TOKEN=$(echo "$admin_login" | grep -o '"token":"[^"]*"' | cut -d'"' -f4) if [ -n "$ADMIN_TOKEN" ]; then echo "✓ 管理员登录成功" PASS=$((PASS + 1)) else echo "✗ 管理员登录失败" FAIL=$((FAIL + 1)) fi # 2. 首页接口 test_api "GET" "/api/wx/home/index" "" "首页信息" test_api "GET" "/api/wx/home/market-prices" "" "今日行情" test_api "GET" "/api/wx/home/statistics" "" "统计数据" echo "" echo "==========================================" echo "Phase 2a: 果农核心功能" echo "==========================================" # 先获取token wx_login=$(curl -s -X POST "$BASE_URL/api/wx/auth/wx-login" -H "Content-Type: application/json" -d '{"code":"test123"}') WX_TOKEN=$(echo "$wx_login" | grep -o '"token":"[^"]*"' | cut -d'"' -f4) if [ -z "$WX_TOKEN" ]; then echo "尝试模拟token..." WX_TOKEN="test_token_for_api_test" fi # 3. 果农档案 test_api "GET" "/api/wx/grower/profile" "" "查询果农档案" "$WX_TOKEN" test_api "PUT" "/api/wx/grower/profile" '{"name":"test","varieties":"[\"red\"]","yieldAmount":10000,"expectedPrice":3.5,"address":"addr"}' "创建果农档案" "$WX_TOKEN" # 4. 招工 test_api "GET" "/api/wx/grower/recruit/list" "" "招工列表" "$WX_TOKEN" # 5. 找工人/客商 test_api "GET" "/api/wx/grower/workers" "" "工人列表" "$WX_TOKEN" test_api "GET" "/api/wx/grower/buyers" "" "客商列表" "$WX_TOKEN" echo "" echo "==========================================" echo "Phase 2b: 工人+客商+农资功能" echo "==========================================" # 6. 工人模块 test_api "GET" "/api/wx/worker/profile" "" "工人档案" "$WX_TOKEN" test_api "GET" "/api/wx/worker/recommend" "" "推荐招工" "$WX_TOKEN" test_api "GET" "/api/wx/worker/applies" "" "报名历史" "$WX_TOKEN" # 7. 客商模块 test_api "GET" "/api/wx/buyer/profile" "" "客商档案" "$WX_TOKEN" test_api "GET" "/api/wx/buyer/goods" "" "货源列表" "$WX_TOKEN" test_api "GET" "/api/wx/buyer/preferences" "" "收购偏好" "$WX_TOKEN" # 8. 农资模块 test_api "GET" "/api/wx/supplier/shop" "" "店铺信息" "$WX_TOKEN" echo "" echo "==========================================" echo "后台管理接口" echo "==========================================" test_api "GET" "/api/admin/grower-audit/list" "" "待审核列表" "$ADMIN_TOKEN" test_api "GET" "/api/admin/recruit-review/list" "" "待复核列表" "$ADMIN_TOKEN" test_api "GET" "/api/admin/sms/config" "" "短信配置" "$ADMIN_TOKEN" echo "" echo "==========================================" echo "测试结果" echo "==========================================" echo "通过: $PASS" echo "失败: $FAIL" echo "总计: $((PASS + FAIL))"