update pay function

This commit is contained in:
2025-11-22 10:01:04 +08:00
parent cd926bb42d
commit 20c6356842
2 changed files with 23 additions and 7 deletions

View File

@@ -159,7 +159,8 @@ export default function MCPChat() {
<h2 className="text-2xl mb-4">使 AI </h2> <h2 className="text-2xl mb-4">使 AI </h2>
<p className="text-gray-600 mb-4"></p> <p className="text-gray-600 mb-4"></p>
<p className="text-sm text-gray-500 mb-6"> <p className="text-sm text-gray-500 mb-6">
{user?.subscription_tier || '未知'} {user?.subscription_type || user?.subscription_tier || '未知'}
{user?.is_subscription_active && ' (活跃)'}
</p> </p>
<div className="space-y-2"> <div className="space-y-2">
<a <a
@@ -207,8 +208,11 @@ export default function MCPChat() {
{user?.username?.[0]?.toUpperCase()} {user?.username?.[0]?.toUpperCase()}
</div> </div>
<div> <div>
<div className="font-medium">{user?.username}</div> <div className="font-medium">{user?.username || user?.nickname}</div>
<div className="text-xs text-gray-500">{user?.subscription_tier}</div> <div className="text-xs text-gray-500">
{user?.subscription_type || user?.subscription_tier || 'Free'}
{user?.is_subscription_active && ' ✓'}
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -55,12 +55,24 @@ export async function checkAuth(): Promise<AuthInfo> {
}; };
} }
// 检查订阅权限 - 包括 max 用户和其他高级订阅 // 检查订阅权限 - 注意:后端返回的是 subscription_type 而不是 subscription_tier
const userType = data.user.subscription_type?.toLowerCase() || '';
const userTier = data.user.subscription_tier?.toLowerCase() || ''; const userTier = data.user.subscription_tier?.toLowerCase() || '';
const canAccessChat = ['max', 'premium', 'pro', 'enterprise', 'vip', 'plus'].includes(userTier) || const subscriptionLevel = userType || userTier; // 兼容两个字段
userTier !== 'free' && userTier !== '' && userTier !== 'basic';
console.log('User subscription tier:', data.user.subscription_tier, 'Can access:', canAccessChat); // 检查是否为付费用户
const canAccessChat =
['max', 'premium', 'pro', 'enterprise', 'vip', 'plus'].includes(subscriptionLevel) ||
data.user.is_subscription_active === true ||
data.user.subscription_status === 'active';
console.log('User subscription:', {
type: data.user.subscription_type,
tier: data.user.subscription_tier,
active: data.user.is_subscription_active,
status: data.user.subscription_status,
canAccess: canAccessChat
});
return { return {
isAuthenticated: true, isAuthenticated: true,