最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解vue后臺系統(tǒng)登錄態(tài)管理

 更新時間:2019年04月02日 11:07:12   作者:Eold  
這篇文章主要介紹了vue后臺系統(tǒng)登錄管理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

技術(shù)應(yīng)用
js-cookie + vuex + localStorage 做數(shù)據(jù)持久化

js-cookie

npm i js-cookie --save

vuex

 

user.js

import { login, logout } from '@/servers/login'
	import { getToken, setToken, removeToken } from '@/utils/auth' // 這是上面的js-cookie暴露出來的方法
	const user = {
  state: {
    userInfo: "",
    token: getToken(),
    roles: []
  },
  mutations: {
    SET_TOKEN: (state, token) => {
      state.token = token
    }
  },
  actions: {
    // 用戶名登錄
    login({ commit }, userInfo) {
      const userName = userInfo.userName.trim()
      return new Promise((resolve, reject) => {
        login({userName: userName, password: userInfo.password}).then(res 						=> {
          if (res.status.statusCode === 0) {
            const data = res.result
            commit('SET_TOKEN', data.token)
            setToken(data.token)
            localStorage.setItem('userInfo', JSON.stringify(data))
            resolve()
          }
          else {
            resolve(res.status.statusReason)
          }
          
        })
        .catch(error => {
          reject(error)
        })
      })
    },
    // 登出
    logout({ commit }, userId ) {
      return new Promise((resolve, reject) => {
        logout({id: userId}).then((res) => {
          if (res.status.statusCode === 0) {
            commit('SET_TOKEN', '')
            removeToken()
            localStorage.clear()
            resolve()
          }
          else {
            resolve(res.status.statusReason)
          }
        })
        .catch(error => {
          reject(error)
        })
      })
    }
  }
}
export default user 

getter.js

const getters = {
  userInfo: state => state.user.userInfo
}

export default getters

store.js

import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import getters from './getters'

Vue.use(Vuex)

const store = new Vuex.Store({
  modules: {
    user
  },
  getters
})

export default store

以上就是整個登錄態(tài)的設(shè)定

在項目中的使用,如下
點擊登錄后

this.$store.dispatch('login', {userName: userName, password: password}).then((res) => {
		console.log(res)
		if(!res) {
			//	登錄成功后的邏輯
		} else {
			//	登錄失敗后的邏輯
		}
	})

點擊退出后

this.$store.dispatch('logout', userId).then((res) => {
	   if (!res) {
	    //	退出成功的邏輯
	   }
	   else {
	    //	退出失敗的邏輯
	   }
	 })

需要特別注意的一點,vuex在頁面刷新之后會消失掉.

以上所述是小編給大家介紹的vue后臺系統(tǒng)登錄管理詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

纳雍县| 理塘县| 万载县| 抚顺县| 九寨沟县| 花垣县| 马尔康县| 和田市| 额敏县| 垣曲县| 舒兰市| 沽源县| 西乌| 方城县| 福州市| 蒙阴县| 红河县| 油尖旺区| 股票| 张家港市| 宜城市| 昌黎县| 广宁县| 康定县| 荆门市| 皮山县| 永修县| 皋兰县| 白山市| 始兴县| 宣威市| 肥城市| 石景山区| 鄢陵县| 钟山县| 惠水县| 白城市| 扶沟县| 高要市| 探索| 吴桥县|