update pay ui

This commit is contained in:
2025-12-12 14:59:43 +08:00
parent e24e0604b8
commit c4e95e9c1e

View File

@@ -6353,24 +6353,42 @@ def api_membership_status():
try: try:
user = request.user user = request.user
# TODO: 根据实际业务逻辑判断会员状态 # 获取用户订阅信息
# 这里假设用户表中有会员相关字段 subscription = get_user_subscription_safe(user.id)
is_member = getattr(user, 'is_member', False) subscription_type = subscription.subscription_type # free/pro/max
member_expire_date = getattr(user, 'member_expire_date', None) is_active = subscription.is_active()
# is_member: pro或max且未过期为True兼容旧逻辑
is_member = is_active and subscription_type in ('pro', 'max')
# 手机绑定状态
phone_bindcd = bool(user.phone and user.phone_confirmed)
return jsonify({ return jsonify({
'code': 200, 'code': 200,
'message': 'success', 'message': 'success',
'data': { 'data': {
'user_id': user.id, 'user_id': user.id,
'is_member': is_member, # 会员信息
'member_expire_date': member_expire_date.isoformat() if member_expire_date else None, 'subscription_type': subscription_type, # free/pro/max
'subscription_status': subscription.subscription_status, # active/expired/cancelled
'is_member': is_member, # 兼容旧逻辑
'is_active': is_active,
'start_date': subscription.start_date.isoformat() if subscription.start_date else None,
'end_date': subscription.end_date.isoformat() if subscription.end_date else None,
'days_left': subscription.days_left(),
'auto_renewal': subscription.auto_renewal,
# 手机绑定状态
'phone_bindcd': phone_bindcd,
'phone': user.phone if phone_bindcd else None,
# 兼容旧字段
'user_level': user.user_level, 'user_level': user.user_level,
'benefits': { 'benefits': {
'unlimited_access': is_member, 'unlimited_access': is_member,
'priority_support': is_member, 'priority_support': subscription_type == 'max',
'advanced_analytics': is_member, 'advanced_analytics': is_member,
'custom_alerts': is_member 'custom_alerts': is_member,
'max_exclusive': subscription_type == 'max' # max专属功能
} }
} }
}) })