diff --git a/frontend/src/ directive/devOnly/index.ts b/frontend/src/ directive/devOnly/index.ts index 0f20554..6b141b0 100644 --- a/frontend/src/ directive/devOnly/index.ts +++ b/frontend/src/ directive/devOnly/index.ts @@ -35,7 +35,6 @@ function checkAndRemoveElement(el: HTMLElement, binding: DirectiveBinding) { const shouldEnable = binding.value !== false // 如果不是开发模式或者明确禁用,移除该元素 if (!isDev && shouldEnable) { - console.log(1111) if (el.parentNode) { el.parentNode.removeChild(el) } diff --git a/frontend/src/main.ts b/frontend/src/main.ts index b59ac2c..18306b3 100644 --- a/frontend/src/main.ts +++ b/frontend/src/main.ts @@ -11,12 +11,12 @@ import { setupStore, useConfigStore } from '@/stores' import { setupDirective } from '@/ directive' async function init() { + const configStore = useConfigStore() + await configStore.initConfig() const app = createApp(App) setupStore(app) setupDirective(app) initService() - const configStore = useConfigStore() - await configStore.initConfig() document.title = configStore.config.centerTitle app.use(router) app.mount('#app') diff --git a/frontend/src/stores/modules/config.ts b/frontend/src/stores/modules/config.ts index d72ec7b..9086cd9 100644 --- a/frontend/src/stores/modules/config.ts +++ b/frontend/src/stores/modules/config.ts @@ -11,16 +11,25 @@ export interface Config { agentRepository: { storageVersionIdentifier: string } + // 是否是开发环境 dev?: boolean + // api base url + apiBaseUrl?: string } - +const defaultConfig: Config = { + apiBaseUrl: `${import.meta.env.BASE_URL || '/'}api` +} as Config export const useConfigStore = defineStore('config', () => { const config = ref({} as Config) // 异步调用readConfig async function initConfig() { - config.value = await readConfig('config.json') + const data = await readConfig('config.json') + config.value = { + ...defaultConfig, + ...data + } } diff --git a/frontend/src/utils/request.ts b/frontend/src/utils/request.ts index 5bbc16d..aa59d59 100644 --- a/frontend/src/utils/request.ts +++ b/frontend/src/utils/request.ts @@ -10,6 +10,7 @@ import qs from 'qs' import type { Ref } from 'vue' import { ElNotification } from 'element-plus' import { ref } from 'vue' +import { useConfigStoreHook } from '@/stores' // 创建 axios 实例 let service: AxiosInstance @@ -20,8 +21,9 @@ export interface AxiosResponseData { } export function initService() { + const configStore = useConfigStoreHook() service = axios.create({ - baseURL: '/api', + baseURL: configStore.config.apiBaseUrl, headers: { 'Content-Type': 'application/json;charset=utf-8' }, paramsSerializer: (params) => { return qs.stringify(params)