亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue獲取token(設置token,清除token)實現登錄方式

 更新時間:2023年08月08日 10:04:18   作者:~浮生  
這篇文章主要介紹了vue獲取token(設置token,清除token)實現登錄方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue獲取token(設置token,清除token)實現登錄

使用token做登錄驗證

1、登錄的時候前端調用后端的接口,把用戶名和密碼傳給后端。

2、后端收到請求,驗證用戶名和密碼,返回給前端一個token值。

3、前端收到后端傳給的token值,將token存儲在本地 有3種方法我們選用  sessionStorage

  • cookie :可設置失效時間,否則默認為關閉瀏覽器后消失
  • localStorage :除非被手動清除,否則永久保存
  • sessionStorage:僅在當前網頁會話下有效,關閉頁面或瀏覽器后就會被清除

在utils中創(chuàng)建auth.js用來封裝方法

//設置token
export function setToken(token) {
    // token 代表要存儲到本得的值
	return sessionStorage.setItem("儲存到本地的名字", token)
}
//獲取token
export function getToken() {
	return sessionStorage.getItem("儲存到本地的名字")
}
//清除token
export function removeToken() {
	return sessionStorage.removeItem("要清除的名字")
}

在min.js全局引入

import {
	getToken,
	setToken,
	removeToken
} from '@/utils/auth'

vue中token的處理

傳統(tǒng)的token處理

直接存儲到localstorage或者sessionStorage中,缺點:

1 數據并非響應式,需要進行特殊處理

2 存取麻煩,在存儲對象數組類型的時候要用JSON轉換為JSON類型的字符串

VUEX的存儲方法

通過mutations定義的函數將數據存儲到Vuex的state中

缺點: 數據存儲的有效時間短,刷新頁面數據消失

項目中的token處理方法

兩者結合,加上封裝本地存儲模塊

本地存儲模塊:

// 封裝本地存儲模塊
?
// 存儲數據
export const setItem = (key, val) => {
? // 對象或數組要進行轉換
? if (typeof val === 'object') {
? ? val = JSON.stringify(val)
? }
? localStorage.setItem(key, val)
}
?
// 獲得數據
export const getItem = (key) => {
? const data = localStorage.getItem(key)
? // 處理localStorage內的數據
? // 不需要async
? try {
? ? return JSON.parse(data)
? } catch {
? ? return data
? }
}
?
// 刪除數據
export const removeItem = (key) => {
? localStorage.removeItem(key)
}

導出了存儲數據,獲取數據,和刪除數據的函數,數據的轉換在這里進行

 Vuex

import Vue from 'vue'
import Vuex from 'vuex'
// 導入本地存儲的模塊
import { setItem, getItem } from '@/assets/utils/storeage'
?
Vue.use(Vuex)
?
const tokenKey = 'user'
?
export default new Vuex.Store({
? state: {
? ? // 一個對象用于存儲當前登錄用戶信息里面包含token等數據
? ? user: getItem(tokenKey)
? },
? mutations: {
? ? saveToken(state, data) {
? ? ? state.user = data
? ? ? // 為了防止刷新丟失需要把數據備份到本地存儲
? ? ? setItem(tokenKey, state.user)
? ? }
? },
? actions: {},
? modules: {}
})

實現了本地數據存儲只是用來延長token存在的時間其他的一切操作都是用vuex內的state.user內的數據來進行  

總結

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

相關文章

  • element-ui?table使用type='selection'復選框全禁用(全選禁用)詳解

    element-ui?table使用type='selection'復選框全禁用(全選禁用)詳解

    element-ui中的table的多選很好用,但是如果其中某一項禁止選擇,該怎樣操作呢,下面這篇文章主要給大家介紹了關于element-ui?table使用type='selection'復選框全禁用(全選禁用)的相關資料,需要的朋友可以參考下
    2023-01-01
  • vue watch普通監(jiān)聽和深度監(jiān)聽實例詳解(數組和對象)

    vue watch普通監(jiān)聽和深度監(jiān)聽實例詳解(數組和對象)

    這篇文章主要介紹了vue watch普通監(jiān)聽和深度監(jiān)聽(數組和對象),文中單獨通過代碼給大家介紹了vue watch 深度監(jiān)聽的方法,感興趣的朋友一起看看吧
    2018-08-08
  • .eslintrc配置目錄及配置項的使用方式

    .eslintrc配置目錄及配置項的使用方式

    這篇文章主要介紹了.eslintrc配置目錄及配置項的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue中tinymce的使用實例詳解

    vue中tinymce的使用實例詳解

    TinyMCE Vue是TinyMCE官方發(fā)布的Vue組件,可以更輕松地在Vue應用程序中使用TinyMCE,這篇文章主要介紹了vue中tinymce的使用,需要的朋友可以參考下
    2022-11-11
  • vue子組件使用自定義事件向父組件傳遞數據

    vue子組件使用自定義事件向父組件傳遞數據

    這篇文章主要介紹了vue子組件使用自定義事件向父組件傳遞數據的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • vue如何使用watch監(jiān)聽指定數據的變化

    vue如何使用watch監(jiān)聽指定數據的變化

    這篇文章主要介紹了vue如何使用watch監(jiān)聽指定數據的變化,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue2.0 實現導航守衛(wèi)(路由守衛(wèi))

    vue2.0 實現導航守衛(wèi)(路由守衛(wèi))

    vue-route 提供的 beforeRouteUpdate 可以方便地實現導航守衛(wèi)(navigation-guards)。這篇文章主要介紹了vue2.0 實現導航守衛(wèi)(路由守衛(wèi))的相關知識,需要的朋友可以參考下
    2018-05-05
  • Vue中map()的用法案例

    Vue中map()的用法案例

    map()函數定義在JS的array中,它返回一個新的數組,下面這篇文章主要給大家介紹了關于Vue中map()的用法案例,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Vue3?源碼解讀靜態(tài)提升詳解

    Vue3?源碼解讀靜態(tài)提升詳解

    這篇文章主要為大家介紹了Vue3源碼解讀靜態(tài)提升示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Vue.directive 自定義指令的問題小結

    Vue.directive 自定義指令的問題小結

    這篇文章主要介紹了Vue.directive 自定義指令的問題小結,需要的朋友可以參考下
    2018-03-03

最新評論