vue 根据接口返回的状态码判断用户登录状态并跳转登录页

背景:后台接口返回code==501表示用户是未登录状态,需要登录才可访问;

main.js中通过http拦截做路由跳转

import Vue from ‘vue‘
import Axios from ‘axios‘
Vue.prototype.$axios = Axios
import { Loading, Message, MessageBox } from ‘element-ui‘
// 超时时间
Axios.defaults.timeout = 5000
// http请求拦截器
var loadinginstace
Axios.interceptors.request.use(config => {
   // 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)
})

原文地址:https://www.cnblogs.com/duanzhenzhen/p/10663496.html

时间: 2024-10-13 21:09:09

vue 根据接口返回的状态码判断用户登录状态并跳转登录页的相关文章

vue 根据接口返回的状态码判断(http拦截器)

import Axios from 'axios' import { Loading, Message } from 'element-ui' // 超时时间 Axios.defaults.timeout = 5000 // http请求拦截器 let loadinginstace Axios.interceptors.request.use(config => { // element ui Loading方法 loadinginstace = Loading.service({ fullsc

vue将接口返回的日期实时转换为几分钟前、几小时前、几天前

项目开发中,各种需求都会遇到,有些需求很合理,也好实现,有些需求不能说不合理,就是太麻烦,就比如类似标题所描述这种的需求,你不能说它是不合理的需求,因为很多论坛或微博.朋友圈.QQ空间之类的这种效果还是很常见的,能让我们一眼就看到这些信息是什么时候发的,而且这些时间基本都是实时自动更新的,给人的感觉很友好. 而在我们公司的后台管理项目中,恰好也有这样的需求,感觉很时髦.很潮流,所以在我们前端开发的时候,我就顺便把这样的效果给做了出来.后来在和写接口的同事开会对字段的时候,写接口的同事说这个功能他

HTTP_4_返回结果的HTTP状态码

状态码:返回请求结果. 状态码种类繁多,以下总结常用的状态码:     类别 信息性状态码 1XX 服务器接受请求,继续处理       成功状态码 200 OK 请求处理成功,并返回资源(响应报文中含有实体主体)   200 No Content 请求处理成功,但没有资源可返回.(响应报文中无实体主体)   206 Partial Content 客户端进行了范围请求,服务器成功执行并返回       重定向状态码 301 Moved Permanently 永久性重定向,资源URI重新分配

返回结果的HTTP状态码

状态码的职责就是在客户端发送请求之后,描述返回的请求结果,借助状态码,用户可以知道服务器端是否正常处理请求. 状态码的类别: 类别 原因短语 1XX Informational(信息性状态码) 接受的请求正在处理 2XX Success(成功状态码) 请求正常处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作已完成请求 4XX Client Error(客户端错误状态码) 服务器无法处理请求 5XX Server Error(服务器错误状态码) 服务器处理请求出错 因为状

HTTP协议 (六) 状态码详解

HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果是做AJAX,REST,网络爬虫,机器人等程序.还是需要了解其他状态码.  本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了. HTTP状态码的学习资料到处都有,但是都是理论上讲解.  本文介绍HTTP协议中的HTTP状态码(HTTP Status Code), 会对大部分的状态码都进行了详细的实例讲

http请求头响应头及状态码列表

HTTP响应头和请求头信息对照表 HTTP请求头提供了关于请求,响应或者其他的发送实体的信息.HTTP的头信息包括通用头.请求头.响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成. 通用头标:即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联. 请求头标:允许客户端传递关于自身的信息和希望的响应形式. 响应头标:服务器和于传递自身信息的响应. 实体头标:定义被传送资源的信息.即可用于请求,也可用于响应. 根据以上分类的HTTP请求头介绍可以参考此文,本工具

http协议的状态码 200、301、304、404、502 HTTP状态码解释

在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果.因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长来说,这是很有必要俱备的网站制作基础条件. 如果某项请求发送到您的服务器要求显示您网站上的某个网页(例如

HTTP协议状态码详解(HTTP Status Code)

使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码   说明 100   (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分.  101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 2xx (成功) 表示成功

喵星人教你记 HTTP 状态码

记忆HTTP状态码是有一些困难的,因为状态码很多且很难记忆.GirlieMac,也就是Tomomi Imura利用她巧妙的构思,PS了一系列的HTTP状态信息.在你看过这些图片之后,你绝对可以记住一些 HTTP 状态码,因为我就只是在这里才学会了这些状态码. 以下列出这些状态码以及它们最基本的含义 100 继续 表示服务器已经接收到了请求头,并且客户端应该继续发送请求体. 101 切换协议 表示请求方已经要求服务器切换协议,并且服务器已经接受并会进行处理. 200 正常 HTTP 请求成功的标准