全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

vue实现登陆登出的实现示例

最近接手的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?redirect=%2Fapp

在登陆提交处还得对redirect参数进行处理

//若验证成功跳转
 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' ? `请求地址出错` : `请求地址出错: ${error.response.config.url}`)
     break
    case 408:
     error.message = '请求超时'
     break
    case 500:
     error.message = '服务器内部错误'
     break
    case 501:
     error.message = '服务未实现'
     break
    case 502:
     error.message = '网关错误'
     break
    case 503:
     error.message = '服务不可用'
     break
    case 504:
     error.message = '网关超时'
     break
    case 505:
     error.message = 'HTTP版本不受支持'
     break
    default:
   }
   Message({
    message: error.message,
    type: 'error',
    duration: 5 * 1000
   })
  }
  return Promise.reject(error)
 }
)

需求

手动登出

 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(() => {

   })
  }

简单的登陆登出结束啦~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 登陆登出  # 登出  # vue登陆  # Vue2.0 axios前后端登陆拦截器(实例讲解)  # vue+axios新手实践实现登陆的示例代码  # 详解用vue.js和laravel实现微信授权登陆  # 基于vue-cli3和element实现登陆页面  # Vue 前端实现登陆拦截及axios 拦截器的使用  # 详解vue2.0+axios+mock+axios-mock+adapter实现登陆  # 详解springboot和vue前后端分离开发跨域登陆问题  # Vue 页面权限控制和登陆验证功能的实例代码  # vue+koa2实现session、token登陆状态验证的示例  # vue实现登陆功能  # 跳转  # 弹出  # 周知  # 首页  # 已被  # 不受  # 不存在  # 还得  # 来做  # 请登录  # 管理平台  # 不可用  # 大家多多  # 选择了  # 使用了  # 拦截器  # getItem  # amp  # login  # path 


相关文章: 常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何确保FTP站点访问权限与数据传输安全?  深圳网站制作培训,深圳哪些招聘网站比较好?  建站主机选购指南:核心配置优化与品牌推荐方案  建站之星在线客服如何快速接入解答?  建站之星多图banner生成与模板自定义指南  建站之星后台管理系统如何操作?  如何高效配置香港服务器实现快速建站?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  小型网站建站如何选择虚拟主机?  如何用美橙互联一键搭建多站合一网站?  北京企业网站设计制作公司,北京铁路集团官方网站?  建站之星如何修改网站生成路径?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  建站之星如何防范黑客攻击与数据泄露?  建站之星价格显示格式升级,你的预算足够吗?  如何批量查询域名的建站时间记录?  如何在IIS服务器上快速部署高效网站?  用v-html解决Vue.js渲染中html标签不被解析的问题  宝塔建站后网页无法访问如何解决?  建站之星如何快速更换网站模板?  如何设置并定期更换建站之星安全管理员密码?  实例解析Array和String方法  如何快速搭建高效可靠的建站解决方案?  制作网站外包平台,自动化接单网站有哪些?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  定制建站哪家更专业可靠?推荐榜单揭晓  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  建站主机与虚拟主机有何区别?如何选择最优方案?  建站主机是什么?如何选择适合的建站主机?  建站之星安装后界面空白如何解决?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何在宝塔面板中创建新站点?  高性价比服务器租赁——企业级配置与24小时运维服务  如何快速搭建高效服务器建站系统?  如何破解联通资金短缺导致的基站建设难题?  如何快速搭建虚拟主机网站?新手必看指南  如何高效完成独享虚拟主机建站?  如何高效完成自助建站业务培训?  linux top下的 minerd 木马清除方法  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  音乐网站服务器如何优化API响应速度?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  建站之星后台密码遗忘?如何快速找回?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  建站主机是否等同于虚拟主机?  广州建站公司哪家好?十大优质服务商推荐  香港服务器部署网站为何提示未备案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。