shop.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. import axios from '~plugins/axios'
  2. // 载入历史记录
  3. function StoreFocusList ({ commit }, params = {}) {
  4. commit('storeInfo/REQUEST_FOCUSLIST')
  5. return axios.get(`/trade/storeFocus/ifFocus?storeid=${params.id}`)
  6. .then(response => {
  7. commit('storeInfo/GET_FOCUSLIST_SUCCESS', response.data)
  8. }, err => {
  9. commit('storeInfo/GET_FOCUSLIST_FAILURE', err)
  10. })
  11. }
  12. // 根据UUID获取某店铺信息
  13. function findStoreInfoFromUuid ({ commit }, params = {}) {
  14. commit('storeInfo/REQUEST_STORE_INFO')
  15. return axios.get('/api/store-service/stores', { params })
  16. .then(response => {
  17. commit('storeInfo/GET_STORE_INFO_SUCCESS', response.data)
  18. return Promise.all([
  19. StoreFocusList({ commit }, {id: response.data.id})
  20. ])
  21. }, err => {
  22. commit('storeInfo/GET_STORE_INFO_FAILURE', err)
  23. })
  24. }
  25. export const actions = {
  26. // 根据UUID获取某店铺信息
  27. findStoreInfoFromUuid ({ commit }, params = {}) {
  28. commit('storeInfo/REQUEST_STORE_INFO')
  29. return axios.get('/api/store-service/stores', { params })
  30. .then(response => {
  31. commit('storeInfo/GET_STORE_INFO_SUCCESS', response.data)
  32. return Promise.all([
  33. StoreFocusList({ commit }, {id: response.data.id})
  34. ])
  35. }, err => {
  36. commit('storeInfo/GET_STORE_INFO_FAILURE', err)
  37. })
  38. },
  39. findCommodityOnBatchInfo ({ commit }, params = {}) {
  40. commit('storeInfo/REQUEST_COMMODITY')
  41. return axios.get(`/api/commodity/${params.batchCode || ''}/detail`)
  42. .then(response => {
  43. commit('storeInfo/GET_COMMODITY_SUCCESS', response.data)
  44. let commodity = response.data || {}
  45. commit('storeInfo/REQUEST_COMPONENT')
  46. if (commodity.uuid) {
  47. return axios.get(`/api/commodity/component/${commodity.uuid}`)
  48. .then(response => {
  49. commit('storeInfo/GET_COMPONENT_SUCCESS', response.data)
  50. return findStoreInfoFromUuid({ commit }, { uuid: commodity.storeid })
  51. }, err => {
  52. commit('storeInfo/GET_COMPONENT_FAILURE', err)
  53. })
  54. } else if (commodity.storeid === process.env.pcbId && commodity.productid) {
  55. return axios.get(`/api/product/kind/pcbproperty/${commodity.productid}`)
  56. .then(response => {
  57. let listData = {properties: []}
  58. response.data.forEach(val => {
  59. listData.properties.push({value: val[0].value, property: {labelCn: val[1].labelCn}})
  60. })
  61. commit('storeInfo/GET_COMPONENT_SUCCESS', listData)
  62. return findStoreInfoFromUuid({ commit }, {uuid: commodity.storeid})
  63. }, err => {
  64. commit('storeInfo/GET_COMPONENT_FAILURE', err)
  65. })
  66. } else {
  67. // 如果是非标,清除上一次请求带出的器件信息
  68. commit('storeInfo/GET_COMPONENT_SUCCESS', {})
  69. return findStoreInfoFromUuid({ commit }, {uuid: commodity.storeid})
  70. }
  71. }, err => {
  72. commit('storeInfo/GET_COMMODITY_FAILURE', err)
  73. })
  74. },
  75. findRecommendProducts ({ commit }, params = {}) {
  76. params.condition = 'store_uuid'
  77. commit('recommend/REQUEST_PRODUCTS')
  78. return axios.get('/api/store/recommend/products', { params })
  79. .then(response => {
  80. commit('recommend/GET_PRODUCTS_SUCCESS', response.data ? JSON.parse(JSON.stringify(response.data)) : [])
  81. }, err => {
  82. commit('recommend/GET_PRODUCTS_FAILURE', err)
  83. })
  84. },
  85. pageCommoditiesOfStore ({ commit }, uuid = '', pageParams = { page: 1, count: 10 }, code) {
  86. let params = { storeid: uuid, origin: 'store', code: code }
  87. params.page = pageParams.page
  88. params.count = pageParams.count
  89. commit('storeInfo/REQUEST_STORE_COMMODITY')
  90. return axios.get('/api/commodity/commodities', { params })
  91. .then(response => {
  92. commit('storeInfo/GET_STORE_COMMODITY_SUCCESS', response.data)
  93. }, err => {
  94. commit('storeInfo/GET_STORE_COMMODITY_FAILURE', err)
  95. })
  96. },
  97. mobilePageCommoditiesOfStore ({ commit }, params = {}) {
  98. commit('storeInfo/REQUEST_STORE_COMMODITY')
  99. return axios.get('/api/commodity/commodities', { params })
  100. .then(response => {
  101. commit('storeInfo/GET_STORE_COMMODITY_SUCCESS', response.data)
  102. }, err => {
  103. commit('storeInfo/GET_STORE_COMMODITY_FAILURE', err)
  104. })
  105. },
  106. // 获取保存浏览记录
  107. saveHistory ({ commit }, params = {}) {
  108. commit('storeInfo/REQUEST_SAVEHISOTRY')
  109. return axios.post(`/trade/history/goods/save?batchCode=${params.id}`, {})
  110. .then(response => {
  111. commit('storeInfo/GET_SAVEHISOTRY_SUCCESS', response.data)
  112. }, err => {
  113. commit('storeInfo/GET_SAVEHISOTRY_FAILURE', err)
  114. })
  115. },
  116. // 载入历史记录
  117. StoreFocusList ({ commit }, params = {}) {
  118. commit('storeInfo/REQUEST_FOCUSLIST')
  119. return axios.get(`/trade/storeFocus/ifFocus?storeid=${params.id}`)
  120. .then(response => {
  121. commit('storeInfo/GET_FOCUSLIST_SUCCESS', response.data)
  122. }, err => {
  123. commit('storeInfo/GET_FOCUSLIST_FAILURE', err)
  124. })
  125. },
  126. StoreFocus ({ commit }, storeName) {
  127. commit('storeInfo/REQUEST_FOCUS')
  128. return axios.post(`/trade/storeFocus/save`, storeName)
  129. .then(response => {
  130. commit('storeInfo/GET_FOCUS_SUCCESS', response.data)
  131. if (response.data === 'success') {
  132. commit('storeInfo/GET_FOCUSLIST_SUCCESS', 'true')
  133. }
  134. }, err => {
  135. commit('storeInfo/GET_FOCUS_FAILURE', err)
  136. })
  137. },
  138. // 根据UUID获取收藏店铺信息
  139. StoreFocusPage ({commit}, params = {}) {
  140. commit('storeInfo/REQUEST_FOCUSPAGE')
  141. return axios.get(`/trade/storeFocus/page`, {params})
  142. .then(response => {
  143. commit('storeInfo/GET_FOCUSPAGE_SUCCESS', response.data)
  144. }, err => {
  145. commit('storeInfo/GET_FOCUSPAGE_FAILURE', err)
  146. })
  147. },
  148. // 获取某店铺信息
  149. findStoreInfoFromEnUU ({ commit }, params = {}) {
  150. commit('storeInfo/REQUEST_STORE_INFO')
  151. return axios.get('/api/store-service/stores', { params })
  152. .then(response => {
  153. commit('storeInfo/GET_STORE_INFO_SUCCESS', response.data)
  154. }, err => {
  155. commit('storeInfo/GET_STORE_INFO_FAILURE', err)
  156. })
  157. },
  158. // 获取用户店铺关注数量
  159. loadStoreCollectInfo({ commit }) {
  160. commit('storeInfo/REQUEST_COLLECT')
  161. return axios.get('/trade/storeFocus/count')
  162. .then(response => {
  163. commit('storeInfo/REQUEST_COLLECT_SUCCESS', response.data)
  164. }, err => {
  165. commit('storeInfo/REQUEST_COLLECT_FAILURE', err)
  166. })
  167. }
  168. }