ComplianceServer/oldcode/Core.Web/Scripts/record/request.js

66 lines
1.6 KiB
JavaScript

const config = {
mockApi:"https://www.fastmock.site/mock/4b1d82b74b298c9bcdbf59c8793de4d2/api",
baseApi: `/`,
mock: true
}
// 创建axios 实例对象,添加全局配置
const service = axios.create({
baseURL: config.mockApi,
timeout: 8000
})
// 请求拦截
service.interceptors.request.use((req)=>{
// todo
// const { token = "" } = storage.getItem('userInfo') || {};
const headers = req.headers;
let token = ''
if(!headers.Authorization) headers.Authorization = "Bearer " + token;
return req;
})
// 响应拦截
service.interceptors.response.use((res)=>{
const {data, errcode, errmsg } = res.data;
if( errcode == 200){
// console.log('响应拦截data=>', data)
if(data == null){
return []
}
return data
}else if(errcode == 70006){
console.log({'errmsg' : errmsg})
return {'errmsg' : errmsg}
}else {
return { 'errmsg': '业务失败' }
}
})
function request(options) {
let isMock = config.mock;
if(typeof options.mock != "undefined"){
isMock = options.mock;
}
options.method = options.method || 'get';
if(options.method.toLowerCase() === 'get'){
options.params = options.data;
}
// console.log(isMock)
service.defaults.baseURL = isMock ? config.mockApi : config.baseApi;
// console.log(service.defaults.baseURL)
return service(options)
}
['get', 'post' ,'put' ,'delete' ,'patch'].forEach((item) =>{
request[item] = (url, data, options) => {
return request({
url,
data,
method:item,
...options
})
}
})