index.js 928 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. Vue.use(Vuex);
  4. import { getInfo } from "@/utils/login";
  5. const store = new Vuex.Store({
  6. state: {
  7. userInfo: null,
  8. allowLoading: true,
  9. },
  10. getters: {
  11. userInfo: (state) => {
  12. return state.userInfo;
  13. },
  14. },
  15. mutations: {
  16. SET_USERINFO: (state, userInfo) => {
  17. state.userInfo = userInfo;
  18. },
  19. EXIT: (state) => {
  20. uni.removeStorageSync("seller_account");
  21. uni.removeStorageSync("seller_token");
  22. state.userInfo = null;
  23. },
  24. LOGIN_CB: (state, data) => {
  25. uni.setStorageSync("seller_account", data.user_account);
  26. uni.setStorageSync("seller_token", data.token);
  27. },
  28. },
  29. actions: {
  30. getUserInfo({ commit }, data) {
  31. return new Promise(async (resolve) => {
  32. const res = await getInfo(data);
  33. commit("SET_USERINFO", res);
  34. resolve(res);
  35. });
  36. },
  37. },
  38. });
  39. export default store;