123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- var util = require('../../utils/util.js');
- var api = require('../../config/api.js');
- Page({
- data: {
- navList: [],
- goodsList: [],
- id: 0,
- currentCategory: {},
- scrollLeft: 0,
- scrollTop: 0,
- scrollHeight: 0,
- page: 1,
- limit: 10,
- pages:1, //总页数
- },
- onLoad: function(options) {
- // 页面初始化 options为页面跳转所带来的参数
- var that = this;
- if (options.id) {
- that.setData({
- id: parseInt(options.id)
- });
- }
- wx.getSystemInfo({
- success: function(res) {
- that.setData({
- scrollHeight: res.windowHeight
- });
- }
- });
- this.getCategoryInfo();
- },
- getCategoryInfo: function() {
- let that = this;
- util.request(api.GoodsCategory, {
- id: this.data.id
- })
- .then(function(res) {
- if (res.errno == 0) {
- that.setData({
- navList: res.data.brotherCategory,
- currentCategory: res.data.currentCategory
- });
- wx.setNavigationBarTitle({
- title: res.data.parentCategory.name
- })
- // 当id是L1分类id时,这里需要重新设置成L1分类的一个子分类的id
- if (res.data.parentCategory.id == that.data.id) {
- that.setData({
- id: res.data.currentCategory.id
- });
- }
- //nav位置
- let currentIndex = 0;
- let navListCount = that.data.navList.length;
- for (let i = 0; i < navListCount; i++) {
- currentIndex += 1;
- if (that.data.navList[i].id == that.data.id) {
- break;
- }
- }
- if (currentIndex > navListCount / 2 && navListCount > 5) {
- that.setData({
- scrollLeft: currentIndex * 60
- });
- }
- that.getGoodsList();
- } else {
- //显示错误信息
- }
- });
- },
- onReady: function() {
- // 页面渲染完成
- },
- onShow: function() {
- // 页面显示
- },
- onHide: function() {
- // 页面隐藏
- },
- //触底开始下一页
- onReachBottom: function () {
- var that=this;
- var pagenum = that.data.page + 1; //获取当前页数并+1
- if(pagenum <=that.data.pages){
- that.setData({
- page: pagenum, //更新当前页数
- })
- that.getGoodsList();//重新调用请求获取下一页数据
- }else{
- util.showErrorToast("已经是最后一页了");
- }
- },
- getGoodsList: function() {
- var that = this;
- util.request(api.GoodsList, {
- categoryId: that.data.id,
- page: that.data.page,
- limit: that.data.limit
- })
- .then(function(res) {
- var arr1 = that.data.goodsList; //从data获取当前datalist数组
- var arr2 = res.data.list; //从此次请求返回的数据中获取新数组
- arr1 = arr1.concat(arr2); //合并数组
- that.setData({
- goodsList: arr1,
- pages: res.data.pages //得到总页数
- });
- });
- },
- onUnload: function() {
- // 页面关闭
- },
- switchCate: function(event) {
- if (this.data.id == event.currentTarget.dataset.id) {
- return false;
- }
- var that = this;
- var clientX = event.detail.x;
- var currentTarget = event.currentTarget;
- if (clientX < 60) {
- that.setData({
- scrollLeft: currentTarget.offsetLeft - 60
- });
- } else if (clientX > 330) {
- that.setData({
- scrollLeft: currentTarget.offsetLeft
- });
- }
- this.setData({
- id: event.currentTarget.dataset.id,
- page:1, //从第一页开始查
- goodsList:[]
- });
- this.getCategoryInfo();
- }
- })
|