hongBaoDetails.js 4.09 KB
// packageA//pages/hongBao/hongBao.js
const app = getApp();
let reqData = {};
let _this = null;

Page({

  /**
   * 页面的初始数据
   */
  data: {
		url: app.globalData.setting.imghost,
		list: null,
		isLoading: false, // 检测是否已经发送请求,防止重复发送请求
		noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据
		pageNum: 1, // 当前页数
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
		_this = this;
		console.log('options', options);
		
		this.isLogin()
		.then(function(data) {
		
			_this.data.options = options;
			reqData.url = '/api/weshop/redmoney/redRecord/page',
			reqData.data = {
				store_id: app.globalData.setting.stoid,
				redid: _this.data.options.redid,
			};
			reqData.data2 = {
				store_id: app.globalData.setting.stoid,
				user_id: app.globalData.user_id,
				redid: _this.data.options.redid,
				pageSize: 1,
				page: 1,
			};
			_this.getData(true, reqData.url, reqData.data);
			_this.requestData(reqData.url, reqData.data2)
			.then(function(data) {
				_this.setData({
					myRed: data.data.data.pageData[0]
				});
				// console.log('123', data.data.data.pageData[0]);
			});
			
		});
		
		
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
		this.scrollToLower(reqData.url, reqData.data);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
	
	// 判断是否授权登录
	isLogin() {
		return new Promise((resolve, reject) => {
			let user_info = app.globalData.userInfo;
			if(user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) {
			  wx.navigateTo({
			    url: '/pages/togoin/togoin',
			  })
			} else {
				resolve();
			};
		});
	},
	
	// 请求数据
	requestData(url, data) {
		return new Promise((resolve, reject) => {
			app.request.promiseGet(url, {data: data})
			.then(res => {
			  if(res.data.code == 0) {
					console.log('resolve', res);
					resolve(res);
			  } else {
					reject(res);
				};
			})
		});
	},
	
	
	
	// 上拉加载请求数据
	getData: function(isInit, url, data) {
		wx.showLoading({
		  title: '加载中',
		})
		this.requestData(url, data)
		.then(function(res) {
			wx.hideLoading();
			console.log('res--->', res);
			_this.setData({
				isLoading: false
			});
			
			if(isInit) {// 第一次加载
				_this.setData({
					list: res.data.data
				});
			} else {
				
				_this.setData({
					'list.pageData': _this.data.list.pageData.concat(res.data.data.pageData)
				});
			};
			
			if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) {
				_this.setData({
					noMore: true
				});
			};
	
		})
		.catch(function(reason) {
			wx.hideLoading();
			wx.showToast({
			  title: reason.data.msg,
			  icon: 'none',
			  duration: 2000
			})
			_this.setData({
				'list.pageData': []
			});
		});
	},
	
	
	// 上拉加载
	scrollToLower(url, requestData, callback) {
		// 页面数据
		// let pageData = this.data.list.pageData;
		// 数据总量
		let total = this.data.list.total;
		// 单页最大数据量
		let pageSize = this.data.list.pageSize;
		// 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’
		if((total != 0)&&(total <= pageSize)) {
			this.setData({
				noMore: true
			});
		};
		
		if(!this.data.isLoading && !this.data.noMore) {
			this.setData({
				isLoading: true,
				pageNum: this.data.pageNum + 1
			});
			requestData.page = this.data.pageNum;
			this.getData(false, url, requestData);
		};
	},
	
	
	
})