index.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. import axios from 'axios'
  9. Vue.use(Vuex);
  10. export default new Vuex.Store({
  11. //所有的数据都放在state中
  12. state: {
  13. TENANT_NANE: "",
  14. msgCount: 0,
  15. cartCount: 0,
  16. applyData: {}, //预约考试数据存放
  17. currentRouter: {},
  18. token: '',
  19. user_account: '',
  20. userInfo: null,
  21. examResult: {},
  22. header: {
  23. serviceTel: {}
  24. },//页头配置
  25. footer: [],//页尾配置
  26. links: null,//友情链接
  27. mobile:null,//移动端设置
  28. sysTime: 0,
  29. businessItem: null,
  30. businessList: [],
  31. isDesktop: !navigator.userAgent.match(
  32. /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|IEMobile)/i
  33. )
  34. },
  35. getters: {
  36. businessList: state => state.businessList,
  37. businessItem: state => state.businessItem,
  38. sysTime: state => state.sysTime,
  39. userInfo: state => state.userInfo,
  40. token: state => state.token,
  41. header: state => state.header,
  42. footer: state => state.footer,
  43. links: state => state.links,
  44. mobile: state => state.mobile,
  45. getApplyData: state => state.applyData,
  46. examResult: state => state.examResult,
  47. currentRouter: state => state.currentRouter,
  48. cartCount: state => state.cartCount,
  49. msgCount: state => state.msgCount
  50. },
  51. //操作数据,唯一的通道是mutations
  52. mutations: {
  53. setTENANT_NANE(state, id) {
  54. state.TENANT_NANE = id
  55. },
  56. setBusinessList(state, list) {
  57. state.businessList = list
  58. },
  59. setBusinessItem(state, item) {
  60. console.log(item)
  61. state.businessItem = item
  62. },
  63. commonSystemTime(state, time) {
  64. state.sysTime = time;
  65. },
  66. setCurrentRouter(state, data) {
  67. state.currentRouter = data;
  68. },
  69. setExamResult(state, data) {
  70. state.examResult = data;
  71. },
  72. updateApplyData(state, data) {
  73. state.applyData = data;
  74. },
  75. setUserInfo(state, data) {
  76. state.userInfo = data;
  77. },
  78. setHomeSetList(state, data) {
  79. data.forEach(item => {
  80. if (item.configKey === 'home.header') {
  81. state.header = JSON.parse(item.configValue)
  82. console.log(state.header)
  83. }
  84. if (item.configKey === 'home.footer') {
  85. state.footer = JSON.parse(item.configValue)
  86. console.log(state.footer)
  87. }
  88. if (item.configKey === 'home.links') {
  89. state.links = JSON.parse(item.configValue)
  90. console.log(state.links)
  91. }
  92. if (item.configKey === 'home.mobile') {
  93. state.mobile = JSON.parse(item.configValue)
  94. console.log(state.mobile)
  95. }
  96. })
  97. },
  98. getCartCount(state) {
  99. user.cartList().then((res) => {
  100. state.cartCount = res.total;
  101. });
  102. },
  103. getMsgCount(state) {
  104. user.getappinformUserlist({
  105. systemStatusList: '1,2',
  106. receiptStatus: 0,
  107. }).then(res => {
  108. state.msgCount = res.total
  109. })
  110. }
  111. },
  112. //actions,可以来做异步操作,然后提交给mutations,而后再对state(数据)进行操作
  113. actions: {
  114. findTenantId({
  115. commit
  116. }) {
  117. return new Promise(resolve => {
  118. var urlReg = /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/;
  119. var urls=urlReg.exec(location.origin)[0];
  120. console.log(urls)
  121. if (location.origin.includes("192.168.1") || location.origin.includes("120.79.166.78")) {
  122. urls = "web.xyyxt.net"
  123. }
  124. axios.get(process.env.BASE_URL + '/app/common/findTenantId?hostPc=' + urls)
  125. .then(function (response) {
  126. commit('setTENANT_NANE', response.data.data)
  127. resolve()
  128. })
  129. .catch(function (error) {
  130. console.log("TenantIDerror:", error);
  131. });
  132. })
  133. },
  134. /**
  135. * 设置系统时间
  136. */
  137. setSystemTime({
  138. commit
  139. }) {
  140. return new Promise(resolve => {
  141. common.commonSystemTime().then(res => {
  142. if (res.code == 200) {
  143. commit('commonSystemTime', res.data)
  144. resolve()
  145. }
  146. })
  147. })
  148. },
  149. getbusinessList({
  150. commit
  151. }) {
  152. return new Promise(resolve => {
  153. order.orderUserAllBusinessList().then(res => {
  154. if (res.code == 200) {
  155. commit('setBusinessList', res.rows)
  156. if (res.rows && res.rows.length) {
  157. commit('setBusinessItem', res.rows[0])
  158. }
  159. resolve()
  160. }
  161. })
  162. })
  163. },
  164. /**
  165. *
  166. * @param {*} context
  167. * @returns
  168. * 获取用户信息
  169. */
  170. getUserInfo(context) {
  171. return new Promise(resolve => {
  172. login.getInfo({ fromPlat: 2 }).then(res => {
  173. context.commit('setUserInfo', res.data)
  174. if (!tools.getUuid()) {
  175. tools.setUuid(new Date().valueOf() + "")
  176. }
  177. resolve()
  178. }).catch(err => { })
  179. })
  180. },
  181. /**
  182. *
  183. * @param {*} context
  184. * @returns
  185. * 获取首页配置
  186. */
  187. getCommonBaseHomeList(context) {
  188. return new Promise(resolve => {
  189. common.getCommonBaseHomeList().then(res => {
  190. context.commit('setHomeSetList', res.rows)
  191. resolve()
  192. })
  193. })
  194. }
  195. }
  196. })