feat: soften quota messaging

This commit is contained in:
2026-07-31 16:10:35 +08:00
parent 4e872febd5
commit ec9f8a015a
4 changed files with 34 additions and 4 deletions

View File

@@ -24,8 +24,18 @@ const hasEntitlement = computed(() => Boolean(props.entitlement));
const displayUsed = computed(() => props.entitlement?.monthlyTopicUsed ?? props.used);
const displayLimit = computed(() => props.entitlement?.monthlyTopicLimit ?? props.limit);
const exhausted = computed(() => displayLimit.value !== null && displayLimit.value > 0 && displayUsed.value >= displayLimit.value);
const title = computed(() => props.entitlement ? "本月主题额度" : "当前会话额度");
const limitText = computed(() => displayLimit.value === null ? "不限" : String(displayLimit.value));
const nearLimit = computed(() => displayLimit.value !== null && displayLimit.value > 0 && displayUsed.value / displayLimit.value >= 0.8);
const title = computed(() => props.entitlement ? "本月主题使用情况" : "今日陪伴使用情况");
const usageText = computed(() => {
if (displayLimit.value === null) return props.entitlement ? "本月不限" : "不限";
if (props.entitlement) return `已使用 ${displayUsed.value}/${displayLimit.value} 个主题`;
return `今日 ${displayUsed.value}/${displayLimit.value}`;
});
const guidanceText = computed(() => {
if (exhausted.value) return "本月深度主题使用较多,建议先完成已有功课;如需继续高频陪伴,可联系运营老师确认权益。";
if (nearLimit.value) return "本月深度主题接近上限,可以先沉淀已有主题,再继续新的议题。";
return "";
});
</script>
<template>
@@ -65,7 +75,8 @@ const limitText = computed(() => displayLimit.value === null ? "不限" : String
>
{{ generatingShareDraft ? '生成中' : '分享稿' }}
</button>
<strong>{{ displayUsed }}/{{ limitText }}</strong>
<strong>{{ usageText }}</strong>
</div>
<p v-if="guidanceText" class="session-quota-guidance">{{ guidanceText }}</p>
</section>
</template>