You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.9 KiB
105 lines
2.9 KiB
const productUtil = require('../../utils/product.js') |
|
var app = getApp() |
|
|
|
Page({ |
|
data: { |
|
items: [], |
|
slides: [], |
|
navs: [{icon: "../../images/icon-new-list1.png", name: "资产", typeId: 0}, |
|
{icon: "../../images/icon-new-list2.png", name: "直销", typeId: 1}, |
|
{icon: "../../images/icon-new-list3.png", name: "甄选", typeId: 2}, |
|
{icon: "../../images/icon-new-list4.png", name: "管到", typeId: 3}], |
|
|
|
popularity_products: [], |
|
new_products: [], |
|
hot_products: [], |
|
promotions: [] |
|
}, |
|
|
|
onShareAppMessage: function () { |
|
return { |
|
title: "巴爷供销社", |
|
desc: "商城首页", |
|
path: `pages/index/index` |
|
} |
|
}, |
|
|
|
bindShowProduct: function (e) { |
|
wx.navigateTo({ |
|
url: `../show_product/show_product?id=${e.currentTarget.dataset.id}` |
|
}) |
|
}, |
|
|
|
catchTapCategory: function (e) { |
|
wx.navigateTo({ |
|
url: `../category/category?type=${e.currentTarget.dataset.type}&typeId=${e.currentTarget.dataset.typeid}` |
|
}) |
|
}, |
|
|
|
onPullDownRefresh: function() { |
|
this.getSlidesFromServer() |
|
this.getProductsFromServer() |
|
wx.stopPullDownRefresh() |
|
}, |
|
|
|
onLoad: function() { |
|
var that = this |
|
|
|
wx.getStorage({ |
|
key: 'products', |
|
success: function(res){ |
|
var data = res.data |
|
that.setData({ |
|
items: data, |
|
popularity_products: data.filter(product => (product.flag === '最热' && product['promotion-url'])), |
|
new_products: data.filter(product => (product.flag === '新品' && product['promotion-url'])), |
|
hot_products: data.filter(product => (product.flag === '火爆' && product['promotion-url'])), |
|
}) |
|
}, |
|
fail: function() {}, |
|
complete: function() { |
|
that.getProductsFromServer() |
|
} |
|
}) |
|
|
|
wx.getStorage({ |
|
key: 'indexSlides', |
|
success: function(res){ |
|
that.setData({'slides': res.data}) |
|
}, |
|
fail: function() {}, |
|
complete: function() { |
|
that.getSlidesFromServer() |
|
} |
|
}) |
|
}, |
|
|
|
getSlidesFromServer: function() { |
|
var that = this |
|
productUtil.getSlides(function(result) { |
|
var data = app.store.sync(result.data) |
|
that.setData({'slides': data}) |
|
wx.setStorage({ |
|
key:'indexSlides', |
|
data:data |
|
}) |
|
}) |
|
}, |
|
|
|
getProductsFromServer: function() { |
|
var that = this |
|
productUtil.getProducts(function(result) { |
|
var data = app.store.sync(result.data) |
|
that.setData({ |
|
items: data, |
|
popularity_products: data.filter(product => (product.flag === '最热' && product['promotion-url'])), |
|
new_products: data.filter(product => (product.flag === '新品' && product['promotion-url'])), |
|
hot_products: data.filter(product => (product.flag === '火爆' && product['promotion-url'])), |
|
}) |
|
wx.setStorage({ |
|
key:'products', |
|
data:data |
|
}) |
|
}) |
|
} |
|
})
|
|
|