diff --git a/docSite/content/zh-cn/docs/development/upgrading/4111.md b/docSite/content/zh-cn/docs/development/upgrading/4111.md index 75dcd3fee..dfe2d19a4 100644 --- a/docSite/content/zh-cn/docs/development/upgrading/4111.md +++ b/docSite/content/zh-cn/docs/development/upgrading/4111.md @@ -16,6 +16,7 @@ weight: 782 ## ⚙️ 优化 1. 兑换码功能支持指定对公支付模式。 +2. 优化支付套餐模式。 ## 🐛 修复 diff --git a/packages/global/support/wallet/bill/api.d.ts b/packages/global/support/wallet/bill/api.d.ts index d5ec2878e..f1b79ae8a 100644 --- a/packages/global/support/wallet/bill/api.d.ts +++ b/packages/global/support/wallet/bill/api.d.ts @@ -16,7 +16,6 @@ export type CreateStandPlanBill = { type CreateExtractPointsBill = { type: BillTypeEnum.extraPoints; extraPoints: number; - month: number; }; type CreateExtractDatasetBill = { type: BillTypeEnum.extraDatasetSub; diff --git a/packages/web/i18n/en/common.json b/packages/web/i18n/en/common.json index 0fb505d00..40ec0baa3 100644 --- a/packages/web/i18n/en/common.json +++ b/packages/web/i18n/en/common.json @@ -796,6 +796,10 @@ "dataset_data_input_q": "question", "dataset_data_input_qa": "QA", "dataset_text_model_tip": "Used for text processing in the knowledge base preprocessing stage, such as automatic supplementary indexing, Q&A pair extraction.", + "date_12_months": "12 Months", + "date_1_month": "1 Month", + "date_3_months": "3 Months", + "date_6_months": "6 Months", "deep_rag_search": "In-depth search", "delete_api": "Are you sure you want to delete this API key? \nAfter deletion, the key will become invalid immediately and the corresponding conversation log will not be deleted. Please confirm!", "delete_failed": "Deletion Failed", @@ -853,6 +857,7 @@ "info.resource": "Resource Usage", "input.Repeat Value": "Duplicate Value", "input_name": "Enter a Name", + "invalid_time": "Validity period", "invalid_variable": "Invalid Variable", "is_open": "Is Open", "is_requesting": "Requesting...", @@ -1165,11 +1170,6 @@ "support.wallet.subscription.Update extra ai points tips": "Purchase points will take effect immediately and will automatically expire after expiration.", "support.wallet.subscription.Update extra dataset size": "Storage", "support.wallet.subscription.Update extra dataset tips": "After the knowledge base index expires, the existing data is still retained and the data cannot be added or modified.", - "support.wallet.subscription.Update extra expire": "Validity period", - "support.wallet.subscription.Update extra expire 1 month": "1 Month", - "support.wallet.subscription.Update extra expire 12 months": "12 Months", - "support.wallet.subscription.Update extra expire 3 months": "3 Months", - "support.wallet.subscription.Update extra expire 6 months": "6 Months", "support.wallet.subscription.Update extra price": "Price", "support.wallet.subscription.Upgrade plan": "Upgrade Package", "support.wallet.subscription.ai_model": "AI Language Model", diff --git a/packages/web/i18n/zh-CN/common.json b/packages/web/i18n/zh-CN/common.json index 0c1472ff7..978765e94 100644 --- a/packages/web/i18n/zh-CN/common.json +++ b/packages/web/i18n/zh-CN/common.json @@ -796,6 +796,10 @@ "dataset_data_input_q": "问题", "dataset_data_input_qa": "QA 模式", "dataset_text_model_tip": "用于知识库预处理阶段的文本处理,例如自动补充索引、问答对提取。", + "date_12_months": "12个月", + "date_1_month": "1个月", + "date_3_months": "3个月", + "date_6_months": "6个月", "deep_rag_search": "深度搜索", "delete_api": "确认删除该API密钥?删除后该密钥立即失效,对应的对话日志不会删除,请确认!", "delete_failed": "删除失败", @@ -853,6 +857,7 @@ "info.resource": "资源用量", "input.Repeat Value": "有重复的值", "input_name": "取个名字", + "invalid_time": "有效期", "invalid_variable": "无效变量", "is_open": "是否开启", "is_requesting": "请求中……", @@ -1119,6 +1124,8 @@ "support.wallet.bill_tag.default_header": "默认抬头", "support.wallet.bill_tag.invoice": "开票记录", "support.wallet.billable_invoice": "可开票账单", + "support.wallet.buy_ai_points": "购买 AI 积分", + "support.wallet.buy_dataset_capacity": "购买知识库索引量", "support.wallet.buy_resource": "购买资源包", "support.wallet.has_invoice": "是否已开票", "support.wallet.invoice_amount": "开票金额", @@ -1142,35 +1149,28 @@ "support.wallet.subscription.AI points usage tip": "每次调用 AI 模型时,都会消耗一定的 AI 积分。具体的计算标准可参考上方的“计费标准”", "support.wallet.subscription.Ai points": "AI 积分计算标准", "support.wallet.subscription.Current plan": "当前套餐", + "support.wallet.subscription.Dataset size": "知识库索引量", "support.wallet.subscription.Extra ai points": "额外 AI 积分", "support.wallet.subscription.Extra ai points description": "积分购买量与有效期智能联动, 买的越多用的越久", + "support.wallet.subscription.Extra dataset description": "支持根据实际需求为知识库索引量延长有效期", "support.wallet.subscription.Extra dataset size": "额外知识库容量", + "support.wallet.subscription.Extra dataset unit": "组/1个月", "support.wallet.subscription.Extra plan": "额外资源包", "support.wallet.subscription.Extra plan tip": "标准套餐不够时,您可以购买额外资源包继续使用", "support.wallet.subscription.FAQ": "常见问题", "support.wallet.subscription.Month amount": "月数", "support.wallet.subscription.Next plan": "未来套餐", + "support.wallet.subscription.Points amount": "积分量", "support.wallet.subscription.Stand plan level": "订阅套餐", "support.wallet.subscription.Sub plan": "订阅套餐", "support.wallet.subscription.Sub plan tip": "免费使用【{{title}}】或升级更高的套餐", "support.wallet.subscription.Team plan and usage": "套餐与用量", "support.wallet.subscription.Training weight": "训练优先级:{{weight}}", "support.wallet.subscription.Update extra ai points": "额外 AI 积分", - "support.wallet.subscription.Update extra dataset size": "额外存储量", - "support.wallet.subscription.Update extra expire 1 month": "1个月", - "support.wallet.subscription.Update extra expire 12 months": "12个月", - "support.wallet.subscription.Update extra expire 3 months": "3个月", - "support.wallet.subscription.Update extra expire 6 months": "6个月", - "support.wallet.buy_ai_points": "购买 AI 积分", - "support.wallet.subscription.Update extra expire": "有效期", - "support.wallet.subscription.Update extra price": "价格", - "support.wallet.subscription.Update extra dataset tips": "知识库索引量到期后,仍保留已有数据,无法增改数据", - "support.wallet.subscription.Dataset size": "知识库索引量", - "support.wallet.buy_dataset_capacity": "购买知识库索引量", - "support.wallet.subscription.Extra dataset description": "支持根据实际需求为知识库索引量延长有效期", - "support.wallet.subscription.Extra dataset unit": "组/1个月", "support.wallet.subscription.Update extra ai points tips": "购买积分即刻生效,过期后将自动失效", - "support.wallet.subscription.Points amount": "积分量", + "support.wallet.subscription.Update extra dataset size": "额外存储量", + "support.wallet.subscription.Update extra dataset tips": "知识库索引量到期后,仍保留已有数据,无法增改数据", + "support.wallet.subscription.Update extra price": "价格", "support.wallet.subscription.Upgrade plan": "升级套餐", "support.wallet.subscription.ai_model": "AI语言模型", "support.wallet.subscription.eval_items_count": "单次评测数据条数: {{count}} 条", diff --git a/packages/web/i18n/zh-Hant/common.json b/packages/web/i18n/zh-Hant/common.json index 5812409fa..9327d2f68 100644 --- a/packages/web/i18n/zh-Hant/common.json +++ b/packages/web/i18n/zh-Hant/common.json @@ -796,6 +796,10 @@ "dataset_data_input_q": "問題", "dataset_data_input_qa": "QA 模式", "dataset_text_model_tip": "用於知識庫預處理階段的文字處理,例如自動補充索引、問答對提取。", + "date_12_months": "12個月", + "date_1_month": "1個月", + "date_3 months": "3個月", + "date_6_months": "6個月", "deep_rag_search": "深度搜尋", "delete_api": "確認刪除此 API 金鑰?\n刪除後該金鑰將立即失效,對應的對話記錄不會被刪除,請確認!", "delete_failed": "刪除失敗", @@ -853,6 +857,7 @@ "info.resource": "資源使用量", "input.Repeat Value": "重複的值", "input_name": "輸入名稱", + "invalid_time": "有效期", "invalid_variable": "無效變數", "is_open": "是否開啟", "is_requesting": "請求中...", @@ -1165,11 +1170,6 @@ "support.wallet.subscription.Update extra ai points tips": "購買積分即刻生效,過期後將自動失效", "support.wallet.subscription.Update extra dataset size": "額外儲存空間", "support.wallet.subscription.Update extra dataset tips": "知識庫索引量到期後,仍保留已有數據,無法增改數據", - "support.wallet.subscription.Update extra expire": "有效期", - "support.wallet.subscription.Update extra expire 1 month": "1個月", - "support.wallet.subscription.Update extra expire 12 months": "12個月", - "support.wallet.subscription.Update extra expire 3 months": "3個月", - "support.wallet.subscription.Update extra expire 6 months": "6個月", "support.wallet.subscription.Update extra price": "價格", "support.wallet.subscription.Upgrade plan": "升級方案", "support.wallet.subscription.ai_model": "AI 語言模型", diff --git a/projects/app/src/pageComponents/price/ExtraPlan.tsx b/projects/app/src/pageComponents/price/ExtraPlan.tsx index 9cd9ea971..a8ff2d822 100644 --- a/projects/app/src/pageComponents/price/ExtraPlan.tsx +++ b/projects/app/src/pageComponents/price/ExtraPlan.tsx @@ -23,13 +23,6 @@ const ExtraPlan = ({ onPaySuccess }: { onPaySuccess?: () => void }) => { const { subPlans } = useSystemStore(); const [qrPayData, setQRPayData] = useState(); - const expireSelectorOptions: { label: string; value: number }[] = [ - { label: t('common:support.wallet.subscription.Update extra expire 1 month'), value: 1 }, - { label: t('common:support.wallet.subscription.Update extra expire 3 months'), value: 3 }, - { label: t('common:support.wallet.subscription.Update extra expire 6 months'), value: 6 }, - { label: t('common:support.wallet.subscription.Update extra expire 12 months'), value: 12 } - ]; - // 额外的知识库索引量 const extraDatasetPrice = subPlans?.extraDatasetSize?.price || 0; const { @@ -77,6 +70,12 @@ const ExtraPlan = ({ onPaySuccess }: { onPaySuccess?: () => void }) => { ); // extra ai points + const expireSelectorOptions: { label: string; value: number }[] = [ + { label: t('common:date_1_month'), value: 1 }, + { label: t('common:date_3_months'), value: 3 }, + { label: t('common:date_6_months'), value: 6 }, + { label: t('common:date_12_months'), value: 12 } + ]; const extraPointsPrice = subPlans?.extraPoints?.price || 0; const { watch: watchExtraPoints, @@ -109,7 +108,6 @@ const ExtraPlan = ({ onPaySuccess }: { onPaySuccess?: () => void }) => { const res = await postCreatePayBill({ type: BillTypeEnum.extraPoints, - month, extraPoints: points }); @@ -188,16 +186,15 @@ const ExtraPlan = ({ onPaySuccess }: { onPaySuccess?: () => void }) => { min={0} size={'sm'} onChange={(val) => { - // 过滤掉NaN和无效输入 - if (val === ('' as unknown as number) || val === null || val === undefined) { - setValueExtraPoints('points', undefined as unknown as number); - } else if (!isNaN(val) && val >= 0) { - setValueExtraPoints('points', val as unknown as number); - // 当用户输入积分时,自动更新月份 - const expectedMonth = getMonthByPoints(val); - if (expectedMonth !== watchedMonth) { - setValueExtraPoints('month', expectedMonth); - } + setValueExtraPoints('points', val as unknown as number); + }} + onBlur={(val) => { + const formatVal = val || 1; + setValueExtraPoints('points', formatVal); + + const expectedMonth = getMonthByPoints(formatVal); + if (expectedMonth !== watchedMonth) { + setValueExtraPoints('month', expectedMonth); } }} /> @@ -208,7 +205,7 @@ const ExtraPlan = ({ onPaySuccess }: { onPaySuccess?: () => void }) => { - {t('common:support.wallet.subscription.Update extra expire')} + {t('common:invalid_time')} void }) => { - {t('common:support.wallet.subscription.Update extra expire')} + {t('common:date')} { px={'1rem'} value={teamTab} onChange={(e) => { - if (e === TeamTabEnum.audit && !planContent?.permissionTeamOperationLog) { + if (e === TeamTabEnum.audit && planContent && !planContent?.permissionTeamOperationLog) { toast({ status: 'warning', title: t('common:not_permission') @@ -96,7 +96,7 @@ const Team = () => { }} /> ), - [planContent?.permissionTeamOperationLog, router, t, teamTab, toast] + [planContent, router, t, teamTab, toast] ); return (