index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. goodsAuditionConfigIdList:[], //当前访问页面的试听节ID
  15. shoppingCartList:[] //购物车支付商品
  16. },
  17. getters: {
  18. userInfo: state => {
  19. if(state.userInfo==null){
  20. if(uni.getStorageSync('user_account')){
  21. getUserInfo(state)
  22. }
  23. }
  24. return state.userInfo
  25. },
  26. dictObj:state => {
  27. return state.dictObj
  28. },
  29. allowLoading:state => {
  30. return state.allowLoading
  31. },
  32. goodsAuditionConfigIdList:state => {
  33. return state.goodsAuditionConfigIdList
  34. },
  35. shoppingCartList:state => {
  36. return state.shoppingCartList
  37. }
  38. },
  39. mutations: {
  40. updateUserInfo(state, provider) {
  41. state.userInfo = provider.userInfo;
  42. },
  43. setGoodsAuditionConfigIdList(state, provider){
  44. state.goodsAuditionConfigIdList = provider.goodsAuditionConfigIdList;
  45. },
  46. setShoppingCartList(state, provider){
  47. state.shoppingCartList = provider.shoppingCartList;
  48. },
  49. }
  50. })
  51. async function getUserInfo(state){
  52. const resdata = await api.getInfo()
  53. if(resdata.data.code == 200){
  54. state.userInfo = resdata.data.data;
  55. }
  56. }
  57. export default store