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

vue?退出登錄?清除localStorage的問題

 更新時間:2022年12月20日 14:30:56   作者:xiaodong_blogs  
這篇文章主要介紹了vue?退出登錄?清除localStorage的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue 退出登錄 清除localStorage

在vue登錄的時候我們會保持狀態(tài) 如下:

methods: {
        login(){
            this.axios.post('users/login/',this.form).then(res=>{
                console.log(res.data)
                if(res.data.code == 200){
                    localStorage.setItem('userid',res.data.userid)
                    localStorage.setItem('username',res.data.username)
                    localStorage.setItem('mobile',res.data.mobile)
                    this.$router.push({
                        name:'Index'
                    })
                }
            })
        }
    },

此時 瀏覽器中會將狀態(tài)保存

當(dāng)退出賬號 我們就需要 清除狀態(tài)保持

<template>
	<div>
		<a @click="exit" >退出</a>
	</div>
</template>
<script>
import axios from 'axios'
export default {
    props: {
        passUser:{

        }
    },
    data() {
        return {

        }
    },
    methods: {
        exit(){
        	// 清除狀態(tài)保持
            window.localStorage.clear()
            // 狀態(tài)保持清除后刷新頁面
            window.location.reload()

        }
    },
    created() {

    }
}
</script>

<style scoped>

</style>

vue 登錄后無操作半小時后自動清除登錄狀態(tài)

在項目的頁面入口文件App.vue文件中監(jiān)聽用戶最后一次操作鼠標、鍵盤或滾動事件:

<template>
  <div id="app">
    <router-view />
  </div>
</template>
<script>
// 登錄狀態(tài)使用store插件保存在客戶端的localStorage中
import storage from 'store'
export default {
  name: 'App',
  computed: {
    token () {
      return storage.get('TOKEN')
    },
    uid () {
      return storage.get('UID')
    },
    userInfo () {
      return storage.get('USER_INFO')
    }
  },
  mounted () {
    document.onmousemove = this.debounce(this.resetStatus, 3000)
    document.onkeydown = this.debounce(this.resetStatus, 3000)
    document.onscroll = this.debounce(this.resetStatus, 3000)
  },
  methods: {
    // 使用防抖,對于短時間內(nèi)(此處是3s)連續(xù)觸發(fā)的事件,只執(zhí)行最后一次
    debounce (fn, delay) {
      let timer = null
      return function () {
        if (timer) {
          clearTimeout(timer)
        }
        timer = setTimeout(fn, delay)
      }
    },
    resetStatus () { // 重置store插件自動清除時間
      if (this.token) {
        storage.set('TOKEN', this.token, new Date().getTime() + 30 * 60 * 1000)
        storage.set('UID', this.uid, new Date().getTime() + 30 * 60 * 1000)
        storage.set('USER_INFO', this.userInfo, new Date().getTime() + 30 * 60 * 1000)
      }
    }
  }
}
</script>
<style lang="less" scoped>
#app {
  min-height: 100vh;
  min-width: 1200px;
  margin: 0 auto;
}
</style>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Vue3中使用CSS Modules實現(xiàn)樣式隔離

    在Vue3中使用CSS Modules實現(xiàn)樣式隔離

    隨著構(gòu)建現(xiàn)代前端應(yīng)用的需要,樣式的管理和隔離變得越來越重要,為了解決樣式?jīng)_突和管理困難的問題,CSS Modules 應(yīng)運而生,本文我們將討論如何在 Vue3 中使用 CSS Modules 實現(xiàn)樣式隔離,需要的朋友可以參考下
    2024-09-09
  • Vue項目中常用的實用技巧匯總

    Vue項目中常用的實用技巧匯總

    如果說是JQuery是手工作坊,那么Vue.js就像是一座工廠,雖然Vue.js做的任何事情JQuery都可以做,但無論是代碼量還是流程規(guī)范性都是前者較優(yōu),這篇文章主要給大家匯總介紹了關(guān)于Vue項目中常用的實用技巧,需要的朋友可以參考下
    2021-07-07
  • vue中 數(shù)字相加為字串轉(zhuǎn)化為數(shù)值的例子

    vue中 數(shù)字相加為字串轉(zhuǎn)化為數(shù)值的例子

    今天小編就為大家分享一篇vue中 數(shù)字相加為字串轉(zhuǎn)化為數(shù)值的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路

    Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路

    這篇文章主要介紹了Vue導(dǎo)出頁面為PDF格式的實現(xiàn)思路,其實思路也很簡單,就是將頁面轉(zhuǎn)換成圖片格式.然后通過圖片的base64碼.生成PDF..感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-07-07
  • 最新評論