最近接手的B端项目选择了vue来做,此项目使用element ui Message等为组件 望周知
需求
- 登陆成功后跳转至首页
- 首页不能手动跳转至登陆页
- 登陆后跳转至目标页面
此次B端SPA项目把ak存在localstorage中
1.登陆的跳转利用全局钩子router.beforeEach
//router.js router.beforeEach((to, from, next) => { // 若userkey不存在并且前往页面不是登陆页面,进入登陆 // 若userkey存在并且前往登陆页面,进入主页 const userKey = localStorage.getItem('userKey') if (!userKey && to.path !== '/login') { next({ path: '/login', query: { redirect: to.fullPath } }) } else if (userKey && to.path === '/login') { next({ path: '/' }) } else { next() } })
上面使用了query带上目标参数
例子:#/login"htmlcode">
//若验证成功跳转 var redirect = decodeURIComponent(this.$route.query.redirect || '/') self.$router.push({ // 你需要接受路由的参数再跳转 path: redirect })
需求
若ak失效后发送请求时弹出失效弹出框返回到登陆页面
以下做了个简单的例子若请求返回的参数带0则登陆失效
// respone拦截器 axios.interceptors.response.use( response => { console.log(response) const data = response.data if (data.status === 0) { MessageBox.alert('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', { confirmButtonText: '确定', type: 'warning' }).then(() => { localStorage.clear() router.replace({ path: '/login' }) return }).catch(() => { localStorage.clear() router.replace({ path: '/login' }) }) } else { return response } }, error => { if (error && error.response) { switch (error.response.status) { case 400: error.message = '请求错误' break case 401: error.message = '未授权,请登录' break case 403: error.message = '拒绝访问' break case 404: error.message = (process.env.NODE_ENV === 'production' "htmlcode">loginOut() { var self = this this.$confirm('您确定要退出吗?', '退出管理平台', { confirmButtonText: '确定', cancelButtonText: '取消' }).then(() => { const info = { 'userkey': localStorage.getItem('userKey') } self.$store.dispatch('LogOut', info).then(() => { self.$router.push({ path: '/login' }) }).catch(() => { }) }).catch(() => { }) }简单的登陆登出结束啦~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“vue实现登陆登出的实现示例”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。