axios封装

import { Indicator } from "mint-ui";
import axios from "axios";
import store from '@/store/index'
import router from "@/router/index";

export default {
  common: {
    method: "GET",
    data: {},
    params: {},
    headers: {}
  },
  $axios(options = {}) {
    options.method = options.method || this.common.method;
    options.data = options.data || this.common.data;
    options.params = options.params || this.common.params;
    options.headers = options.headers || this.common.headers;

    // 是否token校验
    if (options.headers.token == true) {
      // 判断是否登录
      if (!store.state.user.token) { // 未登录
        router.push('/userlogin')
        return new Promise((resolve, reject) => {
          resolve()
        })
      }

      else { // 已登录
        Indicator.open("加载在...");
        options.headers.token = store.state.user.token
        return axios(options).then((res) => {
          return new Promise((resolve, reject) => {
            Indicator.close();
            resolve(res);
          });
        });
      }

    }
    else {
      Indicator.open("加载在...");
      return axios(options).then((res) => {
        return new Promise((resolve, reject) => {
          Indicator.close();
          resolve(res);
        });
      });
    }
  }
};

  

posted @ 2022-07-18 17:03  TM_cc  阅读(36)  评论(0)    收藏  举报