fix: API Key permissions multi-select save and display issue

- Fix updateApiKey to use JSON.stringify for permissions field
- Add comma-separated string handling in normalizePermissions
- Add frontend parsing for comma-separated permissions format

Fixes issue where selecting multiple permissions (e.g. Claude + OpenAI)
would be saved as "claude,openai" instead of '["claude","openai"]'
This commit is contained in:
shaw
2026-01-22 15:07:19 +08:00
parent 645ab43675
commit 968398ffa5
2 changed files with 16 additions and 0 deletions

View File

@@ -1246,6 +1246,12 @@ onMounted(async () => {
} catch {
perms = VALID_PERMS.includes(perms) ? [perms] : []
}
} else if (perms.includes(',')) {
// 兼容逗号分隔格式(如 "claude,openai"
perms = perms
.split(',')
.map((p) => p.trim())
.filter((p) => VALID_PERMS.includes(p))
} else if (VALID_PERMS.includes(perms)) {
perms = [perms]
} else {