mirror of
https://gitee.com/bagee/jd-coupon-miniapp.git
synced 2025-08-02 20:45:51 +08:00
281 lines
8.6 KiB
JavaScript
281 lines
8.6 KiB
JavaScript
// page_package/search/search.js
|
|
const app = getApp()
|
|
const constants = require("../../utils/constants.js")
|
|
const util = require("../../utils/util.js")
|
|
|
|
Page({
|
|
|
|
/**
|
|
*
|
|
*/
|
|
data: {
|
|
StatusBar: app.globalData.StatusBar,
|
|
CustomBar: app.globalData.CustomBar,
|
|
Custom: app.globalData.Custom,
|
|
windowHeight: app.globalData.windowHeight,
|
|
windowWidth: app.globalData.windowWidth,
|
|
searchHistory: [],
|
|
searchContent: "",
|
|
scrolltop: '',
|
|
conditionList: [
|
|
{name: '综合排序'},
|
|
{name: '高返利比'},
|
|
{name: '销量'},
|
|
{name: '价格'},
|
|
],
|
|
numList: [{
|
|
name: '打开京东APP'
|
|
}, {
|
|
name: '长按复制商品标题'
|
|
}, {
|
|
name: '打开惠享小程序'
|
|
}, {
|
|
name: '点击搜索'
|
|
},],
|
|
|
|
isCoupon: false,
|
|
isFilter: false,
|
|
isCheck: false,
|
|
curID: 0,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
page:1,
|
|
sortName:''
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
if(options.content){
|
|
this.setData({searchContent:options.content})
|
|
let historyList = util.getStorage(constants.SEARCH_HISTORY)
|
|
historyList = historyList ? historyList : []
|
|
let isExis = historyList.filter((elem) => elem == this.data.searchContent)
|
|
|
|
if (isExis.length == 0) {
|
|
historyList.push(this.data.searchContent)
|
|
util.setStorage(constants.SEARCH_HISTORY, historyList)
|
|
}
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
curID: 0,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', '', '');
|
|
}
|
|
let historyList = util.getStorage(constants.SEARCH_HISTORY)
|
|
// 获取本地搜索历史
|
|
this.setData({
|
|
searchHistory: historyList
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
|
|
/**清除记录 */
|
|
onClear() {
|
|
util.removeStorage(constants.SEARCH_HISTORY)
|
|
this.setData({
|
|
searchHistory: util.getStorage(constants.SEARCH_HISTORY)
|
|
})
|
|
},
|
|
historyItem(event) {
|
|
this.setData({
|
|
searchContent: event.currentTarget.dataset.item
|
|
})
|
|
// this.selectComponent("#search-product-list").getList('refresh', 1,
|
|
// event.currentTarget.dataset.item, 'search');
|
|
},
|
|
/**
|
|
* 搜索框输入监听
|
|
*/
|
|
bindinput(event) {
|
|
this.setData({
|
|
searchContent: event.detail.value
|
|
})
|
|
},
|
|
more(){
|
|
this.selectComponent("#search-product-list").getSearchList('more', ++this.data.page, this.data.searchContent, '', this.data.priceSort ? 'desc' : 'asc', this.data.sortName);
|
|
},
|
|
//筛选规则
|
|
onSort(event) {
|
|
this.setData({scrolltop: 0})
|
|
switch (Number(event.currentTarget.dataset.index)) {
|
|
case 0:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
curID: 0,
|
|
salesSort: false,
|
|
priceSort: false,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', '', '');
|
|
break
|
|
case 1:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
curID: 1,
|
|
salesSort: false,
|
|
priceSort: false,
|
|
page:1,
|
|
sortName:'commission'
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', 'desc', 'commission');
|
|
break
|
|
case 2:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
curID: 2,
|
|
salesSort: !this.data.salesSort,
|
|
priceSort: false,
|
|
page:1,
|
|
sortName:'inOrderCount30Days'
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', this.data.salesSort ? 'desc' : 'asc', 'inOrderCount30Days');
|
|
break
|
|
case 3:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
curID: 3,
|
|
salesSort: false,
|
|
priceSort: !this.data.priceSort,
|
|
page:1,
|
|
sortName:'price'
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', this.data.priceSort ? 'desc' : 'asc', 'price');
|
|
break
|
|
}
|
|
},
|
|
onCheck(event) {
|
|
this.setData({scrolltop: 0})
|
|
if (event.detail.value) {
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: true,
|
|
isFilter: false,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
curID: 0,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, 1, '', '');
|
|
} else {
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
curID: 0,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', '', '');
|
|
}
|
|
},
|
|
onSerach(event) {
|
|
let that = this
|
|
if (this.data.searchContent) {
|
|
let historyList = util.getStorage(constants.SEARCH_HISTORY)
|
|
historyList = historyList ? historyList : []
|
|
let isExis = historyList.filter((elem) => elem == that.data.searchContent)
|
|
|
|
if (isExis.length == 0) {
|
|
historyList.push(this.data.searchContent)
|
|
util.setStorage(constants.SEARCH_HISTORY, historyList)
|
|
}
|
|
this.setData({scrolltop: 0})
|
|
switch (Number(event.currentTarget.dataset.index)) {
|
|
case 0:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: true,
|
|
isFilter: false,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
curID: 0,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, 1, '', '');
|
|
break
|
|
case 1:
|
|
this.setData({
|
|
isCoupon: true,
|
|
isCheck: false,
|
|
isFilter: true,
|
|
priceSort: false,
|
|
salesSort: false,
|
|
curID: 0,
|
|
page:1,
|
|
sortName:''
|
|
})
|
|
this.selectComponent("#search-product-list").getSearchList('refresh', 1, this.data.searchContent, '', '', '');
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}) |