| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- token: '',
- userId: null,
- memberId: null,
- nickname: '',
- familyId: null,
- openid: '',
- isLoggedIn: false
- },
- mutations: {
- setToken(state, token) {
- state.token = token
- uni.setStorageSync('token', token)
- },
- setUserInfo(state, info) {
- state.userId = info.userId
- state.memberId = info.memberId
- state.nickname = info.nickname
- state.familyId = info.familyId
- state.openid = info.openid
- state.isLoggedIn = !!info.userId
- },
- logout(state) {
- state.token = ''
- state.userId = null
- state.memberId = null
- state.nickname = ''
- state.familyId = null
- state.openid = ''
- state.isLoggedIn = false
- uni.removeStorageSync('token')
- uni.removeStorageSync('openid')
- uni.removeStorageSync('userId')
- }
- },
- actions: {
- initFromStorage({ commit }) {
- var token = uni.getStorageSync('token')
- var openid = uni.getStorageSync('openid')
- var userId = uni.getStorageSync('userId')
- if (token) commit('setToken', token)
- if (userId) {
- var userInfo = uni.getStorageSync('userInfo') || {}
- commit('setUserInfo', {
- userId: userId,
- memberId: userInfo.memberId,
- nickname: userInfo.nickname,
- familyId: userInfo.familyId,
- openid: openid
- })
- }
- }
- }
- })
- export default store
|