index.js 813 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import api from '@/common/api.js'
  4. Vue.use(Vuex);
  5. const store = new Vuex.Store({
  6. state: {
  7. login: true,
  8. token: '',
  9. avatarUrl: '',
  10. userName: '',
  11. userInfo:null,
  12. dictObj:null
  13. },
  14. getters: {
  15. userInfo: state => {
  16. if(state.userInfo==null){
  17. if(uni.getStorageSync('union_id')){
  18. getUserInfo(state)
  19. }
  20. }
  21. return state.userInfo
  22. },
  23. dictObj:state => {
  24. return state.dictObj
  25. },
  26. },
  27. mutations: {
  28. updateUserInfo(state, provider) {
  29. state.userInfo = provider.userInfo;
  30. },
  31. }
  32. })
  33. async function getUserInfo(state){
  34. const resdata = await api.getInfo()
  35. if(resdata.data.code == 200){
  36. state.userInfo = resdata.data.data;
  37. }
  38. }
  39. export default store