File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -104,22 +104,26 @@ service.interceptors.request.use(
104
104
// response 拦截器
105
105
service . interceptors . response . use (
106
106
async ( response : AxiosResponse < any > ) => {
107
- const { data } = response
107
+ let { data } = response
108
108
const config = response . config
109
109
if ( ! data ) {
110
110
// 返回“[HTTP]请求没有返回值”;
111
111
throw new Error ( )
112
112
}
113
113
const { t } = useI18n ( )
114
114
// 未设置状态码则默认成功状态
115
- const code = data . code || result_code
116
- // 二进制数据则直接返回
115
+ // 二进制数据则直接返回,例如说 Excel 导出
117
116
if (
118
117
response . request . responseType === 'blob' ||
119
118
response . request . responseType === 'arraybuffer'
120
119
) {
121
- return response . data
120
+ // 注意:如果导出的响应为 json,说明可能失败了,不直接返回进行下载
121
+ if ( response . data . type !== 'application/json' ) {
122
+ return response . data
123
+ }
124
+ data = await new Response ( response . data ) . json ( )
122
125
}
126
+ const code = data . code || result_code
123
127
// 获取错误信息
124
128
const msg = data . msg || errorCode [ code ] || errorCode [ 'default' ]
125
129
if ( ignoreMsgs . indexOf ( msg ) !== - 1 ) {
You can’t perform that action at this time.
0 commit comments