您的位置:首页 > Web前端 > Vue.js

vue中用户未登录跳转到登录页,登录后返回将要去的页面或者之前的页面

2018-06-08 11:04 1546 查看

最近写用户登录,网上很多办法是在route的query保存上个页面的url,然后登录后再跳转到这个页面。但是如果我跳转的页面有很多的参数也在query里,这样就不好操作了。下面我先附上用户未登录跳转登录页的方法。

请求我用的是axios。如果方便点,我们可以用axios的全局配置,来拦截请求回来的数据,当请求回来的状态码不是成功的时候,跳转登录页 ,我们公司1001是错误的状态,这个根据自己公司来定。


如果有的小伙伴不会全局配置axios的话可以看一下文档,不会也没关系,就是麻烦点,在每个需要跳转登录页的页面都写上,像这样:


在页面的methods方法里面调用接口,然后判断请求回来的状态。/login是我的登录页面的路径,如果你的登录页是别的名字,你写自己的路径。

跳转的登录页后,登录成功返回上一个页面

在登录页中,判断如果登录成功,写上这句话


返回上个页面,go(-2)返回上上个页面,go(0)是刷新当前页面。这样写就没有什么问题啦,但是有一种情况,登录页是朋友分享过来的。那我之前在百度页面打开的这个链接,登录后就跳转到了百度,这样是不行的。虽然没有直接显示登录页的页面,但是这种情况也得考虑。

我的思路是判断上个页面的域名是不是和登录页的域名一样,也就是说判断是不是你的项目,如果不是就跳转到首页

只需要在跳转登录页的时候把域名传到router的query里面,你自己随便起个名字,像这样


location.hostname不知道的可以百度一下。

不是全局配置的小伙伴在当前页面这样写:


这样在登录页就拿到了上个页面的location.hostname了。然后在登录页判断一下


这样就好啦,如果哪里有不足可以和我交流

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐