12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- state: {
- userInfo: {}
- },
- getters: {
- userId(state) {
- return state.userInfo.id || null;
- }
- },
- mutations: {
- //更新state数据
- setStateAttr(state, param) {
- if (param instanceof Array) {
- for (let item of param) {
- state[item.key] = item.val;
- }
- } else {
- state[param.key] = param.val;
- }
- }
- },
- actions: {
- async setUserData({
- state,
- commit
- }, data) {
- commit('setStateAttr', {
- key: 'userInfo',
- val: data
- })
- uni.setStorageSync('userInfo', data);
- },
- logout({
- state,
- commit
- }) {
- commit('setStateAttr', {
- key: 'userInfo',
- val: {}
- })
- uni.removeStorageSync('userInfo');
- }
- }
- })
- export default store
|