user.js
818 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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,
};