// 上次启动时的用户信息
let userInfoHistory = uni.getStorageSync('userinfo') || {};
let state = {
        //是否已经登录
        hasLogin: Boolean(Object.keys(userInfoHistory).length), //Object.keys().length 判断对象长度，用以检测对象是否为空
        //用户信息
        info: userInfoHistory
    },
    getters = {
        info(state) {
            return state.info;
        },
        hasLogin(state) {
            return state.hasLogin;
        }
    },
    mutations = {
        login(state, info) { //登录成功后的操作
            //原有的结合传来的参数
            let _info = state.info;
            state.info = Object.assign({}, _info, info);
            //设置为已经登录
            state.hasLogin = true;
            // console.log('state.info', state.info);
            //存储最新的用户数据到本地持久化存储
            uni.setStorageSync('userinfo', state.info);
            if (info.token) {
                uni.setStorage({
                    key: 'uni_id_token',
                    data: state.info.token,
                    complete(e) {
                        // console.log('setStorage-------',e);
                    }
                });
                uni.setStorageSync('uni_id_token_expired', state.info.tokenExpired)
            }
        },
        logout(state) {
            state.info = {};
            state.hasLogin = false;
            uni.setStorageSync('userinfo', {});
            uni.removeStorageSync('uni_id_token');
            uni.setStorageSync('uni_id_token_expired', 0)
        }
    },
    actions = {
        logout(context) {
            uni.showLoading({
                mask: true
            })
        }
    }
export default {
    namespaced: true,
    state,
    getters,
    mutations,
    //同步执行触发，用store.commit
    actions
    //异步执行触发，用store.dispatch
}