axios二次 封装

前提准备

下载axios   下载mint-ui

 

axios.js代码如下

import axios from "axios"; //引入axios
// 引入提示组件以及加载中的组件
import {
  Toast,Indicator
} from "mint-ui";

//配置全局的路由
axios.defaults.baseURL = process.env.API_URL;   //本地调试的时候用测试服    打包之后是正式服


//封装请求   options表示请求的参数  islogin表示的是是否显示加载中的,值为1的时候显示加载中  否则不显示
export function fetch(options, islogin) {
  if (islogin == 1) {
    Indicator.open({
      text: "加载中...",
      spinnerType: "fading-circle"
    });
  }

  // Promise封装axios
  return new Promise((resolve, reject) => {
    //创建一个axios实例
    const axios1 = axios.create({
      "timeout": 30000, // 请求超时时间  
      headers: {        // 请求头  
        "Content-Type": "application/json;charset=UTF-8"
      }
    });

    axios1(options)
      // 请求成功之后的操作
      .then(response => {
        //then 请求成功之后进行什么操作  根据实际的需求来
        if (response.data.code == 100) {    //code等于100表示请求正确  把请求到的数据发到引用请求的地方
          resolve(response.data); 
          Indicator.close();
        } else {                            //否则打印后台的错误信息
          Indicator.close();
          Toast({
            message: response.data.extend.msg,
            position: "middle",
            duration: 3000
          });
        }

      })
      // 请求失败之后显示请求异常
      .catch(error => {
        reject(error);
        Indicator.close();
        Toast({
          message: "请求异常",
          position: "middle",
          duration: 3000
        });
      });
  });
}

 

使用时

//引入封装的axios文件
import {
  fetch
} from "./axios.js"


特殊请求如下,如果后台需要你发送一个json数据的时候

fetch({
    method: "post",
    url: "/apiapi",
    data: JSON.stringify({ ...里面是请求的参数}),
    headers: {
      "Content-Type": "application/json"
    }
  }).then(function(res){})


普通请求如下

fetch({
    method: "get",
    url: "/apiapi",
    params: {
    ...里面是请求的参数
    }
  }).then(function(res){})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值