axios简单封装

2020-05-21  本文已影响0人  zkzhengmeng

1.首先在项目目录下安装axios

1. 使用npm命令安装axios
   npm install axios

2.在main.js中引入axios文件

import axios from 'axios'; // 引入axios
Vue.prototype.$http = axios //把axios注入到vue原型中方便以后调用
Vue.prototype.$http = axios.create({  //创建实例配置基本参数
          timeout: 10000,//请求超时时间
          headers: {'Content-Type': 'application/json;charset=UTF-8'}
    })

   // 根基当前运行的环境设置请求地址
if (process.env.NODE_ENV == 'development') {
    axios.defaults.baseURL = 'https://www.baidu.com'
} else if (process.env.NODE_ENV == 'debug') {
    axios.defaults.baseURL = 'https://www.ceshi.com'
} else if (process.env.NODE_ENV == 'production') {
    axios.defaults.baseURL = 'https://www.lingfeng666.com'
}

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
   config => {
     var token = localStorage.getItem('token');//获取token
     token && (config.headers.Authorization = token);// 判断token如果存在,则每个请求头的header中都加上token
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

3.请求接口api管理

// 邀请码校验
export function CheckInvitationCode(query) {
    return $http({
        url: 'User/CheckInvitationCode',
        method: 'post',
        data: Qs.stringify(query)
    })
}

// 登录
export function GetUserLogin(query) {
    return $http({
        url: 'User/GetUserLogin',
        method: 'post',
        data: Qs.stringify(query)
    })
}

上一篇下一篇

猜你喜欢

热点阅读