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