Files
vf_react/test_current_config.py
2025-11-05 10:56:56 +08:00

74 lines
2.5 KiB
Python

#!/usr/bin/env python3
"""
测试当前用户配置和订阅状态
"""
import requests
import json
# 测试用户会话API
def test_user_session():
"""测试用户会话API返回的数据格式"""
try:
# 注意:这个测试需要在登录状态下进行
# 实际测试时需要在浏览器环境中进行
print("🔍 分析用户会话API的数据结构...")
# 模拟预期的数据结构
expected_structure = {
'success': True,
'isAuthenticated': True,
'user': {
'id': 1,
'username': 'test_user',
'nickname': '测试用户',
'email': 'test@example.com',
'phone': '13800138000',
'phone_confirmed': True,
'email_confirmed': True,
'avatar_url': None,
'has_wechat': False,
'created_at': '2024-01-01T00:00:00',
'last_seen': '2024-01-01T12:00:00',
# 订阅相关字段(修复后的)
'subscription_type': 'max', # free, pro, max
'subscription_status': 'active', # active, inactive
'subscription_end_date': '2024-12-31T23:59:59',
'is_subscription_active': True,
'subscription_days_left': 365
}
}
print("✅ 预期的用户数据结构:")
print(json.dumps(expected_structure, indent=2, ensure_ascii=False))
# 检查前端使用的字段
print("\n📱 前端订阅页面使用的字段:")
frontend_fields = [
'currentUser.subscription_type',
'currentUser.subscription_status',
'currentUser.subscription_end_date'
]
for field in frontend_fields:
print(f" - {field}")
print("\n🔧 修复说明:")
print("1. 后端API现在返回前端期望的字段名")
print("2. 添加了 subscription_ 前缀以避免命名冲突")
print("3. 保留了 is_subscription_active 和 subscription_days_left 作为额外信息")
return True
except Exception as e:
print(f"❌ 测试失败: {e}")
return False
if __name__ == "__main__":
print("🚀 开始测试用户会话API配置...")
success = test_user_session()
if success:
print("\n✅ 测试完成!修复应该可以解决订阅状态显示问题。")
else:
print("\n❌ 测试失败,请检查配置。")