vue 封装请求

本文介绍了如何在Vue项目中进行API请求的封装,通过创建request.js文件,实现更高效、统一的调用管理。
摘要由CSDN通过智能技术生成

封装请求

首先api目录下新建request.js文件

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

axios.defaults.baseURL = '/你的接口';

axios.defaults.timeout = 5000;

let _TOKEN = (function () {
    return localStorage.getItem("token");
})();
axios.defaults.headers.common["Authorization"] = _TOKEN;

//  请求拦截
import axios from "axios/index";
import {Indicator} from 'mint-ui'

axios.defaults.baseURL = '/你的接口';

axios.defaults.timeout = 5000;

let _TOKEN = (function () {
    return localStorage.getItem("token");
})();
axios.defaults.headers.common["Authorization"] = _TOKEN;

//  请求拦截
axios.interceptors.request.use(
    config => {
        Indicator.open({
            spinnerType: 'fading-circle'
        });
        let url = config.url;
        if (url.indexOf("login") > -1) {
            localStorage.setItem('token', "");
            config.headers.Authorization = "";
        }
        if ('token' != '') {
            config.headers.Authorization = 'Bearer ' + localStorage.getItem("token");
        }
        return config
    },
    error => {
        Indicator.close();
        return Promise.reject(error)
    }
);

// 请求捕获
axios.interceptors.response.use(
    response => {
        Indicator.close();
        return response
    },
    error => {
        Indicator.close();
        if (error && error.response) {
            switch (error.response.status) {
                case 400:
                    error.message = '请求错误';
                    break;
                case 403:
                    error.message = '当前权限不足';
                    break;
                case 404:
                    error.message = `网络请求错误`;
                    break;
                default:
            }
        }
        return Promise.reject(error)
    }
)

调用

this.$newAjax({
     qs: true,
     url: '/login',
     data: {
        // 传参数
     },
     success(res) {
     ///弹框
         Toast({
             message: '登录成功!',
             duration: 800
         });
         //保存到本地
         localStorage.setItem('token', res.data.access_token);
         self.$router.replace('/home')
     }
 })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值