Vue專案中新增鎖屏功能

wyfem發表於2021-09-09

0.   直接上 預覽連結

1.    實現思路

  • ( 1 ) 設定鎖屏密碼

  • ( 2 )  密碼存localStorage (本專案已經封裝h5的sessionStorage和localStorage)

  • ( 3 )  vuex設定 SET_LOCK state.isLock = true (為true是鎖屏狀態)

  • ( 4 )  在路由裡面判斷vuex裡面的isLock(為true鎖屏狀態不能讓使用者後退url和自行修改url跳轉頁面否則可以)

(1)設定鎖屏密碼

  handleSetLock() {      this.$refs['form'].validate(valid => {        if (valid) {          this.$store.commit('SET_LOCK_PASSWD', this.form.passwd)          this.handleLock()
        }
      })
    },

( 2 )  密碼存localStorage setStore是自己封裝的方法

  SET_LOCK_PASSWD: (state, lockPasswd) => {
      state.lockPasswd = lockPasswd
      setStore({        name: 'lockPasswd',        content: state.lockPasswd,        type: 'session'
      })
    },

( 3 )  vuex設定 SET_LOCK state.isLock = true 同時存在store裡面

  SET_LOCK: (state, action) => {
      state.isLock = true
      setStore({        name: 'isLock',        content: state.isLock,        type: 'session'
      })
    },

( 4 )  在路由裡面判斷vuex裡面的isLock

 if (store.getters.isLock && to.path !== lockPage) {      next({        path: lockPage
      })
      NProgress.done()



作者:nxmin
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2894/viewspace-2813460/,如需轉載,請註明出處,否則將追究法律責任。

相關文章