import { loginByUsername,logout } from "@/api/login/login"; import {Message} from 'element-ui' import md5 from "js-md5"; import * as auth from '@/utils/auth' import {setStore, getStore} from '@/utils/store' const user = { state: { userInfo: getStore({name: 'userInfo'}) || [], token: getStore({name: 'token'}) || '', }, actions: { //根据用户名登录 LoginByUsername({ commit }, loginForm) { return new Promise((resolve, reject) => { loginByUsername( loginForm.tenantId, loginForm.username, md5(loginForm.password), loginForm.type, loginForm.key, loginForm.code ) .then((res) => { const data = res.data; if (data.error_description) { Message({ message: data.error_description, type: "error", }); //跳转首页 this.$router.push({ path: "/login" }); } else { commit("SET_TOKEN", data.access_token); commit('SET_USER_INFO', data); } resolve(); }) .catch((error) => { reject(error); }); }); }, //登出 LogOut({commit}) { return new Promise((resolve, reject) => { logout().then(() => { commit('SET_TOKEN', ''); auth.removeToken(); auth.removeUserInfo(); resolve(); }).catch(error => { reject(error) }) }) }, }, mutations:{ SET_TOKEN: (state, token) => { auth.setToken(token); }, SET_USER_INFO: (state, userInfo) => { state.userInfo = userInfo; auth.setUserInfo(state.userInfo) setStore({name: 'userInfo', content: state.userInfo}) }, } }; export default user;