imatrix-ui 2.9.20-boe04 → 2.9.20-boe05
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/utils/request.js +38 -8
package/package.json
CHANGED
package/src/utils/request.js
CHANGED
|
@@ -101,15 +101,45 @@ service.interceptors.response.use(
|
|
|
101
101
|
// 说明是原生的错误,不要显示,显示“请联系管理员”
|
|
102
102
|
message = getI18n().t('imatrixUIMessage.internalServerError')
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
// 检查 error.response.data 是否是 Blob 类型
|
|
105
|
+
if (error.response && error.response.data instanceof Blob) {
|
|
106
|
+
const reader = new FileReader()
|
|
107
|
+
reader.onload = () => {
|
|
108
|
+
try {
|
|
109
|
+
// 将 Blob 转换为文本并解析为 JSON
|
|
110
|
+
const errorData = JSON.parse(reader.result)
|
|
111
|
+
if (errorData.message) {
|
|
112
|
+
message = errorData.message // 提取后端返回的错误信息
|
|
113
|
+
}
|
|
114
|
+
} finally {
|
|
115
|
+
// 显示错误信息
|
|
116
|
+
Message({
|
|
117
|
+
showClose: true,
|
|
118
|
+
message: message,
|
|
119
|
+
type: 'error',
|
|
120
|
+
duration: 10 * 1000
|
|
121
|
+
})
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// 将 Blob 转换为文本
|
|
125
|
+
reader.readAsText(error.response.data)
|
|
126
|
+
} else if (error.response.data && error.response.data.message) {
|
|
127
|
+
// 如果不是 Blob 类型,直接提取错误信息
|
|
128
|
+
Message({
|
|
129
|
+
showClose: true,
|
|
130
|
+
message: error.response.data.message,
|
|
131
|
+
type: 'error',
|
|
132
|
+
duration: 10 * 1000
|
|
133
|
+
})
|
|
134
|
+
} else {
|
|
135
|
+
// 其他情况,显示默认错误信息
|
|
136
|
+
Message({
|
|
137
|
+
showClose: true,
|
|
138
|
+
message: message,
|
|
139
|
+
type: 'error',
|
|
140
|
+
duration: 10 * 1000
|
|
141
|
+
})
|
|
106
142
|
}
|
|
107
|
-
Message({
|
|
108
|
-
showClose: true,
|
|
109
|
-
message: message,
|
|
110
|
-
type: 'error',
|
|
111
|
-
duration: 10 * 1000
|
|
112
|
-
})
|
|
113
143
|
return Promise.reject(error)
|
|
114
144
|
} else {
|
|
115
145
|
let message = error.message
|