From 4691114f9b8cc3924f71e7fb15ae53f74aa51049 Mon Sep 17 00:00:00 2001 From: SunWuyuan Date: Sun, 18 May 2025 15:09:10 +0800 Subject: [PATCH] Refactor axios.js and Vue components to conditionally handle namespace settings based on server provider. Update request headers in axios.js to include site key and namespace password only for specific providers. Enhance NamespaceAccess and NamespaceSettingsCard components to show/hide based on provider, and streamline password management functionality. --- src/axios/axios.js | 24 +++--- src/components/NamespaceAccess.vue | 22 ++++-- .../settings/cards/NamespaceSettingsCard.vue | 37 ++++++++- src/pages/settings.vue | 15 ++-- src/utils/api.js | 79 +++++++++++++++++++ 5 files changed, 153 insertions(+), 24 deletions(-) create mode 100644 src/utils/api.js diff --git a/src/axios/axios.js b/src/axios/axios.js index 06a2fad..13f7160 100644 --- a/src/axios/axios.js +++ b/src/axios/axios.js @@ -13,17 +13,21 @@ const axiosInstance = axios.create({ // 请求拦截器 axiosInstance.interceptors.request.use( (requestConfig) => { - // 确保每次请求时都获取最新的 siteKey - const siteKey = getSetting("server.siteKey"); - if (siteKey) { - requestConfig.headers["x-site-key"] = Base64.encode(siteKey); - } + const provider = getSetting("server.provider"); - // 自动添加命名空间密码 - const namespacePassword = getSetting("namespace.password"); - if (namespacePassword) { - requestConfig.headers["x-namespace-password"] = - Base64.encode(namespacePassword); + // 只有在 kv-server 或 classworkscloud 模式下才添加请求头 + if (provider === "kv-server" || provider === "classworkscloud") { + // 确保每次请求时都获取最新的 siteKey + const siteKey = getSetting("server.siteKey"); + if (siteKey) { + requestConfig.headers["x-site-key"] = Base64.encode(siteKey); + } + + // 自动添加命名空间密码 + const namespacePassword = getSetting("namespace.password"); + if (namespacePassword) { + requestConfig.headers["x-namespace-password"] = Base64.encode(namespacePassword); + } } return requestConfig; diff --git a/src/components/NamespaceAccess.vue b/src/components/NamespaceAccess.vue index b856c9b..d92bcff 100644 --- a/src/components/NamespaceAccess.vue +++ b/src/components/NamespaceAccess.vue @@ -1,5 +1,5 @@