From 482eb7c8f7c4a4feea9fcea8ca74db8cf8ac4d1a Mon Sep 17 00:00:00 2001 From: Wangnov Date: Wed, 10 Sep 2025 18:04:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=9F=E4=B8=80=20stores(apiKeys/acc?= =?UTF-8?q?ounts)=20=E9=94=99=E8=AF=AF=E5=9B=9E=E9=80=80=E4=B8=BA=20i18n?= =?UTF-8?q?=20=E9=94=AE=EF=BC=8C=E6=8F=90=E5=8D=87=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E4=B8=80=E8=87=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/admin-spa/src/stores/accounts.js | 47 ++++++++++++++-------------- web/admin-spa/src/stores/apiKeys.js | 17 +++++----- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/web/admin-spa/src/stores/accounts.js b/web/admin-spa/src/stores/accounts.js index f21caffc..b679ec3c 100644 --- a/web/admin-spa/src/stores/accounts.js +++ b/web/admin-spa/src/stores/accounts.js @@ -1,6 +1,7 @@ import { defineStore } from 'pinia' import { ref } from 'vue' import { apiClient } from '@/config/api' +import i18n from '@/i18n' export const useAccountsStore = defineStore('accounts', () => { // 状态 @@ -27,7 +28,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { claudeAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取Claude账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -46,7 +47,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { claudeConsoleAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取Claude Console账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -65,7 +66,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { bedrockAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取Bedrock账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -84,7 +85,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { geminiAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取Gemini账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -103,7 +104,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { openaiAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取OpenAI账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -122,7 +123,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { azureOpenaiAccounts.value = response.data || [] } else { - throw new Error(response.message || '获取Azure OpenAI账户失败') + throw new Error(response.message || i18n.global.t('accounts.loadAccountsFailed')) } } catch (err) { error.value = err.message @@ -183,7 +184,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchClaudeAccounts() return response.data } else { - throw new Error(response.message || '创建Claude账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -223,7 +224,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchBedrockAccounts() return response.data } else { - throw new Error(response.message || '创建Bedrock账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -243,7 +244,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchGeminiAccounts() return response.data } else { - throw new Error(response.message || '创建Gemini账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -263,7 +264,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchOpenAIAccounts() return response.data } else { - throw new Error(response.message || '创建OpenAI账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -323,7 +324,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchClaudeAccounts() return response } else { - throw new Error(response.message || '更新Claude账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -363,7 +364,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchBedrockAccounts() return response } else { - throw new Error(response.message || '更新Bedrock账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -383,7 +384,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchGeminiAccounts() return response } else { - throw new Error(response.message || '更新Gemini账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -403,7 +404,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchOpenAIAccounts() return response } else { - throw new Error(response.message || '更新OpenAI账户失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -498,7 +499,7 @@ export const useAccountsStore = defineStore('accounts', () => { } return response } else { - throw new Error(response.message || '切换状态失败') + throw new Error(response.message || i18n.global.t('accounts.schedulingToggleFailed')) } } catch (err) { error.value = err.message @@ -553,7 +554,7 @@ export const useAccountsStore = defineStore('accounts', () => { } return response } else { - throw new Error(response.message || '删除失败') + throw new Error(response.message || i18n.global.t('accounts.deleteFailed')) } } catch (err) { error.value = err.message @@ -573,7 +574,7 @@ export const useAccountsStore = defineStore('accounts', () => { await fetchClaudeAccounts() return response } else { - throw new Error(response.message || 'Token刷新失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -590,7 +591,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data // 返回整个对象,包含authUrl和sessionId } else { - throw new Error(response.message || '生成授权URL失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -605,7 +606,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data } else { - throw new Error(response.message || '交换授权码失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -656,7 +657,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data // 返回整个对象,包含authUrl和sessionId } else { - throw new Error(response.message || '生成授权URL失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -671,7 +672,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data } else { - throw new Error(response.message || '交换授权码失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -686,7 +687,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data // 返回整个对象,包含authUrl和sessionId } else { - throw new Error(response.message || '生成授权URL失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message @@ -701,7 +702,7 @@ export const useAccountsStore = defineStore('accounts', () => { if (response.success) { return response.data } else { - throw new Error(response.message || '交换授权码失败') + throw new Error(response.message || i18n.global.t('accounts.operationFailed')) } } catch (err) { error.value = err.message diff --git a/web/admin-spa/src/stores/apiKeys.js b/web/admin-spa/src/stores/apiKeys.js index 9f294c13..c2d0d727 100644 --- a/web/admin-spa/src/stores/apiKeys.js +++ b/web/admin-spa/src/stores/apiKeys.js @@ -1,4 +1,5 @@ import { apiClient } from '@/config/api' +import i18n from '@/i18n' import { defineStore } from 'pinia' import { ref } from 'vue' @@ -22,7 +23,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { if (response.success) { apiKeys.value = response.data || [] } else { - throw new Error(response.message || '获取API Keys失败') + throw new Error(response.message || i18n.global.t('apiKeys.loadFailed')) } } catch (err) { error.value = err.message @@ -42,7 +43,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { await fetchApiKeys() return response.data } else { - throw new Error(response.message || '创建API Key失败') + throw new Error(response.message || i18n.global.t('apiKeys.operationFailed')) } } catch (err) { error.value = err.message @@ -62,7 +63,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { await fetchApiKeys() return response } else { - throw new Error(response.message || '更新API Key失败') + throw new Error(response.message || i18n.global.t('apiKeys.updateFailed')) } } catch (err) { error.value = err.message @@ -82,7 +83,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { await fetchApiKeys() return response } else { - throw new Error(response.message || '切换状态失败') + throw new Error(response.message || i18n.global.t('apiKeys.operationFailed')) } } catch (err) { error.value = err.message @@ -102,7 +103,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { await fetchApiKeys() return response } else { - throw new Error(response.message || '续期失败') + throw new Error(response.message || i18n.global.t('apiKeys.operationFailed')) } } catch (err) { error.value = err.message @@ -122,7 +123,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { await fetchApiKeys() return response } else { - throw new Error(response.message || '删除失败') + throw new Error(response.message || i18n.global.t('apiKeys.deleteFailed')) } } catch (err) { error.value = err.message @@ -141,7 +142,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { if (response.success) { return response.stats } else { - throw new Error(response.message || '获取统计失败') + throw new Error(response.message || i18n.global.t('apiKeys.operationFailed')) } } catch (err) { console.error('获取API Key统计失败:', err) @@ -166,7 +167,7 @@ export const useApiKeysStore = defineStore('apiKeys', () => { if (response.success) { return response.data || [] } else { - throw new Error(response.message || '获取标签失败') + throw new Error(response.message || i18n.global.t('apiKeys.operationFailed')) } } catch (err) { console.error('获取标签失败:', err)