From 59d013f02f86c15a91ae874b839d12ff93510c11 Mon Sep 17 00:00:00 2001 From: iRubbish Date: Fri, 22 Aug 2025 13:52:25 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=89=B9=E9=87=8F=E7=BC=96=E8=BE=91API?= =?UTF-8?q?=20Keys=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=E5=92=8CBug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加批量编辑API Keys路由和验证逻辑 - 修复标签操作(添加、移除、替换)功能 - 新增批量编辑前端组件,支持共享账号池选择 - 完善Bedrock账户显示和绑定功能 - 优化账户选择UI,统一所有平台选项 - 修复前端构建错误和代码格式问题 - 添加comprehensive测试场景文档 🤖 Generated with Claude Code Co-Authored-By: Claude --- web/admin-spa/package-lock.json | 65 ++ web/admin-spa/package.json | 2 + .../apikeys/BatchEditApiKeyModal.vue | 726 ++++++++++++++++++ web/admin-spa/src/views/ApiKeysView.vue | 160 +++- 4 files changed, 935 insertions(+), 18 deletions(-) create mode 100644 web/admin-spa/src/components/apikeys/BatchEditApiKeyModal.vue diff --git a/web/admin-spa/package-lock.json b/web/admin-spa/package-lock.json index 60401ee7..fb29e58e 100644 --- a/web/admin-spa/package-lock.json +++ b/web/admin-spa/package-lock.json @@ -18,12 +18,14 @@ "vue-router": "^4.2.5" }, "devDependencies": { + "@playwright/test": "^1.55.0", "@vitejs/plugin-vue": "^4.5.2", "@vue/eslint-config-prettier": "^10.2.0", "autoprefixer": "^10.4.16", "eslint": "^8.55.0", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-vue": "^9.19.2", + "playwright": "^1.55.0", "postcss": "^8.4.32", "prettier": "^3.1.1", "prettier-plugin-tailwindcss": "^0.6.14", @@ -806,6 +808,22 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@playwright/test": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.55.0.tgz", + "integrity": "sha512-04IXzPwHrW69XusN/SIdDdKZBzMfOT9UNT/YiJit/xpy2VuAoB8NHc8Aplb96zsWDddLnbkPL3TsmrS04ZU2xQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.55.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@popperjs/core": { "name": "@sxzz/popperjs-es", "version": "2.11.7", @@ -3465,6 +3483,53 @@ "pathe": "^2.0.1" } }, + "node_modules/playwright": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.0.tgz", + "integrity": "sha512-sdCWStblvV1YU909Xqx0DhOjPZE4/5lJsIS84IfN9dAZfcl/CIZ5O8l3o0j7hPMjDvqoTF8ZUcc+i/GL5erstA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.55.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.55.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.55.0.tgz", + "integrity": "sha512-GvZs4vU3U5ro2nZpeiwyb0zuFaqb9sUiAJuyrWpcGouD8y9/HLgGbNRjIph7zU9D3hnPaisMl9zG9CgFi/biIg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz", diff --git a/web/admin-spa/package.json b/web/admin-spa/package.json index 9cb15379..4881e1b3 100644 --- a/web/admin-spa/package.json +++ b/web/admin-spa/package.json @@ -21,12 +21,14 @@ "vue-router": "^4.2.5" }, "devDependencies": { + "@playwright/test": "^1.55.0", "@vitejs/plugin-vue": "^4.5.2", "@vue/eslint-config-prettier": "^10.2.0", "autoprefixer": "^10.4.16", "eslint": "^8.55.0", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-vue": "^9.19.2", + "playwright": "^1.55.0", "postcss": "^8.4.32", "prettier": "^3.1.1", "prettier-plugin-tailwindcss": "^0.6.14", diff --git a/web/admin-spa/src/components/apikeys/BatchEditApiKeyModal.vue b/web/admin-spa/src/components/apikeys/BatchEditApiKeyModal.vue new file mode 100644 index 00000000..5224e891 --- /dev/null +++ b/web/admin-spa/src/components/apikeys/BatchEditApiKeyModal.vue @@ -0,0 +1,726 @@ + + + + + diff --git a/web/admin-spa/src/views/ApiKeysView.vue b/web/admin-spa/src/views/ApiKeysView.vue index fbf4dfcc..ac22cda2 100644 --- a/web/admin-spa/src/views/ApiKeysView.vue +++ b/web/admin-spa/src/views/ApiKeysView.vue @@ -89,6 +89,19 @@ 刷新 + + +