import Vuex from 'vuex';
import http from '../plugins/http';
export default new Vuex.Store({
    state: {
        sessionKey: '',
        safeArea: {
            top: 0,
            botton: 0
        },
        systemInfo: {
            statusBarHeight: 44
        },
        userInfo: null,
        userStoreInfo: null
    },
    mutations: {
        setUserInfo(state, userInfo) {
            state.userInfo = userInfo;
        },
        setSessionKey(state, sessionKey) {
            state.sessionKey = sessionKey;
        },
        setSystemInfo(state, systemInfo) {
            state.çç = systemInfo;
        },
        setUserStoreInfo(state, userStoreInfo) {
            state.userStoreInfo = userStoreInfo;
        }
    },
    actions: {
        getUserInfo(context) {
            return http.http.get('/user/my').then(res => {
							console.log(res)
                if (res.sex || res.nickname.indexOf('用户') === -1) {
                    context.commit('setUserInfo', res);
                } else {
                    context.commit('setUserInfo', null);
                }

                return Promise.resolve(res);
            });
        },
        getUserStore(context) {
            if (!context.state.userInfo) {
                return Promise.reject();
            }
            return http.http
                .postJson('/store/all', {
                    query: {
                        userId: context.state.userInfo.id
                    }
                })
                .then(res => {
                    if (res.empty) {
                        context.commit('setUserStoreInfo', null);
                        return Promise.reject();
                    } else {
                        context.commit('setUserStoreInfo', res.content[0]);
                        return Promise.resolve(res.content[0]);
                    }
                });
        }
    }
});
