index.js 746 B

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