index.js 976 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import http from '../api/httpRequest.js'
  4. Vue.use(Vuex)
  5. const store = new Vuex.Store({
  6. state: {
  7. token: '',
  8. userInfo: uni.getStorageSync('userInfo') ? JSON.parse(uni.getStorageSync('userInfo')) : {},
  9. },
  10. getters: {
  11. },
  12. mutations: {
  13. //更新state数据
  14. setStateAttr(state, param) {
  15. console.log(11);
  16. if (param instanceof Array) {
  17. for (let item of param) {
  18. state[item.key] = item.val;
  19. }
  20. } else {
  21. state[param.key] = param.val;
  22. uni.setStorageSync(param.key, JSON.stringify(param.val))
  23. }
  24. }
  25. },
  26. actions: {
  27. //更新用户信息
  28. async getUserInfo({
  29. state,
  30. commit
  31. }) {
  32. const res = await http.request('user/userInfo');
  33. console.log(res);
  34. if (res.code == '200') {
  35. const userInfo = res.data;
  36. uni.setStorageSync('userInfo', JSON.stringify(userInfo))
  37. commit('setStateAttr', {
  38. key: 'userInfo',
  39. val: userInfo
  40. })
  41. }
  42. },
  43. }
  44. })
  45. export default store