feat(frontend): 统一 Gemini 四种授权方式的用量窗口显示格式
**统一显示规则:** - 第一行:授权方式简称 + 用户等级(如有) - 后续内容: - 有分模型限额:显示各模型的用量进度条和窗口时间 - 无限额/无分模型:显示「无限流」 **具体改动:** 1. AI Studio OAuth - 第一行:「AI Studio」 - 后续:「无限流」 2. GCP Code Assist OAuth - 第一行:「CLI Free/Pro/Ultra」 - 后续:Pro/Flash 模型进度条(保持现状) 3. Google One OAuth - 第一行:「G1 Personal/Free/Pro/...」 - 后续:「无限流」(暂无配额追踪) 4. API Key - 第一行:「Gemini」徽章 - 后续:「无限流」或「限流 XX」 **文件修改:** - AccountUsageCell.vue: 区分 Code Assist 和其他类型的显示逻辑 - AccountQuotaInfo.vue: 改为两行布局,统一样式 - i18n: 添加 rateLimit.unlimited 翻译(中文「无限流」/英文「Unlimited」)
This commit is contained in:
@@ -1,28 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="shouldShowQuota" class="flex items-center gap-2">
|
<div v-if="shouldShowQuota">
|
||||||
<!-- Tier Badge -->
|
<!-- First line: Platform + Tier Badge -->
|
||||||
<span :class="['badge text-xs px-2 py-0.5 rounded font-medium', tierBadgeClass]">
|
<div class="mb-1 flex items-center gap-1">
|
||||||
{{ tierLabel }}
|
<span :class="['badge text-xs px-2 py-0.5 rounded font-medium', tierBadgeClass]">
|
||||||
</span>
|
{{ tierLabel }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 限流状态 -->
|
<!-- Usage status: unlimited flow or rate limit -->
|
||||||
<span
|
<div class="text-xs text-gray-400 dark:text-gray-500">
|
||||||
v-if="!isRateLimited"
|
<span v-if="!isRateLimited">
|
||||||
class="text-xs text-gray-400 dark:text-gray-500"
|
{{ t('admin.accounts.gemini.rateLimit.unlimited') }}
|
||||||
>
|
</span>
|
||||||
{{ t('admin.accounts.gemini.rateLimit.ok') }}
|
<span
|
||||||
</span>
|
v-else
|
||||||
<span
|
:class="[
|
||||||
v-else
|
'font-medium',
|
||||||
:class="[
|
isUrgent
|
||||||
'text-xs font-medium',
|
? 'text-red-600 dark:text-red-400 animate-pulse'
|
||||||
isUrgent
|
: 'text-amber-600 dark:text-amber-400'
|
||||||
? 'text-red-600 dark:text-red-400 animate-pulse'
|
]"
|
||||||
: 'text-amber-600 dark:text-amber-400'
|
>
|
||||||
]"
|
{{ t('admin.accounts.gemini.rateLimit.limited', { time: resetCountdown }) }}
|
||||||
>
|
</span>
|
||||||
{{ t('admin.accounts.gemini.rateLimit.limited', { time: resetCountdown }) }}
|
</div>
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -229,6 +229,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Usage data or unlimited flow -->
|
||||||
<div class="space-y-1">
|
<div class="space-y-1">
|
||||||
<div v-if="loading" class="space-y-1">
|
<div v-if="loading" class="space-y-1">
|
||||||
<div class="flex items-center gap-1">
|
<div class="flex items-center gap-1">
|
||||||
@@ -240,7 +241,8 @@
|
|||||||
<div v-else-if="error" class="text-xs text-red-500">
|
<div v-else-if="error" class="text-xs text-red-500">
|
||||||
{{ error }}
|
{{ error }}
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="geminiUsageAvailable" class="space-y-1">
|
<!-- Code Assist: show model usage bars -->
|
||||||
|
<div v-else-if="isGeminiCodeAssist && geminiUsageAvailable" class="space-y-1">
|
||||||
<UsageProgressBar
|
<UsageProgressBar
|
||||||
v-if="usageInfo?.gemini_pro_daily"
|
v-if="usageInfo?.gemini_pro_daily"
|
||||||
:label="t('admin.accounts.usageWindow.geminiProDaily')"
|
:label="t('admin.accounts.usageWindow.geminiProDaily')"
|
||||||
@@ -263,6 +265,10 @@
|
|||||||
* {{ t('admin.accounts.gemini.quotaPolicy.simulatedNote') || 'Simulated quota' }}
|
* {{ t('admin.accounts.gemini.quotaPolicy.simulatedNote') || 'Simulated quota' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- AI Studio & Google One: show unlimited flow -->
|
||||||
|
<div v-else class="text-xs text-gray-400">
|
||||||
|
{{ t('admin.accounts.gemini.rateLimit.unlimited') }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1347,6 +1347,7 @@ export default {
|
|||||||
},
|
},
|
||||||
rateLimit: {
|
rateLimit: {
|
||||||
ok: 'Not rate limited',
|
ok: 'Not rate limited',
|
||||||
|
unlimited: 'Unlimited',
|
||||||
limited: 'Rate limited {time}',
|
limited: 'Rate limited {time}',
|
||||||
now: 'now'
|
now: 'now'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1484,6 +1484,7 @@ export default {
|
|||||||
},
|
},
|
||||||
rateLimit: {
|
rateLimit: {
|
||||||
ok: '未限流',
|
ok: '未限流',
|
||||||
|
unlimited: '无限流',
|
||||||
limited: '限流 {time}',
|
limited: '限流 {time}',
|
||||||
now: '现在'
|
now: '现在'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user