Ai_GirlFriend/test_outfit_api.py
2026-02-04 18:47:56 +08:00

116 lines
3.6 KiB
Python
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.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试换装 API 返回的图片 URL
"""
import requests
import json
# API 地址
API_URL = "http://192.168.1.164:30101/outfit/mall"
# 测试 token需要替换为实际的 token
# 如果没有 token可以使用 X-User-Id 调试
headers = {
"X-User-Id": "70" # 使用调试用户 ID
}
print("=" * 70)
print(" 测试换装商城 API")
print("=" * 70)
print()
print(f"API 地址: {API_URL}")
print(f"请求头: {headers}")
print()
try:
response = requests.get(API_URL, headers=headers, timeout=10)
print(f"状态码: {response.status_code}")
print()
if response.status_code == 200:
data = response.json()
print("=" * 70)
print(" API 响应")
print("=" * 70)
print()
print(f"Code: {data.get('code')}")
print(f"Message: {data.get('msg')}")
print()
if data.get('code') == 1 and 'data' in data:
outfit_data = data['data']
items = outfit_data.get('items', [])
print(f"服装数量: {len(items)}")
print(f"已拥有: {len(outfit_data.get('owned_outfit_ids', []))}")
print(f"金币余额: {outfit_data.get('balance', 0)}")
print()
if items:
print("=" * 70)
print(" 前 5 件服装")
print("=" * 70)
print()
for idx, item in enumerate(items[:5], 1):
print(f"[{idx}] {item.get('name')}")
print(f" 分类: {item.get('category')}")
print(f" 性别: {item.get('gender')}")
print(f" 价格: {item.get('price_gold')} 金币")
print(f" 图片: {item.get('image_url')}")
print()
# 测试图片 URL 是否可访问
img_url = item.get('image_url')
if img_url:
try:
img_response = requests.head(img_url, timeout=5)
if img_response.status_code == 200:
print(f" ✓ 图片可访问")
else:
print(f" ✗ 图片无法访问 (状态码: {img_response.status_code})")
except Exception as e:
print(f" ✗ 图片访问失败: {e}")
print()
else:
print("⚠️ 没有找到服装数据")
print()
print("可能的原因:")
print("1. 数据库中没有数据")
print("2. 查询条件不匹配(性别、状态等)")
print()
else:
print(f"❌ API 返回错误: {data.get('msg')}")
print()
else:
print(f"❌ HTTP 错误: {response.status_code}")
print(f"响应内容: {response.text[:500]}")
print()
except requests.exceptions.Timeout:
print("❌ 请求超时")
print()
print("请检查:")
print("1. Python 服务是否运行")
print("2. 端口 30101 是否正确")
print()
except requests.exceptions.ConnectionError:
print("❌ 连接失败")
print()
print("请检查:")
print("1. Python 服务是否运行")
print("2. 地址是否正确: http://192.168.1.164:30101")
print()
except Exception as e:
print(f"❌ 发生错误: {e}")
print()
import traceback
traceback.print_exc()
print("=" * 70)
print(" 测试完成")
print("=" * 70)