user.js 818 Bytes
import { getUserInfo } from "@/api/user";
const state = {
  hasUser: false,
  name: "",
  avatar: "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png",
  userInfo: null,
};
const mutations = {
  SET_USERINFO: (state, data) => {
    state.hasUser = true;
    state.userInfo = data;
    state.name = data.loginName;
  },
  RESET_USER: (state) => {
    state.hasUser = false;
  },
};

const actions = {
  getUserInfo({ commit }) {
    if (!state.hasUser) {
        return new Promise(async (resolve) => {
          let { result: res } = await getUserInfo();
          commit("SET_USERINFO", res);
          resolve(true);
        });
    }else{
        return
    }
  },
  resetdict({ commit }) {
    commit("RESET_USER");
  },
};
export default {
  namespaced: true,
  state,
  mutations,
  actions,
};