index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import login from '@/apis/login'
  4. import order from '@/apis/order'
  5. import user from '@/apis/user'
  6. import common from '@/apis/common'
  7. import tools from '@/common/tools'
  8. Vue.use(Vuex);
  9. export default new Vuex.Store({
  10. //所有的数据都放在state中
  11. state: {
  12. msgCount:0,
  13. cartCount:0,
  14. applyData: {}, //预约考试数据存放
  15. currentRouter:{},
  16. token: '',
  17. user_account: '',
  18. userInfo: null,
  19. examResult:{},
  20. header: {
  21. serviceTel: {}
  22. },//页头配置
  23. footer: [],//页尾配置
  24. links: null,//友情链接
  25. sysTime:0,
  26. businessItem:null,
  27. businessList:[],
  28. },
  29. getters: {
  30. businessList:state => state.businessList,
  31. businessItem: state => state.businessItem,
  32. sysTime: state => state.sysTime,
  33. userInfo: state => state.userInfo,
  34. token: state => state.token,
  35. header: state => state.header,
  36. footer: state => state.footer,
  37. links: state => state.links,
  38. getApplyData: state => state.applyData,
  39. examResult: state => state.examResult,
  40. currentRouter: state => state.currentRouter,
  41. cartCount: state => state.cartCount,
  42. msgCount: state => state.msgCount
  43. },
  44. //操作数据,唯一的通道是mutations
  45. mutations: {
  46. setBusinessList(state,list) {
  47. state.businessList = list
  48. },
  49. setBusinessItem(state,item) {
  50. console.log(item)
  51. state.businessItem = item
  52. },
  53. commonSystemTime(state,time) {
  54. state.sysTime = time;
  55. },
  56. setCurrentRouter(state,data) {
  57. state.currentRouter = data;
  58. },
  59. setExamResult(state,data) {
  60. state.examResult = data;
  61. },
  62. updateApplyData(state, data) {
  63. state.applyData = data;
  64. },
  65. setUserInfo(state, data) {
  66. state.userInfo = data;
  67. },
  68. setHomeSetList(state, data) {
  69. data.forEach(item => {
  70. if (item.configKey === 'home.header') {
  71. state.header = JSON.parse(item.configValue)
  72. console.log(state.header)
  73. }
  74. if (item.configKey === 'home.footer') {
  75. state.footer = JSON.parse(item.configValue)
  76. console.log(state.footer)
  77. }
  78. if (item.configKey === 'home.links') {
  79. state.links = JSON.parse(item.configValue)
  80. console.log(state.links)
  81. }
  82. })
  83. },
  84. getCartCount(state) {
  85. user.cartList().then((res) => {
  86. state.cartCount = res.total;
  87. });
  88. },
  89. getMsgCount(state) {
  90. user.getappinformUserlist({
  91. systemStatusList:'1,2',
  92. receiptStatus: 0,
  93. }).then(res => {
  94. state.msgCount = res.total
  95. })
  96. }
  97. },
  98. //actions,可以来做异步操作,然后提交给mutations,而后再对state(数据)进行操作
  99. actions: {
  100. /**
  101. * 设置系统时间
  102. */
  103. setSystemTime({
  104. commit
  105. }) {
  106. return new Promise(resolve => {
  107. common.commonSystemTime().then(res => {
  108. if(res.code == 200) {
  109. commit('commonSystemTime', res.data)
  110. resolve()
  111. }
  112. })
  113. })
  114. },
  115. getbusinessList({
  116. commit
  117. }) {
  118. return new Promise(resolve => {
  119. order.orderUserAllBusinessList().then( res => {
  120. if(res.code == 200) {
  121. commit('setBusinessList', res.rows)
  122. if(res.rows.length) {
  123. commit('setBusinessItem',res.rows[0])
  124. }
  125. resolve()
  126. }
  127. })
  128. })
  129. },
  130. /**
  131. *
  132. * @param {*} context
  133. * @returns
  134. * 获取用户信息
  135. */
  136. getUserInfo(context) {
  137. return new Promise(resolve => {
  138. login.getInfo().then(res => {
  139. context.commit('setUserInfo', res.data)
  140. if(!tools.getUuid()) {
  141. tools.setUuid(new Date().valueOf() + "")
  142. }
  143. resolve()
  144. }).catch(err => {})
  145. })
  146. },
  147. /**
  148. *
  149. * @param {*} context
  150. * @returns
  151. * 获取首页配置
  152. */
  153. getCommonBaseHomeList(context) {
  154. return new Promise(resolve => {
  155. common.getCommonBaseHomeList().then(res => {
  156. context.commit('setHomeSetList', res.rows)
  157. resolve()
  158. })
  159. })
  160. }
  161. }
  162. })