From 495c458e9a15d64ae0aa30c41520ef26d1831908 Mon Sep 17 00:00:00 2001 From: shaw Date: Sun, 3 Aug 2025 01:30:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DAPI=20Keys=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=9A=84undefined=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复filteredAndSortedApiKeys未定义错误,改为使用sortedApiKeys - 添加缺失的分页相关变量定义(currentPage, pageSize, totalPages等) - 添加paginatedApiKeys计算属性实现分页功能 - 修复CreateApiKeyModal和EditApiKeyModal中localAccounts防御性编程 - 添加筛选条件变化时重置页码的逻辑 - 修复"Cannot read properties of undefined (reading 'length')"错误 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../components/apikeys/CreateApiKeyModal.vue | 7 +- .../components/apikeys/EditApiKeyModal.vue | 7 +- web/admin-spa/src/views/ApiKeysView.vue | 71 ++++++++++++------- 3 files changed, 59 insertions(+), 26 deletions(-) diff --git a/web/admin-spa/src/components/apikeys/CreateApiKeyModal.vue b/web/admin-spa/src/components/apikeys/CreateApiKeyModal.vue index 2901db33..1873fa24 100644 --- a/web/admin-spa/src/components/apikeys/CreateApiKeyModal.vue +++ b/web/admin-spa/src/components/apikeys/CreateApiKeyModal.vue @@ -699,7 +699,12 @@ onMounted(async () => { supportedClients.value = await clientsStore.loadSupportedClients() availableTags.value = await apiKeysStore.fetchTags() // 初始化账号数据 - localAccounts.value = props.accounts + if (props.accounts) { + localAccounts.value = { + claude: props.accounts.claude || [], + gemini: props.accounts.gemini || [] + } + } }) // 刷新账号列表 diff --git a/web/admin-spa/src/components/apikeys/EditApiKeyModal.vue b/web/admin-spa/src/components/apikeys/EditApiKeyModal.vue index ddc12e8e..7119a896 100644 --- a/web/admin-spa/src/components/apikeys/EditApiKeyModal.vue +++ b/web/admin-spa/src/components/apikeys/EditApiKeyModal.vue @@ -709,7 +709,12 @@ onMounted(async () => { availableTags.value = await apiKeysStore.fetchTags() // 初始化账号数据 - localAccounts.value = props.accounts + if (props.accounts) { + localAccounts.value = { + claude: props.accounts.claude || [], + gemini: props.accounts.gemini || [] + } + } form.name = props.apiKey.name form.tokenLimit = props.apiKey.tokenLimit || '' diff --git a/web/admin-spa/src/views/ApiKeysView.vue b/web/admin-spa/src/views/ApiKeysView.vue index 2db08887..48c5101b 100644 --- a/web/admin-spa/src/views/ApiKeysView.vue +++ b/web/admin-spa/src/views/ApiKeysView.vue @@ -174,7 +174,7 @@