const { app } = require("../../../../utils/common.js"); var t = function (t) { return t && t.__esModule ? t : { default: t }; }(require("../../../../utils/LoadMore.js")), ut = require("../../../../utils/util.js"), a = getApp(), e = new t.default(), rq = a.request, oo = a.globalData.setting; Page({ data: { url: a.globalData.setting.imghost, resourceUrl: a.globalData.setting.resourceUrl, currentPage: 1, requestData: null, allData: null, openFilterModal: !1, openSearchModal: !1, baseUrl: "/api/weshop/goods/page?1=1", requestUrl: "", //hotWords: [ [ "手机", "小米", "iphone" ], [ "三星", "华为", "冰箱" ] ] hotWords: null, tabname: "sort", //排序的字段 adname: "asc", //升降的字段 rq_data: null, searchRecord: [], keyword: '', is_his: 0, }, onLoad: function (t) { this.data.rq_data = t; //接受有没有导购的参数 var first_leader = t.first_leader; if (first_leader) { getApp().globalData.first_leader = first_leader; //调用接口判断是不是会员 getApp().request.promiseGet("/api/weshop/shoppingGuide/get/" + oo.stoid + "/" + first_leader, {}).then(res => { if (res.data.code == 0) { getApp().globalData.guide_id = res.data.data.id; } }) } var th = this; a.getConfig2(function (rs) { var arr = new Array(), arr2 = new Array(); if (rs.hot_keywords != null && ut.trim(rs.hot_keywords) != "") { var arr1 = rs.hot_keywords.split('|'); for (var i = 0; i < arr1.length; i++) { if (i % 5 == 0 && i != 0) { arr.push(arr2); arr2 = []; } else { arr2.push(arr1[i]); } } if (arr2.length > 0) arr.push(arr2); th.setData({ hotWords: arr }); } //计算等级价相关 var swithc_list = rs.switch_list; var sw_arr = JSON.parse(swithc_list); //---如果后台又开等级卡的开关--- if (sw_arr.rank_switch && sw_arr.rank_switch == "2") { th.setData({ rank_switch: true }); var user = getApp().globalData.userInfo; var ti = setInterval(function () { if (!user) return false; clearInterval(ti); //---回调卡的列表--- th.getPlusCardType(function (ob) { th.setData({ card_list: ob.card_list }); if (user.card_field) { var str = user['card_expiredate'].replace(/-/g, '/'); var end = new Date(str); end = Date.parse(end) / 1000; var now = ut.gettimestamp(); //--- 判断是等级会员,且在有效期范围内 --- if (user.card_field && now < end) { var card_name = ob.name_map.get(user.card_field); if (card_name.length > 7) card_name = card_name.substring(0, 8); th.setData({ card_field: user.card_field, card_name: card_name, card_list: ob.card_list }); } } }) }, 500) } }) e.init(this, "", "requestData"); var url = this.data.baseUrl; //扫一扫过来,显示搜索的内容 var s_key = t.s_key; if (s_key) { s_key = s_key.trim(); this.search(s_key); this.openSearchModal(); return; } if (0 != t.brand_id && t.brand_id != undefined) { url += "&brand_id=" + t.brand_id; } if (0 != t.nation_id && t.nation_id != undefined) { url += "&nation_id=" + t.nation_id; } if (0 != t.max_price && t.max_price != undefined) { url += "&min_pirce=" + t.min_pirce + "&max_price=" + t.max_price; } if (url != this.data.baseUrl) return this.requestSearch(url); this.openSearchModal(); // 获取历史搜索记录 this.getHistorySearch(); }, changeTab: function (t) { var ord = t.currentTarget.dataset.href; var ad = t.currentTarget.dataset.ad; var url = this.data.requestUrl; if (this.data.tabname != ord) { this.setData({ tabname: ord, adname: "desc" }); } else { ad = ad == "desc" ? "asc" : "desc"; this.setData({ adname: ad }); } this.resetData(), this.requestSearch(url); }, //-----------真的调用地址进行搜索------------ requestSearch: function (t) { var a = this; if (getApp().globalData.userInfo) { t += "&user_id=" + getApp().globalData.userInfo.user_id; } this.data.requestUrl = t, //t += "&orderField=" + a.data.tabname; //t += "&orderType=" + a.data.adname; //t += "&page=" + a.data.currentPage, e.request(t, function (t) { a.data.currentPage++, null == a.data.allData && (a.data.allData = t.data.data.pageData), a.closeSearchModal(); }, null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid, orderField: a.data.tabname, orderType: a.data.adname, page: a.data.currentPage } ); }, onReachBottom: function () { this.data.openSearchModal || e.canloadMore() && this.requestSearch(this.data.requestUrl); }, openFilterModal: function () { this.setData({ openFilterModal: !0 }); }, closeFilterModal: function () { this.setData({ openFilterModal: !1 }); }, filterGoods: function (t) { this.resetData(), this.requestSearch(t.currentTarget.dataset.href), this.closeFilterModal(); }, resetData: function () { e.resetConfig(), this.data.requestData = null, this.data.currentPage = 1; }, //---回复最初的设置---显示全部分类-- restoreData: function () { this.setData({ requestData: this.data.allData, }); this.data.currentPage = 2; }, openSearchModal: function () { this.setData({ openSearchModal: !0 }); }, closeSearchModal: function () { this.setData({ openSearchModal: !1 }); }, submitSearch: function (t) { console.log(111, t); var val = t.detail.value.word; if (val == undefined) val = t.detail.value; val = val ? val.trim() : ''; if (!val) { a.showWarning("请输入搜索关键词"); return false } // this.search(val); // wx.navigateTo({ // url: `/packageA/pages/distribution/shop/shop?key_word=${val}`, // }); wx.navigateBack({ delta: 2 }); getApp().globalData.key_word = val; }, //热搜关键字 searchHotWord: function (t) { var word = t.currentTarget.dataset.word; this.historyRecord(word); wx.navigateBack({ delta: 2 }); getApp().globalData.key_word = word; // this.search(word); }, //-----点击搜索按钮---- search: function (t) { if ("string" != typeof t || "" == t) return a.showWarning("请输入搜索关键词"); this.data.key_str = t; this.historyRecord(); this.resetData(), this.requestSearch(this.data.baseUrl + "&key_str=" + encodeURIComponent(t)); }, //---------分享配置-------- onShareAppMessage: function (e) { var curPage = this; var pagePath = curPage.route; //当前页面url if (pagePath.indexOf('/') != 0) { pagePath = '/' + pagePath; } if (this.data.key_str) { pagePath += "?s_key=" + this.data.key_str; } if (getApp().globalData.user_id) { if (pagePath.indexOf("?") > 0) { pagePath += "&first_leader=" + getApp().globalData.user_id; } else { pagePath += "?first_leader=" + getApp().globalData.user_id; } } console.log("11-11" + pagePath); return { title: "商品搜索", path: pagePath, } }, //---------图片失败,默认图片-------- bind_bnerr: function (e) { var _errImg = e.target.dataset.errorimg; var _errObj = {}; _errObj[_errImg] = this.data.url + "/miniapp/images/default_g_img.gif"; this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; }, //--- 获取卡类列表 --- getPlusCardType: function (func) { var storid = oo.stoid; var th = this; getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { var plusCard = res.data.data; var arr = [1219, 2089, 3031]; var new_arr = new Array(); var card_name_map = new Map(); var user = getApp().globalData.userInfo; for (var i = 0; i < plusCard.length; i++) { if ((!user || user.card_field == null || user.card_field == "") && (plusCard[i].IsStopBuy == true)) { continue; } var name = "card" + plusCard[i].CorrPrice.toLowerCase(); card_name_map.set(name, plusCard[i].CardName); new_arr.push(plusCard[i]); } var ob = { "card_list": new_arr, "name_map": card_name_map }; func(ob); }) }, getInput(e) { this.setData({ keyword: e.detail.value }); }, historyRecord(w) { let keyword = w; let self = this; if (!keyword) { keyword = this.data.key_str.trim(); } let searchRecord = this.data.searchRecord; if (!searchRecord || searchRecord.length == 0) searchRecord = wx.getStorageSync('searchRecord') || []; if (keyword) { var index = searchRecord.indexOf(keyword); if (index > -1) { // 已经存在该值 searchRecord.splice(index, 1); searchRecord.unshift(keyword); // 将历史记录添加到缓存中 wx.setStorage({ key: 'searchRecord', data: searchRecord, success: function (res) { self.setData({ searchRecord, }) } }) return; } else { if (searchRecord.length >= 10) { searchRecord.pop(); // 删除最早的一条记录 }; searchRecord.unshift(keyword); // // 将历史记录添加到缓存中 wx.setStorage({ key: 'searchRecord', data: searchRecord, success: function (res) { self.setData({ searchRecord, }) } }) }; }; }, getHistorySearch() { this.setData({ searchRecord: wx.getStorageSync('searchRecord') || [] //若无存储则为空 }); }, clearSearchRecord() { wx.clearStorageSync('searchRecord'); this.setData({ searchRecord: [] }); }, });