import { http } from '@/utils/request'; import { getToken, setToken, removeToken } from '@/utils/auth' const user = { state: { token: getToken(), userName: "", userCode: "", deptName: '' }, mutations: { SET_TOKEN: (state, token) => { state.token = token }, SET_USERCODE(state, userCode) { state.userCode = userCode }, SET_USERNAME(state, userName) { state.userName = userName }, SET_DEPTNAME(state, deptName) { state.deptName = deptName } }, actions: { // 登录 Login({ commit }, userInfo) { return new Promise((resolve, reject) => { http.post("/Home/Login", userInfo).then((response) => { setToken(response.data) commit('SET_TOKEN', response.data) resolve(response) }) .catch((e) => { reject(e) }) }) }, // 钉钉免登录 Dinglogin({ commit }, userInfo) { return new Promise((resolve, reject) => { http.post("Home/Dinglogin", userInfo).then((response) => { setToken(response.data) commit('SET_TOKEN', response.data) resolve(response) }) .catch((e) => { reject(e) }) }) }, // 获取用户信息 GetInfo GetInfo({ commit }) { return new Promise((resolve, reject) => { http.get("Index/GetCurrentUser").then((response) => { if (response.state.toLowerCase() === "success") { let data = response.data // 用户信息 commit('SET_USERCODE', data.User.F_UserCode) commit('SET_USERNAME', data.User.F_UserName) // 部门信息 if(data.Dept){ commit('SET_DEPTNAME', data.Dept.F_DeptName) } // 角色信息 data.Role } resolve(response) }) .catch((e) => { console.log(e) }) }) }, // 前端 登出 FedLogOut({ commit }) { return new Promise(resolve => { commit('SET_TOKEN', '') removeToken() resolve() }) } } } export default user