import?axios?from?'axios'
import?Vue?from?'vue'
import?{?Toast?}?from?'../baseUI'
Vue.use(Toast);
//?二次封裝axios請求
class?Http{
??constructor(){
????//?創(chuàng)建axios實例對象
????this.instance?=?axios.create(
??????//?請求統(tǒng)一進行配置
??????{
????????baseURL:?'http://localhost:9000/api',
????????timeout:?60000,
??????}
????);
????this.addResponseInterceptors();
??}
??//?添加響應攔截器的代碼
??addResponseInterceptors(){
????this.instance.interceptors.response.use(function?(response)?{
??????if(response.status?===?200?&&?response.data.code?===?200){
????????return?response.data;
??????}else{
????????//?業(yè)務邏輯錯誤
????????//該請求是失敗的媚狰。
????????Toast('請求失敗');
????????return?Promise.reject('網絡錯誤');
??????}
????},?function?(error)?{
??????//?服務器響應錯誤
??????//?對響應錯誤做點什么
??????Toast('請求失敗');
??????return?Promise.reject(error);
????});
??}
??get(url,?params?=?{}){
????return?this.instance.get(url,?{
??????params
????});
??}
??post(url,?data?=?{}){
????return?this.instance.post(url,?data);
??};
}
export?default?new?Http();