index.js 984 B

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