Appearance
配置说明
请仔细阅读并理解每一个配置项的含义及作用。
使用配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
maxReqNum | Number | 6 | 最多可并发请求的数量,当同时请求接口数量超过此配置值时,后面的接口将排队等待 |
cacheNum | Number | 10 | 最多可缓存的接口数量,当缓存数量超过最多可缓存数量时,将移除最近最少使用的接口缓存数据 |
showLoadingFun | Function | - | 展示全局加载动画的方法 参数: - config:请求的配置 - requestingNum:正在请求且需要展示请求加载动画的接口数量(必然大于0) 需在此方法内编写展示加载动画的代码 |
hideLoadingFun | Function | - | 关闭全局加载动画的方法 参数: - config:请求的配置 - requestingNum:正在请求且需要展示请求加载动画的接口数量(必然等于0) 需在此方法内编写关闭加载动画的代码 |
responseResultFun | Function | (res) => res | 响应数据格式化方法,用于简化业务代码中响应数据的使用,解决多层嵌套问题 参数:res 为 axios 响应拦截后未经任何处理的数据 默认返回原始数据 |
responseTypesStr | String | "arraybuffer,blob" | 配置响应类型(responseType)包含在此值内的接口,将直接返回响应数据(如下载文件时返回文件流),多个值以英文逗号隔开 |
openRefresh | Boolean | false | 是否开启无感刷新 AccessToken |
code | String | "code" | 获取状态码的字段名配置 |
authorizationKey | String | "Authorization" | AccessToken 认证在 headers 中使用的字段名称 |
accessTokenExpirationCode | Number | 401 | AccessToken 过期时的统一且唯一状态码 |
refreshTokenExpirationCode | Number | 403 | RefreshToken 过期时的统一且唯一状态码 |
getAuthorizationFun | Function | - | 用于获取最新的请求头认证值,无默认配置,必填 |
getRefreshTokenFun | Function | - | 返回获取 RefreshToken 的方法,无默认配置,必填 |
refreshTokenStore | Function | - | 调用使用 RefreshToken 续签 AccessToken 接口的处理逻辑,参数为 getRefreshTokenFun 返回的 RefreshToken,无默认配置,必填 |
reloginFun | Function | - | 重新登录的操作逻辑,当接口请求返回 refreshTokenExpirationCode 状态码(默认403)时执行 参数:res 为 axios 响应拦截后未经任何处理的数据 |
温馨提示
当您的项目没有无感续签凭证的功能时,与无感续签凭证相关的配置无需配置,确保openRefresh为false
续签token相关部分配置举例
js
getAuthorizationFun: () => {
// useUserStore.gettersAccessToken() 获取accessToken的方法
return `Bearer ${useUserStore.gettersAccessToken()}`;
}js
getRefreshTokenFun: () => { // 获取refreshToken的方法
return useUserStore.gettersRefreshToken();
}js
refreshTokenStore: (refreshToken: string) => {
// 调用刷新AccessToken的方法 并将获取到的数据存储到cookie 且需要将接口返回的数据 resolve(data)
return useUserStore.refreshTokenFun(refreshToken);
},更多配置请继续阅读
请求接口处的配置
接口请求配置项说明表
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
noShowLoading | Boolean | false | 配置接口是不开启请求加载动画。设为true时,调用此接口时不会触发请求加载动画 |
cache | Boolean | false | 配置接口是否启用数据缓存。设为true时,相同接口且相同参数的请求不会重复调用接口,直接从缓存获取数据;切勿对表单提交接口配置为true。 |
preventDuplicateRequestsType | String | - | 重复请求的操作逻辑,可选值为prevent、cancel:1. prevent:阻止后续的重复请求;2. cancel:取消前面的重复请求;默认判断重复请求的依据为“同请求方式且同请求地址”。 |
fullPath | Boolean | - | 修改判定是否为同一请求的依据。配置为true时,同一请求的判定依据变为“同请求方式且同请求地址且同请求参数”。 |
showIsComplete | String | - | 配置接口全部响应完成时是否额外返回一个指定字段(字段值固定为true)。示例:配置showIsComplete: "complete",则接口请求完毕时会多返回complete字段且值为true;注意:切记不要覆盖原始返回的字段,尽量配置特殊化名字;使用场景:同时请求多个接口后需进行下一步操作时,可利用此字段判断所有接口是否全部请求完毕。 |
removeRemainingTasksWhenError | Boolean | - | 配置接口报错时是否终止后续排队中的接口请求(即正在请求的接口存在报错时,是否清空排队中的接口请求):1. true:需要清空排队中的接口请求;2. false:不清空排队中的接口请求;使用场景:需所有接口请求成功才进行下一步的场景,若有一个接口未成功,其余接口请求无意义,及时终止可减轻服务器压力。 |
isRefreshToken | Boolean | false | 专门用于续签AccessToken的接口配置,需设为true;原因:接口采用排队机制,当请求遇到AccessToken过期时需调用续签接口,若按普通接口排队会排到最后导致流程阻塞,配置为true可开通绿色通道,无需排队直接插队执行(相当于接口中的VIP)。 |
widthCancel | Boolean | false | 专为 requestWithRetry 请求方法设计的是否返回取消请求方法的配置 |
timeout | Number | 3000 | axios原生配置项, requestWithRetry 请求方法时默认时间为 10000,其余方法未设置此配置项也可自行配置 |

