You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shop-pc/plugins/axiosTk.js

40 lines
966 B

/*
* @Author: ch
* @Date: 2022-05-04 17:11:07
* @LastEditors: ch
* @LastEditTime: 2022-05-25 17:48:35
* @Description: file content
*/
let axiosTk = null;
export default function ({$axios, store, route}, inject) {
const $axiosTk = $axios.create();
$axiosTk.defaults.timeout = 3000;
$axiosTk.onRequest( config =>{
if(!store.state.token){
location.href = '/';
return Promise.reject({message : '要先登录才能操作哦~'});
}
config.headers.Authorization = store.state.token;
return config;
});
$axiosTk.onResponse(response => {
const result = response.data;
if(response.status === 200){
if(result.code === 'SUCCESS'){
return result.data;
}
if(result.code === 'TOKEN_FAIL'){
store.commit('setLoginOut');
store.commit('setLoginVisible');
}
return Promise.reject(result);
}
return Promise.reject({message:'请求出错'});
});
inject('$axiosTk', $axiosTk);
axiosTk = $axiosTk;
}
export {axiosTk}