前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue请求拦截案例

vue请求拦截案例

原创
作者头像
IT工作者
发布2022-05-10 10:13:31
4330
发布2022-05-10 10:13:31
举报
文章被收录于专栏:程序技术知识
代码语言:javascript
复制
import axios from 'axios';
import {getToken} from '@/utils/token'
import { Message } from 'element-ui'

axios.defaults.baseURL = 'http://127.0.0.1:8080/api/';
//请求拦截器
axios.interceptors.request.use(function(config){
    //在发送请求前
    config.headers['token'] = getToken();
    return config;
},function(error){
    //请求错误
   return Promise.reject(error) 
});

//响应拦截器
axios.interceptors.response.use(function(response){
    //响应数据
    if(response.data.code !==20000){
        if(response.data.code==10001){
            Message({
                message: 'token不存在或已过期,请重新登录',
                type: 'warning',
                duration:2000
              });
        }else {
            Message({
                message: response.data.message,
                type: 'warning',
                duration:2000
              });
        }
        
    }
    return response;
},function(error){
    Message({
        message: error.message,
        type: 'error',
        duration:2000
      });
    //响应数据错误
   return Promise.reject(error) 
});

export default axios;   //直接返回axios;

上面拦截封装好导出

这里导入就可以使用了

代码语言:javascript
复制
import request from '@/utils/request'
//登录
export function login(data){
    // return request({
    //     method:'post',
    //     url:'user/login',
    //     data
    // })
    return request.post('user/login',data);
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档