mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-10-13 18:22:13 +08:00
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { defineRuntimeConfig } from '@fesjs/fes'
|
|
import { isPlainObject } from 'lodash-es'
|
|
|
|
export default defineRuntimeConfig({
|
|
request: {
|
|
baseURL: '',
|
|
timeout: 10000, // 默认 10s
|
|
method: 'POST', // 默认 post
|
|
mergeRequest: false, // 是否合并请求
|
|
responseType: null, // 可选 'json' | 'text' | 'blob' | 'arrayBuffer' | 'formData',默认根据 content-type 处理
|
|
credentials: 'include', // 默认 include, 'include' | 'same-origin' | 'omit'
|
|
headers: {}, // 传给服务器的 header
|
|
cacheData: false, // 是否缓存
|
|
requestInterceptor: (config: Config) => Config,
|
|
responseInterceptor: (response: RequestResponse) => RequestResponse,
|
|
transformData(data, response) {
|
|
// 处理响应内容异常
|
|
if (isPlainObject(data)) {
|
|
if (data.code === '10000') {
|
|
return Promise.reject(data)
|
|
}
|
|
return data?.result ? data.result : data
|
|
}
|
|
return data
|
|
},
|
|
// http 异常,和插件异常
|
|
errorHandler(error) {
|
|
// 处理业务异常,例如上述 transformData 抛出的异常
|
|
if (error.code) {
|
|
console.log(error.msg)
|
|
}
|
|
else if (error.response) {
|
|
// 请求成功发出且服务器也响应了状态码,但状态代码超出了 2xx 的范围
|
|
console.log(`服务异常:${error.response.status}`)
|
|
}
|
|
else {
|
|
// 请求异常
|
|
console.log(error.msg || error.message || `请求失败`)
|
|
}
|
|
},
|
|
},
|
|
})
|