66 lines
1.6 KiB
JavaScript
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
|
|
})
|
|
}
|
|
})
|