index.js 957 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. },
  11. getters: {
  12. userInfo: (state) => {
  13. return state.userInfo;
  14. },
  15. },
  16. mutations: {
  17. SET_USERINFO: (state, userInfo) => {
  18. state.userInfo = userInfo;
  19. },
  20. EXIT: (state) => {
  21. uni.removeStorageSync("user_account");
  22. uni.removeStorageSync("token");
  23. state.userInfo = null;
  24. },
  25. LOGIN_CB: (state, data) => {
  26. uni.setStorageSync("user_account", data.user_account);
  27. uni.setStorageSync("token", data.token);
  28. },
  29. },
  30. actions: {
  31. getUserInfo({ commit }, data) {
  32. return new Promise(async (resolve) => {
  33. const res = await getInfo(data);
  34. commit("SET_USERINFO", res);
  35. resolve();
  36. });
  37. },
  38. },
  39. });
  40. export default store;