VUE-axios统一增加请求头并根据接口返回的状态码判断用户登录状态并跳转登录页

}

// element ui Loading方法

loadinginstace = Loading.service({ fullscreen: true })

return config

}, error => {

loadinginstace.close();

Message.error({

message: '网络不给力,请稍后再试'

})

return Promise.reject(error)

})

//http响应拦截器

Axios.interceptors.response.use(data => {

// 响应成功关闭loading

loadinginstace.close();

const code = data.data.code;

if(code == 501) { //未登录

MessageBox.alert('请先登录', '提示', {

  confirmButtonText: '确定',

  callback: action => {

    router.replace({

      name: 'login',

      // query: {redirect: router.currentRoute.fullPath} //登录后再跳回此页面时要做的配置

    })

  }

});

}

return data

}, error => {

loadinginstace.close();

Message.error({

message: '网络不给力,请稍后再试'

})

return Promise.reject(error)

})




[解决vue axios的封装 请求状态的错误提示问题]( )



[Vue全局loading及错误提示的思路与实现]( )



[vue - axios 请求统一增加请求头]( )



#  最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/328b5c3af91f0dcb6d19108200dd8b1f.jpeg)

![](https://img-blog.csdnimg.cn/img_convert/b2d1357586012c71c622b2b1894367c0.png)

![](https://img-blog.csdnimg.cn/img_convert/97a3003f4de7212f8ee2180531ae9dd3.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
//bbs.csdn.net/topics/618191877)

**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2中,可以使用axios拦截器来统一处理接口响应的登录失效的数据,并实现跳转登录面的功能。 首先,需要安装axios,可以通过以下命令进行安装: ``` npm install axios --save ``` 接下来,在你的项目中创建一个`api`文件夹,并在其中新建一个`http.js`文件。在该文件中,引入axios并进行一些配置,如下所示: ```javascript // api/http.js import axios from 'axios'; // 创建axios实例 const http = axios.create({ baseURL: 'http://your-api-base-url.com', // 设置接口请求的基础URL timeout: 5000 // 设置超时时间 }); // 请求拦截器 http.interceptors.request.use( config => { // 在发送请求之前可以进行一些处理,例如添加请求头等 // config.headers['Authorization'] = 'Bearer ' + token; return config; }, error => { return Promise.reject(error); } ); // 响应拦截器 http.interceptors.response.use( response => { // 在接收到响应数据之后可以进行一些处理,例如判断登录失效等 return response.data; }, error => { // 处理响应错误 if (error.response && error.response.status === 401) { // 登录失效,跳转登录面 window.location.href = '/login'; } return Promise.reject(error); } ); export default http; ``` 在这个文件中,我们创建了一个axios实例,并在其中定义了请求拦截器和响应拦截器。在请求拦截器中,你可以进行一些请求相关的处理,例如添加请求头等;在响应拦截器中,我们判断了响应状态码是否为401,如果是,则表示登录失效,将会跳转登录面。 接下来,在需要发起接口请求的地方,将使用到这个axios实例。例如,在一个`userService.js`文件中,我们定义了一个登录接口的方法: ```javascript // api/userService.js import http from '@/api/http'; export function login(username, password) { return http.post('/login', { username, password }); } ``` 在上述代码中,我们通过`http`实例来发起请求。当登录接口返回401状态码时,拦截器会自动跳转登录面。 请注意,以上代码只是一个示例,你需要根据你的实际情况进行相应的修改和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值