index.js 1.4 KB
Newer Older
宋雄's avatar
宋雄 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import {
	customerWxToken,
	getUserInfo
} from "@/config/api.js"
const store = new Vuex.Store({
    state: {
        hasLogin: false,
		userName: '',            //用户名称
        userBtnPerms: []        // 用户按钮权限
	},
	 //mutations定义同步操作的方法
    mutations: {
		// 登录
		setTokenInfo(state, message){
		//登录状态为已登录
			state.hasLogin = true
			state.userName = message.userName
            state.userBtnPerms = message.userBtnPerms
			//储存用户数据到本地
			uni.setStorageSync('token', message.token);
			uni.setStorageSync('userName', message.userName);
			uni.setStorageSync('userBtnPerms', JSON.stringify(message.userBtnPerms));
		}
	},
    actions: {
        async getToken({ commit }, userInfo) {
            const {content} = await customerWxToken(userInfo)
            const res = JSON.parse(content.token)
            const user = await getUserInfo({
                params: {
                    token: res.token
                }
            })
            const message = {"token": content.token, "userName": user.content.userInfo.customerName, "userBtnPerms": user.content.userBtnPerms}
            commit('setTokenInfo', message)
        }
	},
    getters:{
        // hasLogin: () => { //用户是否登录
        //     let token = uni.getStorageSync('token')
        //     return !!token
        // }
    }
})
export default store