Vue項目使用localStorage+Vuex保存用戶登錄信息
更新時間:2021年08月24日 13:59:19 作者:it筱竹
這篇文章主要為大家詳細介紹了Vue項目使用localStorage+Vuex保存用戶登錄信息,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Vue使用localStorage+Vuex保存用戶登錄信息的具體代碼,供大家參考,具體內(nèi)容如下
api.js
import axios from 'axios'
const baseURL = 'http://XXX
// 全局的 axios 默認值
axios.defaults.baseURL = baseURL
// 登錄請求
const loginCheck = params => {
return axios.post('/login', params).then(res => {
return res.data
})
}
export { loginCheck }
store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const actions = {}
const mutations = {
handleUserName: (state, user_name) => {
state.user_name = user_name
// 把登錄的用戶的名保存到localStorage中,防止頁面刷新,導致vuex重新啟動,用戶名就成為初始值(初始值為空)的情況
localStorage.setItem('user_name', user_name)
}
}
const state = {
user_name: '' || localStorage.getItem('user_name')
}
// getters 只會依賴 state 中的成員去更新
const getters = {
userName: (state) => state.user_name
}
const store = new Vuex.Store({
actions,
mutations,
state,
getters
})
export { store }
login.vue
methods:{
login(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
// 調(diào)用登錄請求接口
loginCheck(this.form).then(res=>{
// console.log(res);
// 登錄成功,提示成功信息,然后跳轉(zhuǎn)到首頁,同時將token保存到localstorage中, 將登錄名使用vuex傳遞到Home頁面
if(res.meta.status === 200){
// 提示成功信息
this.$message({
message: res.meta.msg,
type: 'success'
});
var that = this;
// 跳轉(zhuǎn)到首頁
setTimeout(function(){
that.$router.push({name:'Home'})
},1000)
localStorage.setItem('token',res.data.token)
// 將登錄名使用vuex傳遞到Home頁面
this.$store.commit('handleUserName',res.data.username);
}else{
// 登錄失敗,就提示錯誤信息
this.$message({
message: '登錄失敗,'+res.meta.msg,
type: 'error'
});
}
})
} else {
return false;
}
});
}
}
Home.vue
您好,{{$store.getters.username}}
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 在Vue3中使用localStorage保存數(shù)據(jù)的流程步驟
- 教你在Vue3中使用useStorage輕松實現(xiàn)localStorage功能
- VUE使用localstorage和sessionstorage實現(xiàn)登錄示例詳解
- vue如何使用cookie、localStorage和sessionStorage進行儲存數(shù)據(jù)
- vue使用localStorage保存登錄信息 適用于移動端、PC端
- Vue使用localStorage存儲數(shù)據(jù)的方法
- 詳解vue中l(wèi)ocalStorage的使用方法
- 詳解Vue中l(wèi)ocalstorage和sessionstorage的使用
- vue中的localStorage使用方法詳解
相關(guān)文章
laravel+vue組合的項目中引入ueditor方式(打包成組件形式)
今天小編就為大家分享一篇laravel+vue組合的項目中引入ueditor方式(打包成組件形式),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue3+vite中使用import.meta.glob的操作代碼
在vue2的時候,我們一般引入多個js或者其他文件,一般使用? require.context 來引入多個不同的文件,但是vite中是不支持 require的,他推出了一個功能用import.meta.glob來引入多個,單個的文件,下面通過本文介紹vue3+vite中使用import.meta.glob,需要的朋友可以參考下2022-11-11
利用Vue實現(xiàn)將圖片轉(zhuǎn)換為Base64編碼的方法
這篇文章主要介紹了利用Vue實現(xiàn)將圖片轉(zhuǎn)換為Base64編碼的方法,Base64是一種編碼方式,用于將二進制數(shù)據(jù)轉(zhuǎn)換成64個基于ASCII的可打印字符,這種編碼可嵌入圖像到HTML或CSS中,減少加載時間,解決跨域問題,并支持離線應(yīng)用開發(fā),需要的朋友可以參考下2024-10-10
vue2.0$nextTick監(jiān)聽數(shù)據(jù)渲染完成之后的回調(diào)函數(shù)方法
今天小編就為大家分享一篇vue2.0$nextTick監(jiān)聽數(shù)據(jù)渲染完成之后的回調(diào)函數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
Vue中使用this.$set()如何新增數(shù)據(jù),更新視圖
這篇文章主要介紹了Vue中使用this.$set()實現(xiàn)新增數(shù)據(jù),更新視圖方式。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

