From 1b419ccf217dbcace15987f1c0fe26b9e15d1d4b Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 16 十月 2024 10:26:56 +0800 Subject: [PATCH] 工艺绑定优化 --- src/utils/env.ts | 52 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/utils/env.ts b/src/utils/env.ts index c8b5259..8385c4d 100644 --- a/src/utils/env.ts +++ b/src/utils/env.ts @@ -1,11 +1,14 @@ -import type { GlobEnvConfig } from '/#/config'; +/* + * @Description: file content + * @Author: your name + * @version: + * @Date: 2024-06-17 14:51:26 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-07-25 09:40:24 + */ +import type { GlobEnvConfig } from '#/config'; import pkg from '../../package.json'; - -const getVariableName = (title: string) => { - return `__PRODUCTION__${title.replace(/\s/g, '_').replace(/-/g, '_') || '__APP'}__CONF__` - .toUpperCase() - .replace(/\s/g, ''); -}; +import { API_ADDRESS } from '@/enums/cacheEnum'; export function getCommonStoragePrefix() { const { VITE_GLOB_APP_TITLE } = getAppEnvConfig(); @@ -17,36 +20,53 @@ return `${getCommonStoragePrefix()}${`__${pkg.version}`}__`.toUpperCase(); } +const getVariableName = (title: string) => { + function strToHex(str: string) { + const result: string[] = []; + for (let i = 0; i < str.length; ++i) { + const hex = str.charCodeAt(i).toString(16); + result.push(('000' + hex).slice(-4)); + } + return result.join('').toUpperCase(); + } + return `__PRODUCTION__${strToHex(title) || '__APP'}__CONF__`.toUpperCase().replace(/\s/g, ''); +}; + export function getAppEnvConfig() { const ENV_NAME = getVariableName(import.meta.env.VITE_GLOB_APP_TITLE); - - const ENV = (import.meta.env.DEV + const ENV = import.meta.env.DEV ? // Get the global configuration (the configuration will be extracted independently when packaging) (import.meta.env as unknown as GlobEnvConfig) - : window[ENV_NAME as any]) as unknown as GlobEnvConfig; - + : (window[ENV_NAME] as unknown as GlobEnvConfig); const { VITE_GLOB_APP_TITLE, - VITE_GLOB_API_URL, - VITE_GLOB_SYS_API_URL, VITE_GLOB_API_URL_PREFIX, VITE_GLOB_UPLOAD_URL, + VITE_GLOB_SYS_API_URL, + VITE_GLOB_WS_URL, VITE_GLOB_MAP_KEY, VITE_GLOB_TSK_API_URL, VITE_GLOB_DOWNLOAD_URL, + VITE_GLOB_SYS_TYPE, VITE_USE_ORG, } = ENV; - + let { VITE_GLOB_API_URL } = ENV; + if (localStorage.getItem(API_ADDRESS)) { + const address = JSON.parse(localStorage.getItem(API_ADDRESS) || '{}'); + if (address?.key) VITE_GLOB_API_URL = address?.val; + } return { VITE_GLOB_APP_TITLE, VITE_GLOB_API_URL, - VITE_GLOB_SYS_API_URL, - VITE_GLOB_TSK_API_URL, VITE_GLOB_API_URL_PREFIX, VITE_GLOB_UPLOAD_URL, + VITE_GLOB_SYS_API_URL, + VITE_GLOB_WS_URL, VITE_GLOB_MAP_KEY, + VITE_GLOB_TSK_API_URL, VITE_GLOB_DOWNLOAD_URL, VITE_USE_ORG, + VITE_GLOB_SYS_TYPE, }; } -- Gitblit v1.9.3