rewrite axios && mock data
This commit is contained in:
		@@ -3,69 +3,44 @@ import { Message } from 'element-ui';
 | 
			
		||||
import store from '../store';
 | 
			
		||||
import router from '../router';
 | 
			
		||||
 | 
			
		||||
export default function _fetch(options) {
 | 
			
		||||
  return new Promise((resolve, reject) => {
 | 
			
		||||
    const instance = axios.create({
 | 
			
		||||
      baseURL: process.env.BASE_API,
 | 
			
		||||
      // timeout: 2000,
 | 
			
		||||
      headers: { 'X-Ivanka-Token': store.getters.token }
 | 
			
		||||
    });
 | 
			
		||||
    instance(options)
 | 
			
		||||
            .then(response => {
 | 
			
		||||
              const res = response.data;
 | 
			
		||||
              if (res.code !== 20000) {
 | 
			
		||||
                console.log(options); // for debug
 | 
			
		||||
                Message({
 | 
			
		||||
                  message: res.message,
 | 
			
		||||
                  type: 'error',
 | 
			
		||||
                  duration: 5 * 1000
 | 
			
		||||
                });
 | 
			
		||||
                // 50014:Token 过期了 50012:其他客户端登录了 50008:非法的token
 | 
			
		||||
                if (res.code === 50008 || res.code === 50014 || res.code === 50012) {
 | 
			
		||||
                  Message({
 | 
			
		||||
                    message: res.message,
 | 
			
		||||
                    type: 'error',
 | 
			
		||||
                    duration: 5 * 1000
 | 
			
		||||
                  });
 | 
			
		||||
                  // 登出
 | 
			
		||||
                  store.dispatch('FedLogOut').then(() => {
 | 
			
		||||
                    router.push({ path: '/login' })
 | 
			
		||||
                  });
 | 
			
		||||
                }
 | 
			
		||||
                reject(res);
 | 
			
		||||
              }
 | 
			
		||||
              resolve(res);
 | 
			
		||||
            })
 | 
			
		||||
            .catch(error => {
 | 
			
		||||
              Message({
 | 
			
		||||
                message: '发生异常错误,请刷新页面重试,或联系程序员',
 | 
			
		||||
                type: 'error',
 | 
			
		||||
                duration: 5 * 1000
 | 
			
		||||
              });
 | 
			
		||||
              console.log(error); // for debug
 | 
			
		||||
              reject(error);
 | 
			
		||||
            });
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function fetch(options) {
 | 
			
		||||
  return new Promise((resolve, reject) => {
 | 
			
		||||
    const instance = axios.create({
 | 
			
		||||
      timeout: 2000 // 超时
 | 
			
		||||
    });
 | 
			
		||||
    instance(options)
 | 
			
		||||
            .then(response => {
 | 
			
		||||
              const res = response.data;
 | 
			
		||||
              resolve(res);
 | 
			
		||||
            })
 | 
			
		||||
            .catch(error => {
 | 
			
		||||
              Message({
 | 
			
		||||
                message: error,
 | 
			
		||||
                type: 'error',
 | 
			
		||||
                duration: 5 * 1000
 | 
			
		||||
              });
 | 
			
		||||
              console.log(error); // for debug
 | 
			
		||||
              reject(error);
 | 
			
		||||
            });
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
const service = axios.create({
 | 
			
		||||
  baseURL: process.env.BASE_API
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
service.interceptors.request.use(config => {
 | 
			
		||||
  // Do something before request is sent
 | 
			
		||||
  if (store.state.token) {
 | 
			
		||||
    config.headers.Token = store.state.token;
 | 
			
		||||
  }
 | 
			
		||||
  return config;
 | 
			
		||||
}, error => {
 | 
			
		||||
  // Do something with request error
 | 
			
		||||
  console.log(error); // for debug
 | 
			
		||||
  Promise.reject(error);
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
service.interceptors.response.use(
 | 
			
		||||
  response => {
 | 
			
		||||
    console.log(response)
 | 
			
		||||
    return response;
 | 
			
		||||
  },
 | 
			
		||||
  error => {
 | 
			
		||||
    console.log('err' + error);// for debug
 | 
			
		||||
    const code = error.response.data;
 | 
			
		||||
    if (code === 50008 || code === 50014 || code === 50012) {
 | 
			
		||||
      Message({
 | 
			
		||||
        message: res.message,
 | 
			
		||||
        type: 'error',
 | 
			
		||||
        duration: 5 * 1000
 | 
			
		||||
      });
 | 
			
		||||
      // 登出
 | 
			
		||||
      store.dispatch('FedLogOut').then(() => {
 | 
			
		||||
        router.push({ path: '/login' })
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
    return Promise.reject(error);
 | 
			
		||||
  }
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
export default service;
 | 
			
		||||
 
 | 
			
		||||
@@ -110,6 +110,11 @@
 | 
			
		||||
   })).join('&');
 | 
			
		||||
 }
 | 
			
		||||
 | 
			
		||||
 export function param2Obj(url) {
 | 
			
		||||
   const search = url.split('?')[1];
 | 
			
		||||
   return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}')
 | 
			
		||||
 }
 | 
			
		||||
 | 
			
		||||
 export function html2Text(val) {
 | 
			
		||||
   const div = document.createElement('div');
 | 
			
		||||
   div.innerHTML = val;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user