|  | @@ -0,0 +1,259 @@
 | 
											
												
													
														|  | 
 |  | +// 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'),
 | 
											
												
													
														|  | 
 |  | +      },
 | 
											
												
													
														|  | 
 |  | +      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}`,
 | 
											
												
													
														|  | 
 |  | +    })
 | 
											
												
													
														|  | 
 |  | +  }
 | 
											
												
													
														|  | 
 |  | +})
 |