index.js 884 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. allowLoading:true
  14. },
  15. getters: {
  16. userInfo: state => {
  17. if(state.userInfo==null){
  18. if(uni.getStorageSync('user_account')){
  19. getUserInfo(state)
  20. }
  21. }
  22. return state.userInfo
  23. },
  24. dictObj:state => {
  25. return state.dictObj
  26. },
  27. allowLoading:state => {
  28. return state.allowLoading
  29. },
  30. },
  31. mutations: {
  32. updateUserInfo(state, provider) {
  33. state.userInfo = provider.userInfo;
  34. },
  35. }
  36. })
  37. async function getUserInfo(state){
  38. const resdata = await api.getInfo()
  39. if(resdata.data.code == 200){
  40. state.userInfo = resdata.data.data;
  41. }
  42. }
  43. export default store