| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import axios from '~plugins/axios'
- /**
- * 获取某店铺的交易量
- *
- * @param store 店铺信息
- */
- function countStoreOrderCount (store) {
- return axios.get('/api/provider/order/storeid/' + store.uuid + '/count')
- }
- export const actions = {
- // 获取销售排行榜信息
- loadSalesStore ({ commit }, params = {isOriginal: false}) {
- commit('storeCms/REQUEST_SALES')
- return axios.get('/api/store-service/stores', {
- params: {
- filter: 'topBySales',
- isOriginal: params.isOriginal
- }
- }).then(response => {
- let stores = response.data || []
- let orderCounts = []
- for (let i = 0; i < stores.length; i++) {
- orderCounts.push(countStoreOrderCount(stores[i]))
- }
- // 合并请求,获取店铺的交易量数据
- return Promise.all(orderCounts)
- .then(result => {
- if (result) {
- for (let i = 0; i < result.length; i++) {
- stores[i].orderCount = result[i].data ? result[i].data.orderCount : 0
- }
- }
- commit('storeCms/GET_SALES_SUCCESS', stores)
- }, err => {
- commit('storeCms/GET_SALES_FAILURE', err)
- })
- }, err => {
- commit('storeCms/GET_SALES_FAILURE', err)
- })
- },
- // 获取新开店铺信息
- loadNewStores ({ commit }, params = { types: 'ORIGINAL_FACTORY' }) {
- commit('storeCms/REQUEST_NEW_STORES')
- return axios.get('/api/store-service/stores', {
- params: {
- filter: 'newStore',
- types: params.types
- }
- }).then(response => {
- commit('storeCms/GET_NEW_STORES_SUCCESS', response.data)
- commit('storeCms/REQUEST_STORE_COUNT')
- return axios.get('/api/store-service/stores/type/count', {
- params: {
- types: params.types
- }
- }).then(response => {
- commit('storeCms/GET_STORE_COUNT_SUCCESS', response.data && response.data.success ? response.data.data : 0)
- }, err => {
- commit('storeCms/GET_STORE_COUNT_FAILURE', err)
- })
- }, err => {
- commit('storeCms/GET_NEW_STORES_FAILURE', err)
- })
- },
- // 获取原厂推荐信息
- loadRecommendOriginal ({ commit }) {
- let params = { type: 'ORIGINAL_FACTORY' }
- commit('storeCms/REQUEST_RECOMMEND_STORE')
- return axios.get('/api/store-cms/contents/store/5', {
- params: params
- }).then(response => {
- commit('storeCms/GET_RECOMMEND_STORE_SUCCESS', response.data)
- }, err => {
- commit('storeCms/GET_RECOMMEND_STORE_FAILURE', err)
- })
- },
- // 获取优秀商家信息
- loadRecommendStores ({ commit }) {
- commit('storeCms/REQUEST_RECOMMEND_STORE')
- return axios.get('/api/cms-service/storeIn/5')
- .then(response => {
- commit('storeCms/GET_RECOMMEND_STORE_SUCCESS', response.data)
- }, err => {
- commit('storeCms/GET_RECOMMEND_STORE_FAILURE', err)
- })
- },
- loadHotComponents ({ commit }) {
- commit('storeCms/REQUEST_HOT_COMPONENTS')
- return axios.get('/api/cms-service/storeCms/inventory')
- .then(response => {
- commit('storeCms/GET_HOT_COMPONENTS_SUCCESS', response.data)
- }, err => {
- commit('storeCms/GET_HOT_COMPONENTS_FAILURE', err)
- })
- },
- findStoreList ({ commit }, params = {}) {
- params.op = 'pageByType'
- commit('stores/REQUEST_STORE_LIST')
- return axios.get('/api/store-service/stores', { params })
- .then(response => {
- commit('stores/GET_STORE_LIST_SUCCESS', response.data)
- }, err => {
- commit('stores/GET_STORE_LIST_FAILURE', err)
- })
- }
- }
|