Skip to content

Commit

Permalink
perf: 接口配置硬编码调整到环境变量 (#445)
Browse files Browse the repository at this point in the history
* perf: 接口配置硬编码调整到环境变量

* perf: 接口配置硬编码调整到环境变量
  • Loading branch information
liweijie0812 authored Mar 15, 2023
1 parent 715e882 commit 78eed60
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 32 deletions.
3 changes: 3 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# 打包路径 根据项目不同按需配置
VITE_BASE_URL = /
VITE_IS_REQUEST_PROXY = true
VITE_API_URL = https://service-bv448zsw-1257786608.gz.apigw.tencentcs.com
VITE_API_URL_PREFIX = /api
3 changes: 3 additions & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# 打包路径
VITE_BASE_URL = /
VITE_IS_REQUEST_PROXY = true
VITE_API_URL = https://service-exndqyuk-1257786608.gz.apigw.tencentcs.com
VITE_API_URL_PREFIX = /api
3 changes: 3 additions & 0 deletions .env.site
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# 打包路径 根据项目不同按需配置
VITE_BASE_URL = https://static.tdesign.tencent.com/starter/vue-next/
VITE_IS_REQUEST_PROXY = true
VITE_API_URL = https://service-bv448zsw-1257786608.gz.apigw.tencentcs.com
VITE_API_URL_PREFIX = /api
5 changes: 5 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 打包路径 根据项目不同按需配置
VITE_BASE_URL = /
VITE_IS_REQUEST_PROXY = true
VITE_API_URL = https://service-exndqyuk-1257786608.gz.apigw.tencentcs.com
VITE_API_URL_PREFIX = /api
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@ yarn-error.log
yarn.lock
package-lock.json
pnpm-lock.yaml
.env.local
.env.*.local
27 changes: 0 additions & 27 deletions src/config/proxy.ts

This file was deleted.

5 changes: 5 additions & 0 deletions src/types/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export interface ImportMetaEnv {
readonly VITE_IS_REQUEST_PROXY: string;
readonly VITE_API_URL: string;
readonly VITE_API_URL_PREFIX: string;
}
5 changes: 2 additions & 3 deletions src/utils/request/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ import merge from 'lodash/merge';
import type { InternalAxiosRequestConfig } from 'axios';
import type { AxiosTransform, CreateAxiosOptions } from './AxiosTransform';
import { VAxios } from './Axios';
import proxy from '@/config/proxy';
import { joinTimestamp, formatRequestDate, setObjToUrlParams } from './utils';
import { TOKEN_NAME } from '@/config/global';
import { ContentTypeEnum } from '@/constants';

const env = import.meta.env.MODE || 'development';

// 如果是mock模式 或 没启用直连代理 就不配置host 会走本地Mock拦截 或 Vite 代理
const host = env === 'mock' || !proxy.isRequestProxy ? '' : proxy[env].host;
const host = env === 'mock' || import.meta.env.VITE_IS_REQUEST_PROXY !== 'true' ? '' : import.meta.env.VITE_API_URL;

// 数据处理,方便区分多种处理方式
const transform: AxiosTransform = {
Expand Down Expand Up @@ -172,7 +171,7 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
// 接口前缀
// 例如: https://www.baidu.com/api
// urlPrefix: '/api'
urlPrefix: '/api',
urlPrefix: import.meta.env.VITE_API_URL_PREFIX,
// 是否返回原生响应头 比如:需要获取响应头时使用该属性
isReturnNativeResponse: false,
// 需要对返回数据进行处理
Expand Down
4 changes: 2 additions & 2 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const CWD = process.cwd();

// https://vitejs.dev/config/
export default ({ mode }: ConfigEnv): UserConfig => {
const { VITE_BASE_URL } = loadEnv(mode, CWD);
const { VITE_BASE_URL, VITE_API_URL_PREFIX } = loadEnv(mode, CWD);
return {
base: VITE_BASE_URL,
resolve: {
Expand Down Expand Up @@ -45,7 +45,7 @@ export default ({ mode }: ConfigEnv): UserConfig => {
port: 3002,
host: '0.0.0.0',
proxy: {
'/api': 'http://127.0.0.1:3000/',
[VITE_API_URL_PREFIX]: 'http://127.0.0.1:3000/',
},
},
};
Expand Down

0 comments on commit 78eed60

Please sign in to comment.