欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)登陸登出的實現(xiàn)示例

 更新時間:2017年09月15日 10:23:46   作者:AkiraSun  
本篇文章主要介紹了vue實現(xiàn)登陸登出的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近接手的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帶上目標參數(shù)

例子:#/login?redirect=%2Fapp

在登陸提交處還得對redirect參數(shù)進行處理

//若驗證成功跳轉
 var redirect = decodeURIComponent(this.$route.query.redirect || '/')
     self.$router.push({
      // 你需要接受路由的參數(shù)再跳轉
      path: redirect
     })

需求

若ak失效后發(fā)送請求時彈出失效彈出框返回到登陸頁面

以下做了個簡單的例子若請求返回的參數(shù)帶0則登陸失效

// respone攔截器
axios.interceptors.response.use(
 response => {
  console.log(response)
  const data = response.data
  if (data.status === 0) {
   MessageBox.alert('你已被登出,可以取消繼續(xù)留在該頁面,或者重新登錄', '確定登出', {
    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 = '服務器內(nèi)部錯誤'
     break
    case 501:
     error.message = '服務未實現(xiàn)'
     break
    case 502:
     error.message = '網(wǎng)關錯誤'
     break
    case 503:
     error.message = '服務不可用'
     break
    case 504:
     error.message = '網(wǎng)關超時'
     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(() => {

   })
  }

簡單的登陸登出結束啦~

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue控制多行文字展開收起的實現(xiàn)示例

    vue控制多行文字展開收起的實現(xiàn)示例

    這篇文章主要介紹了vue控制多行文字展開收起的實現(xiàn)示例(也叫控制文字展開隱藏),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • 深入學習Vue nextTick的用法及原理

    深入學習Vue nextTick的用法及原理

    這篇文章主要介紹了深入學習Vue nextTick的用法及原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • vue?parseHTML函數(shù)源碼解析start鉤子函數(shù)

    vue?parseHTML函數(shù)源碼解析start鉤子函數(shù)

    這篇文章主要為大家介紹了vue?parseHTML函數(shù)源碼解析start鉤子函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue中插槽Slot基本使用與具名插槽詳解

    Vue中插槽Slot基本使用與具名插槽詳解

    有時候我們希望在指定的位置輸出我們的子元素,這時候具名插槽就排上了用場,這篇文章主要給大家介紹了關于Vue中插槽Slot基本使用與具名插槽的相關資料,需要的朋友可以參考下
    2022-10-10
  • vue實現(xiàn)多級側邊欄的封裝

    vue實現(xiàn)多級側邊欄的封裝

    這篇文章主要為大家詳細介紹了vue實現(xiàn)多級側邊欄的封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • vue中axios的post請求,415錯誤的問題

    vue中axios的post請求,415錯誤的問題

    這篇文章主要介紹了vue中axios的post請求,415錯誤的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue.js如何利用v-for循環(huán)生成動態(tài)標簽

    Vue.js如何利用v-for循環(huán)生成動態(tài)標簽

    這篇文章主要給大家介紹了關于Vue.js如何利用v-for循環(huán)生成動態(tài)標簽的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • 解決vue頁面DOM操作不生效的問題

    解決vue頁面DOM操作不生效的問題

    下面小編就為大家分享一篇解決vue頁面DOM操作不生效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue常用知識點整理

    vue常用知識點整理

    Vue是一套用于構建用戶界面的漸進式JavaScript框架。這篇文章整理了vue中的常用知識點,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • elementUI?el-table二次封裝的詳細實例

    elementUI?el-table二次封裝的詳細實例

    在項目中會多次使用表格展示數(shù)據(jù),不對這個table進行二次封裝成我們自己想要的,重復的代碼量的工作會比較大,下面這篇文章主要給大家介紹了關于elementUI?el-table二次封裝的相關資料,需要的朋友可以參考下
    2023-03-03

最新評論