Commit 7df9b513447d8deab2fd8e86fa23c807adb6d440

Authored by love-life
Committed by GitHub
1 parent c753d945

fix: 修改axios 中 urlPrefix 字段不生效问题 (#1170)

* fix(样式污染): 会污染其他带有srcollbar的组件样式

* fix(axios): urlPrefix 字段传递不生问题效
src/utils/http/axios/axiosTransform.ts
... ... @@ -6,7 +6,6 @@ import type { RequestOptions, Result } from '/#/axios';
6 6  
7 7 export interface CreateAxiosOptions extends AxiosRequestConfig {
8 8 authenticationScheme?: string;
9   - urlPrefix?: string;
10 9 transform?: AxiosTransform;
11 10 requestOptions?: RequestOptions;
12 11 }
... ...
src/utils/http/axios/index.ts
... ... @@ -81,7 +81,7 @@ const transform: AxiosTransform = {
81 81  
82 82 // 请求之前处理config
83 83 beforeRequestHook: (config, options) => {
84   - const { apiUrl, joinPrefix, joinParamsToUrl, formatDate, joinTime = true } = options;
  84 + const { apiUrl, joinPrefix, joinParamsToUrl, formatDate, joinTime = true,urlPrefix } = options;
85 85  
86 86 if (joinPrefix) {
87 87 config.url = `${urlPrefix}${config.url}`;
... ... @@ -199,8 +199,7 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
199 199 timeout: 10 * 1000,
200 200 // 基础接口地址
201 201 // baseURL: globSetting.apiUrl,
202   - // 接口可能会有通用的地址部分,可以统一抽取出来
203   - urlPrefix: urlPrefix,
  202 +
204 203 headers: { 'Content-Type': ContentTypeEnum.JSON },
205 204 // 如果是form-data格式
206 205 // headers: { 'Content-Type': ContentTypeEnum.FORM_URLENCODED },
... ... @@ -222,6 +221,8 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
222 221 errorMessageMode: 'message',
223 222 // 接口地址
224 223 apiUrl: globSetting.apiUrl,
  224 + // 接口拼接地址
  225 + urlPrefix: urlPrefix,
225 226 // 是否加入时间戳
226 227 joinTime: true,
227 228 // 忽略重复请求
... ... @@ -240,5 +241,6 @@ export const defHttp = createAxios();
240 241 // export const otherHttp = createAxios({
241 242 // requestOptions: {
242 243 // apiUrl: 'xxx',
  244 +// urlPrefix: 'xxx',
243 245 // },
244 246 // });
... ...
types/axios.d.ts
... ... @@ -14,6 +14,8 @@ export interface RequestOptions {
14 14 joinPrefix?: boolean;
15 15 // Interface address, use the default apiUrl if you leave it blank
16 16 apiUrl?: string;
  17 + // 请求拼接路径
  18 + urlPrefix?: string;
17 19 // Error message prompt type
18 20 errorMessageMode?: ErrorMessageMode;
19 21 // Whether to add a timestamp
... ...