import {getStore, setStore} from '@/util/store' import {setToken} from '@/util/auth' import {checkTokenValid, generateToken} from '@/api/user' const user = { state: { userInfo: getStore({name: 'userInfo'}) || [], token: getStore({name: 'token'}) || '', }, actions: { GenerateToken({commit}, user) { return new Promise((resolve, reject) => { generateToken(user).then(res => { const data = res.data; commit('SET_USER', user); commit('SET_TOKEN', data); resolve(); }).catch(error => { reject(error); }) }) }, CheckTokenValid(body) { return new Promise((resolve, reject) => { checkTokenValid(body).then(() => { resolve(); }).catch(error => { reject(error) }) }) } }, mutations: { SET_TOKEN: (state, token) => { setToken(token); state.token = token; setStore({name: 'token', content: state.token, type: 'session'}) }, SET_USER: (state, userInfo) => { state.userInfo = userInfo; setStore({name: 'userInfo', content: state.userInfo}) } } }; export default user