美文网首页web开发
Vue项目 - 超时登出后如何跳login登录后返回之前页面

Vue项目 - 超时登出后如何跳login登录后返回之前页面

作者: 1994陈 | 来源:发表于2019-01-29 12:52 被阅读1次

    在项目中,我们会经常遇到超时登出的功能。跟后台约定好超时登出后返回的code。目前这个项目的登出code是401。由于我们的axios是全局配置的,所以只需要在axios发送get或post请求的地方做一个是否登出的判断:(以下已post为例)

                axios .post(url, params).then(response => {
                    if (response.data.code == '0' || response.data.code == '200') 
                        let copyDate = JSON.parse(JSON.stringify(response.data))
                        resolve(response.data) // 成功后返回
                    } else if (response.data.code == '401') {
                        router.push({
                            path: '/login',
                            query: { redirect: location.hostname }
                        })
                    } else {
                        resolve(response.data)}
    

    配置好后在login.vue中的login方法中做一下判断,如果是在同一个地址下访问的页面,登出后go(-1),返回之前的那个页面,如果是从外部进入登录页面的,登录成功后会跳到首页(/homePage)。这里可以去了解一下location:hostname.

                    if (this.$route.query.redirect == location.hostname) 
                  {this.$router.go(-1);
                  } else {
                    this.$router.push({ path: "/homePage" });
                  }  

    相关文章

      网友评论

        本文标题:Vue项目 - 超时登出后如何跳login登录后返回之前页面

        本文链接:https://www.haomeiwen.com/subject/uxhxsqtx.html