ソースを参照

获取楼层产品数据

yangc 7 年 前
コミット
36e1e74d2c
5 ファイル変更101 行追加111 行削除
  1. 47 108
      components/home/floor/FloorList.vue
  2. 1 1
      nuxt.config.js
  3. 29 2
      pages/index.vue
  4. 14 0
      store/floor.js
  5. 10 0
      store/index.js

+ 47 - 108
components/home/floor/FloorList.vue

@@ -28,66 +28,6 @@
                 hrefUrl: '',
                 pictureUrl: '/images/floor/banner1.jpg',
                 size: 'large'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'medium',
-                price: 1.111111,
-                currency: 'RMB'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RRR015P03TL',
-                pictureUrl: '/images/floor/RRR015P03TL.png',
-                size: 'small',
-                price: 1.111111,
-                currency: 'RMB'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small',
-                price: 1.111111,
-                currency: 'RMB'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'medium',
-                price: 1.111111,
-                currency: 'RMB'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small',
-                price: 1.111111,
-                currency: 'RMB'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small',
-                price: 1.111111,
-                currency: 'RMB'
               }
             ]
           },
@@ -99,54 +39,6 @@
                 hrefUrl: 'https://www.usoftmall.com/product/kind/11',
                 pictureUrl: '/images/floor/banner2.jpg',
                 size: 'large'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'medium'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RRR015P03TL',
-                pictureUrl: '/images/floor/RRR015P03TL.png',
-                size: 'small'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'medium'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small'
-              },
-              {
-                backGroundColor: '',
-                body: 'Rohm<br>晶体管',
-                hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
-                name: 'RHU002N06T106',
-                pictureUrl: '/images/floor/RHU002N06T106.png',
-                size: 'small'
               }
             ]
           }
@@ -163,6 +55,53 @@
       floors () {
         return this.$store.state.floor.list
       }
+    },
+    created () {
+      let arr = []
+      this.$http.post('api/commodity/detail', arr).then(response => {
+        let data = response.data
+//        {
+//          backGroundColor: '',
+//            body: 'Rohm<br>晶体管',
+//          hrefUrl: 'https://www.usoftmall.com/store/33069557578d44e69bd91ad12d28a8d4/BT2018012500000141',
+//          name: 'RHU002N06T106',
+//          pictureUrl: '/images/floor/RHU002N06T106.png',
+//          size: 'medium',
+//          price: 1.111111,
+//          currency: 'RMB'
+//        }
+        let obj = {
+          backGroundColor: '',
+          body: '',
+          hrefUrl: '',
+          name: '',
+          pictureUrl: '',
+          size: '',
+          price: '',
+          currency: 'RMB'
+        }
+        for (let i = 0; i < data.length; i++) {
+          if (data[i]) {
+            obj.name = data[i].code
+            obj.body = data[i].brandNameEn + '<br/>' + data[i].kindNameCn
+            obj.hrefUrl = 'https://www.usoftmall.com/store/productDetail/' + data[i].batchCode
+            obj.pictureUrl = '/images/floor/' + data[i].code + '.png'
+            obj.size = i % 3 === 0 ? 'medium' : 'small'
+            obj.currency = data[i].currencyName
+            obj.price = this.getMinPrice(data[i].prices, data[i].currencyName)
+            this.defaultFloors.items[i < 6 ? 0 : 1].append(obj)
+          }
+        }
+      })
+    },
+    methods: {
+      getMinPrice: function (prices, currency) {
+        for (let i = 0; i < prices.length; i++) {
+          if (i === prices.length - 1) {
+            return currency === 'RMB' ? prices[i].rMBPrice : prices[i].uSDPrice
+          }
+        }
+      }
     }
   }
 </script>

+ 1 - 1
nuxt.config.js

@@ -1,6 +1,6 @@
 const path = require('path')
 const isProdMode = Object.is(process.env.NODE_ENV, 'production')
-const baseUrl = process.env.BASE_URL || (isProdMode ? 'http://10.10.100.107:8081/platform-b2c/' : 'http://192.168.253.60:9090/platform-b2c/')
+const baseUrl = process.env.BASE_URL || (isProdMode ? 'http://10.10.100.107:8081/platform-b2c/' : 'http://10.1.51.90:8080/platform-b2c/')
 
 module.exports = {
   router: {

+ 29 - 2
pages/index.vue

@@ -29,7 +29,33 @@
     data () {
       return {
         isOpen: false,
-        hasNewYear: false
+        hasNewYear: false,
+        defaultFloorsData: [
+//        'BT2018012500000141',
+//        'BT2018012500000126',
+//        'BT2018012500000131',
+//        'BT2018012500000152',
+//        'BT2018012500000124',
+//        'BT2018012500000164',
+//        'BT2018012500000167',
+//        'BT2018012500000145',
+//        'BT2018012500000151',
+//        'BT2018012500000161',
+//        'BT2018012500000149',
+//        'BT2018012500000162'
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056',
+          'BT2018012900002056'
+        ]
       }
     },
     components: {
@@ -47,7 +73,8 @@
         store.dispatch('loadFloors'),
         store.dispatch('loadBanners', {type: 'home'}),
         store.dispatch('loadProductKinds', { id: 0 }),
-        store.dispatch('loadNewsSnapshot', { page: 1, pageSize: 10 })
+        store.dispatch('loadNewsSnapshot', { page: 1, pageSize: 10 }),
+        store.dispatch('loadBatchCommodities', this.defaultFloorsData)
       ]) : []
     },
     mounted () {

+ 14 - 0
store/floor.js

@@ -6,6 +6,10 @@ export const state = () => ({
   list_v3: {
     fetching: false,
     data: []
+  },
+  list_expand: {
+    fetching: false,
+    data: []
   }
 })
 export const mutations = {
@@ -28,5 +32,15 @@ export const mutations = {
   GET_NEWLIST_SUCCESS (state, result) {
     state.list_v3.fetching = false
     state.list_v3.data = result
+  },
+  REQUEST_EXPANDLIST (state) {
+    state.list_expand.fetching = true
+  },
+  GET_EXPANDLIST_FAILURE (state) {
+    state.list_expand.fetching = false
+  },
+  GET_EXPANDLIST_SUCCESS (state, result) {
+    state.list_expand.fetching = false
+    state.list_expand.data = result
   }
 }

+ 10 - 0
store/index.js

@@ -74,6 +74,16 @@ export const actions = {
         commit('floor/GET_LIST_FAILURE', err)
       })
   },
+  // 批量获取产品信息
+  loadBatchCommodities ({ commit }, params = {}) {
+    commit('floor/REQUEST_EXPANDLIST')
+    return axios.get('/api/commodity/detail', params)
+      .then(response => {
+        commit('floor/GET_EXPANDLIST_SUCCESS', response.data)
+      }, err => {
+        commit('floor/GET_EXPANDLIST_FAILURE', err)
+      })
+  },
   // 获取轮播配置
   loadBanners ({ commit }, params = {}) {
     commit('carousel/REQUEST_BANNER')