feat: add endpoint for retrieving user space credits and implement caching mechanism in UserService

This commit is contained in:
Junyan Qin
2025-12-29 22:23:11 +08:00
parent f11e01b549
commit 9c82eeddeb
8 changed files with 125 additions and 31 deletions
+5 -4
View File
@@ -189,6 +189,7 @@ const enUS = {
spaceModelReadOnly: 'Space models are read-only',
noSpaceModels: 'No Space models. Click Sync to fetch models from Space.',
noLocalModels: 'No local models. Click Create to add a model.',
providerCount: '{{count}} providers',
// New keys for provider-based structure
addModel: 'Add Model',
addLLMModel: 'Add LLM Model',
@@ -197,17 +198,17 @@ const enUS = {
existingProvider: 'Existing Provider',
newProvider: 'New Provider',
selectProvider: 'Select Provider',
requester: 'Requester',
selectRequester: 'Select Requester',
requester: 'Provider Type',
selectRequester: 'Select Provider Type',
langbotModelsDescription: 'Cloud models powered by LangBot Space',
balance: 'Balance',
credits: 'Credits',
loginWithSpace: 'Login with Space',
loginToUseModels: 'Login with Space to use cloud models',
noModels: 'No models configured',
editProvider: 'Edit Provider',
providerName: 'Provider Name',
providerNameRequired: 'Provider name is required',
requesterRequired: 'Requester is required',
requesterRequired: 'Provider type is required',
providerSaved: 'Provider saved',
providerCreated: 'Provider created',
providerSaveError: 'Failed to save provider: ',
+5 -4
View File
@@ -195,6 +195,7 @@ const jaJP = {
'Space モデルがありません。同期ボタンをクリックして Space からモデルを取得してください。',
noLocalModels:
'ローカルモデルがありません。作成ボタンをクリックしてモデルを追加してください。',
providerCount: '{{count}} 件のプロバイダー',
addModel: 'モデルを追加',
addLLMModel: 'LLMモデルを追加',
addEmbeddingModel: '埋め込みモデルを追加',
@@ -202,17 +203,17 @@ const jaJP = {
existingProvider: '既存のプロバイダー',
newProvider: '新規プロバイダー',
selectProvider: 'プロバイダーを選択',
requester: 'リクエスター',
selectRequester: 'リクエスターを選択',
requester: 'プロバイダータイプ',
selectRequester: 'プロバイダータイプを選択',
langbotModelsDescription: 'LangBot Space が提供するクラウドモデル',
balance: '残高',
credits: 'クレジット',
loginWithSpace: 'Space でログイン',
loginToUseModels: 'Space でログインしてクラウドモデルを使用',
noModels: 'モデルがありません',
editProvider: 'プロバイダーを編集',
providerName: 'プロバイダー名',
providerNameRequired: 'プロバイダー名は必須です',
requesterRequired: 'リクエスターは必須です',
requesterRequired: 'プロバイダータイプは必須です',
providerSaved: 'プロバイダーを保存しました',
providerCreated: 'プロバイダーを作成しました',
providerSaveError: 'プロバイダーの保存に失敗しました:',
+5 -4
View File
@@ -182,6 +182,7 @@ const zhHans = {
spaceModelReadOnly: 'Space 模型为只读',
noSpaceModels: '暂无 Space 模型。点击同步按钮从 Space 获取模型。',
noLocalModels: '暂无本地模型。点击创建按钮添加模型。',
providerCount: '共 {{count}} 个供应商',
// 供应商结构新增键
addModel: '添加模型',
addLLMModel: '添加对话模型',
@@ -190,17 +191,17 @@ const zhHans = {
existingProvider: '已有供应商',
newProvider: '新建供应商',
selectProvider: '选择供应商',
requester: '请求器',
selectRequester: '选择请求器',
requester: '供应商类型',
selectRequester: '选择供应商类型',
langbotModelsDescription: 'LangBot Space 提供的云端模型',
balance: '余额',
credits: '积分',
loginWithSpace: '通过 Space 登录',
loginToUseModels: '通过 Space 登录以使用云端模型',
noModels: '暂无模型',
editProvider: '编辑供应商',
providerName: '供应商名称',
providerNameRequired: '供应商名称不能为空',
requesterRequired: '请求器不能为空',
requesterRequired: '供应商类型不能为空',
providerSaved: '供应商已保存',
providerCreated: '供应商已创建',
providerSaveError: '保存供应商失败:',
+5 -4
View File
@@ -182,6 +182,7 @@ const zhHant = {
spaceModelReadOnly: 'Space 模型為唯讀',
noSpaceModels: '暫無 Space 模型。點擊同步按鈕從 Space 取得模型。',
noLocalModels: '暫無本地模型。點擊建立按鈕新增模型。',
providerCount: '共 {{count}} 個供應商',
addModel: '新增模型',
addLLMModel: '新增對話模型',
addEmbeddingModel: '新增嵌入模型',
@@ -189,17 +190,17 @@ const zhHant = {
existingProvider: '現有供應商',
newProvider: '新供應商',
selectProvider: '選擇供應商',
requester: '請求器',
selectRequester: '選擇請求器',
requester: '供應商類型',
selectRequester: '選擇供應商類型',
langbotModelsDescription: '由 LangBot Space 提供的雲端模型',
balance: '餘額',
credits: '積分',
loginWithSpace: '使用 Space 登入',
loginToUseModels: '使用 Space 登入以使用雲端模型',
noModels: '暫無模型',
editProvider: '編輯供應商',
providerName: '供應商名稱',
providerNameRequired: '供應商名稱不能為空',
requesterRequired: '請求器不能為空',
requesterRequired: '供應商類型不能為空',
providerSaved: '供應商已儲存',
providerCreated: '供應商已建立',
providerSaveError: '儲存供應商失敗:',