index.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import { createStore } from 'vuex';
  2. import http from '../plugins/http';
  3. export default createStore({
  4. state: {
  5. finished: false,
  6. userInfo: null,
  7. firstUrl: '',
  8. couponInfo: null,
  9. invitor: null,
  10. review: false,
  11. reviewPay: false,
  12. hopeMarket: false,
  13. from: '',
  14. inviteCode: '',
  15. loginBackUrl: '',
  16. productId: '',
  17. netTime: 0,
  18. usedBuy: true,
  19. showConsole: false,
  20. bankCard: null,
  21. showRoomId: null,
  22. platform: ''
  23. },
  24. mutations: {
  25. setFinished(state, finished) {
  26. state.finished = finished;
  27. },
  28. setUserInfo(state, userInfo) {
  29. state.userInfo = userInfo;
  30. },
  31. setFirstUrl(state, url) {
  32. state.firstUrl = url;
  33. },
  34. setCouponInfo(state, couponInfo) {
  35. state.couponInfo = couponInfo;
  36. },
  37. setInvitor(state, invitor) {
  38. state.invitor = invitor;
  39. },
  40. setProductId(state, productId) {
  41. state.productId = productId;
  42. },
  43. setReview(state, review) {
  44. state.review = review;
  45. },
  46. setReviewPay(state, reviewPay) {
  47. state.reviewPay = reviewPay;
  48. },
  49. setHopeMarket(state, hopeMarket) {
  50. state.hopeMarket = hopeMarket;
  51. },
  52. setFrom(state, from) {
  53. state.from = from;
  54. },
  55. setInviteCode(state, inviteCode) {
  56. state.inviteCode = inviteCode;
  57. },
  58. setLoginBackUrl(state, loginBackUrl) {
  59. state.loginBackUrl = loginBackUrl;
  60. },
  61. setNetTime(state, netTime) {
  62. state.netTime = netTime;
  63. },
  64. setUsedBuy(state, usedBuy) {
  65. state.usedBuy = usedBuy;
  66. },
  67. setShowConsole(state, showConsole) {
  68. state.showConsole = showConsole;
  69. },
  70. setBankCard(state, bankCard) {
  71. state.bankCard = bankCard;
  72. },
  73. setShowRoomId(state, showRoomId) {
  74. state.showRoomId = showRoomId;
  75. },
  76. setPlatform(state, platform) {
  77. state.platform = platform;
  78. }
  79. },
  80. actions: {
  81. getUserInfo(context, refresh) {
  82. return http.http
  83. .get('/user/my', { refresh })
  84. .then(res => {
  85. http.axios.defaults.headers.common['X-Username'] = res.id;
  86. context.commit('setUserInfo', res);
  87. return Promise.resolve(res);
  88. })
  89. .catch(() => {
  90. context.commit('setUserInfo', null);
  91. return Promise.reject();
  92. });
  93. },
  94. getTime(context) {
  95. http.http.get('/auth/getTime').then(res => {
  96. context.commit('setNetTime', Number(res) - new Date().getTime());
  97. });
  98. },
  99. getUsedBuy(context) {
  100. return http.http.get('/sysConfig/get/used_buy').then(res => {
  101. if (res.value === '0') {
  102. context.commit('setUsedBuy', false);
  103. } else {
  104. context.commit('setUsedBuy', true);
  105. }
  106. });
  107. },
  108. getBankCard(context, refresh) {
  109. if (true === refresh || !context.state.bankCard) {
  110. return http.http.get('/user/myBankCard').then(res => {
  111. context.commit('setBankCard', (res || [])[0]);
  112. });
  113. }
  114. }
  115. },
  116. getters: {
  117. iosReview(state) {
  118. return state.platform === 'ios' && state.review;
  119. },
  120. androidReview(state) {
  121. return state.platform === 'android' && state.review;
  122. },
  123. inWechat() {
  124. return /micromessenger/i.test(navigator.userAgent);
  125. }
  126. },
  127. modules: {}
  128. });