import { mapState } from 'vuex'
computed: {
...mapState({
userInfo: (state) => state.user.userInfo
})
},
vuex
const state= () => {
return {
token: getToken(),
userInfo: {},
area: [], // 省市区
leaders: [],
permissionList: [], // 权限集合
isAssists: false, // 协销商机
isGetRole: false,
depUser: [],
userRole: '',
seatsInfo: '', // 座席信息
callUniqueId: null, // 拨打成功后返回的data
webSocketMsg: '', // 建立webSocket 服务端返回的信息
overdueProduct: []
}
}
const mutations = {
SET_USERINFO: (state, value) => {
state.userInfo = value
},
}
const actions = {
async getAccountInfo ({ commit }) {
commit('SET_USERINFO', result.data)
commit('SET_OVERDUEPRODUCT', overdueProduct.data)
return { ...result.data, ...{ productList: YxgStatus.data.concat(overdueProduct.data), overdueProduct: overdueProduct.data } }
},
}
其他地方使用
store.dispatch('user/getAccountInfo').then(e => {
其中 e 为 return出来的数据
})
还有一种是包装成 Promise
getUserPermission ({ commit, state }, list) {
return new Promise((resolve, reject) => {
可以使用接口
resolve list
}
})
store.dispatch('user/getUserPermission').then(e => {
其中 e 为 return出来 list 的数据
})
modile 下可以定义多个模块
export default {
namespaced: true,
state,
mutations,
actions
}
index 引入
import user from './module/user'
import menu from './module/menu'
modules: {
user,
menu
},