| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/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))"
|