123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260 |
- // pages/category/category.js
- var http = require("../../utils/http.js");
- var util = require('../../utils/util.js');
- var config = require("../../utils/config.js");
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- selIndex: 0,
- categoryList: [],
- categoryImg: '',
- subCategoryList: [],
- pageTopHeight: wx.getWindowInfo().statusBarHeight,
- hotList: [],
- topCurrentIndex: 0,
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.getRecommended()
- this.get_neighborShop()
- // this.get_categoryInfo()
- },
- /**
- * 获取距离最近店铺id
- * @param {*} e
- */
- get_neighborShop: function () {
- var params = {
- url: "/shop/neighborShop",
- method: "GET",
- data: {
- lat: wx.getStorageSync('LATITUDE'),
- lon: wx.getStorageSync('LONGITUDE'),
- platform:1
- },
- callBack: (res) => {
- // this.get_categoryInfo(res)
- if(typeof res == 'number'){
- this.get_categoryInfo(res)
- }else{
- this.get_categoryInfo(res.shopId)
- }
- }
- };
- http.request(params);
- },
- get_categoryInfo: function (shopid) {
- var ths = this;
- //加载分类列表
- var params = {
- url: "/category/categoryInfo",
- method: "GET",
- data: {
- shopId:shopid
- },
- callBack: function (res) {
- let categoryName = ''
- res.forEach(e => {
- categoryName = e.categoryName.split('>')
- e.categoryName = categoryName[0]
- })
- ths.setData({
- categoryList: res,
- });
- if (!getApp().globalData.categoryId) {
- ths.getProdList(res[0].categoryId)
- ths.setData({
- categoryImg: res[0].pic,
- })
- }
- }
- };
- http.request(params);
- },
- /**
- * 选择定位后更新列表
- */
- go_update() {
- this.get_neighborShop()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- if (getApp().globalData.categoryId) {
- let categoryId = getApp().globalData.categoryId
- let index = getApp().globalData.index
- let pic = getApp().globalData.pic
- this.getProdList(categoryId);
- this.setData({
- categoryImg: pic,
- selIndex: index
- });
- }else{
- this.get_neighborShop()
- }
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {},
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- },
- /**
- * 分类点击事件,获取子分类
- */
- onMenuTab: function (e) {
- var id = e.currentTarget.dataset.id;
- var index = e.currentTarget.dataset.index;
- // this.getProdList(id);
- this.getProdList(this.data.categoryList[index].categoryId);
- this.setData({
- categoryImg: this.data.categoryList[index].pic,
- selIndex: index
- });
- getApp().globalData.categoryId = ''
- getApp().globalData.index = ''
- getApp().globalData.pic = ''
- },
- /**
- * 推荐词,type:1关键词,2热门搜索词,3推荐搜索词
- */
- getRecommended: function () {
- var params = {
- url: "/keyword/list",
- method: "GET",
- data: {
- type: 2
- },
- callBack: (res) => {
- let reslut = res.filter(item => item.status !== 2) //过滤下线词
- let timeReslut = reslut.filter(e => util.dateToTimestamp(e.effectiveTime) < new Date().getTime()) //过滤未生效词
- this.setData({
- hotList: timeReslut
- })
- }
- };
- http.request(params);
- },
- /**
- * 推荐词搜索
- */
- topSwiperChange: function (e) {
- this.setData({
- topCurrentIndex: e.detail.current // 获取当前滚动到的swiper-item的索引并更新到data中
- })
- },
- topHotSearch: function () {
- const topname = this.data.hotList[this.data.topCurrentIndex].name
- wx.navigateTo({
- url: '/pages/search-prod-show/search-prod-show?prodName=' + topname,
- })
- },
- // 跳转搜索页
- toSearchPage: function () {
- wx.navigateTo({
- url: '/pages/search-page/search-page',
- })
- },
- getProdList(categoryId) {
- this.setData({
- parentId: categoryId
- })
- //加载子分类列表
- var params = {
- url: "/category/categoryInfo",
- method: "GET",
- data: {
- parentId: categoryId
- },
- callBack: (res) => {
- let str='https://zswl-shop.oss-cn-chengdu.aliyuncs.com'
- res.forEach(item=>{
- item.categories.forEach(e=>{
- if(e.pic!=null){
- if(!e.pic.includes(str)){
- e.pic='https://zswl-shop.oss-cn-chengdu.aliyuncs.com/'+e.pic
- }
- }
- })
- })
- this.setData({
- subCategoryList: res,
- });
- }
- };
- http.request(params);
- },
- /**
- * 跳转到定位页面
- */
- toLocationPage: function () {
- wx.navigateTo({
- url: '/pages/locationAdd/locationAdd',
- })
- },
- // 跳转子分类商品页面
- toCatePage: function (e) {
- console.log(e);
- const {
- type,
- parentid,
- categoryid,
- subcateindex
- } = e.currentTarget.dataset
- wx.navigateTo({
- url: `/pages/sub-category/sub-category?parentId=${parentid}&categoryId=${type=='all'?this.data.subCategoryList[subcateindex].categoryId:categoryid}`,
- })
- },
- toCategoryPage: function () {
- wx.navigateTo({
- url: `/pages/sub-category/sub-category?categoryId=${this.data.parentId}`,
- })
- }
- })
|