|
- import axios from 'axios';
- import store from '@/store';
- import { Toast } from 'vant';
-
- import { baseApi } from '@/config';
-
- const service = axios.create({
- baseURL: baseApi,
- withCredentials: true,
- timeout: 5000
- });
-
-
- service.interceptors.request.use(
- config => {
-
- if (!config.hideloading) {
-
- Toast.loading({
- forbidClick: true
- });
- }
- if (store.getters.token) {
- config.headers['X-Token'] = '';
- }
- return config;
- },
- error => {
-
- console.log(error);
- return Promise.reject(error);
- }
- );
-
- service.interceptors.response.use(
- response => {
- Toast.clear();
- const res = response.data;
- if (res.status && res.status !== 200) {
-
- if (res.status === 401) {
- store.dispatch('FedLogOut').then(() => {
- location.reload();
- });
- }
- return Promise.reject(res || 'error');
- } else {
- return Promise.resolve(res);
- }
- },
- error => {
- Toast.clear();
- console.log('err' + error);
- return Promise.reject(error);
- }
- );
-
- export default service;
|