// pages/i_service/cardList/cardList.js
const app = getApp();
let self = null,ut = require("../../../utils/util.js");


Page({

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

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
		self = this;//保存全局指针
		this.data.options = options;
		app.isLogin().then(function(data) {//进入页面前已经授权登录成功
			self.setData({
				userInfo: data,
				imghost: app.globalData.setting.imghost,
			});
		});		
	    var url="/api/weshop/store_module/gets/"+app.globalData.setting.stoid+"/0/5";
		getApp().promiseGet(url,{}).then(res=>{
			if(res.data.code==0 && res.data.data && res.data.data.length>0){
				var json=JSON.parse(res.data.data[0].json_str);
				var content=json[0].content;			
				self.setData({object:content});
			}
		})
  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
        getApp().check_can_share();
		let url = '/api/weshop/serviceCard/page';
		let currentQuery = this.data.currentQuery;
		if(app.globalData.userInfo) {
      
      currentQuery.user_id=app.globalData.user_id || 0;

			if(!this.data.isLogin) {
				this.setData({
					userInfo: app.globalData.userInfo,
					imghost: app.globalData.setting.imghost,
					isLogin: true,
				});
				if(this.data.options.cat_id) {
					currentQuery.cat_id = this.data.options.cat_id;
				};
				currentQuery.page=1;			
				this.getData(true, url, currentQuery);			
				// app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, {
				//   data: {
				//     enabled: 1
				//   }
				// }).then(res => {
				// 	console.log('res==>1', res);
				// });
				
				app.request.promiseGet("/api/weshop/ad/page?pid=2&store_id=" + app.globalData.setting.stoid, {
				  data: {
				    enabled: 1
				  }
				}).then(res => {
				
				  if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){			
				  var a = res.data.data.pageData;
				  var arr = new Array();
				  for (var i = 0; i < a.length; i++) {
					var tt = {
					  'ad_code': self.data.imghost + a[i].ad_code,
					  'media_link': '',
					  'ad_weapplink':a[i].ad_weapplink
					};
					arr.push(tt);
				  }
				  if (arr.length > 0) self.setData({
					banner: arr,
				  });
					console.log('banner==>', arr);
				  wx.stopPullDownRefresh();
				}
				})
				
			};
		};
  },

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

  },

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

  },

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

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
		this.scrollToLower('/api/weshop/serviceCard/page', this.data.currentQuery);
  },

  /**
   * 用户点击右上角分享
   */
   onShareAppMessage: function () {   	  getApp().globalData.no_clear=1

  },
	
	/**
	 * promiseGet请求数据
	 */
	getData: function(isInit, url, data,callback) {	
			app.request.promiseGet(url, {
				data: data,
				isShowLoading: true,
			})
			.then(function(res) {
				// console.log('1121', res.data.code);
				if(res.data.code == 0) {
					
					self.setData({
						isLoading: false
					});
					
					if(isInit) {// 第一次加载
						self.setData({
							list: res.data.data
						});
					} else {
						self.setData({
							'list.pageData': self.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)) {
						self.setData({
							noMore: true
						});
					};
					
				} else {
					self.setData({
						'list.pageData': []
					});
				};				
				if(callback) callback();
				
			})
			.catch(function(err) {
				console.log('出错拉！！！！',err);
				self.setData({
					'list.pageData': []
				});
				
				if(callback) callback();
			});
	},
	
	
	/**
	 * 上拉加载数据
	 */
	scrollToLower(url, requestData, callback) {
		// 数据总量
		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,callback)
			
		};
	},
	
	go_goods:async  function(e) {
	    var gid = e.currentTarget.dataset.gid;
		var rurl = '/api/weshop/activitylist/listGoodActInfo2New';
		var req_d = {
			"store_id": app.globalData.setting.stoid,
			"goods_id": gid,
			"user_id": getApp().globalData.user_id || 0,
			"goods_type":1
		}
		var res= await getApp().request.promiseGet(rurl, {data: req_d});

		var url = "/packageH/pages/goodsInfo/goodsInfo?goods_id=" + gid;
		if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
			var arr = res.data.data;
			let times = new Date().getTime();
			//-- 预热也要计算 --
			var arr2 = arr.filter(function (e) {
				return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp())
			})
			if(arr2.length==1) {
                switch(arr2[0].prom_type){
					case 1:
						url+="&prom_type=1&prom_id="+arr2[0].act_id;
						break;
					case 2:
						url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+gid+"&prom_id="+arr2[0].act_id;
						break;
					case 6:
						url = `/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=${gid}&prom_type=${arr2[0].prom_type}&prom_id=${arr2[0].act_id}`;
						break;
					case 8:
						url = `/packageC/pages/presell/cardInfo/goodsInfo?goods_id=${gid}&prom_id=${arr2[0].act_id}`;
						break;
				}
			}

		}


	     app.goto(url);
	},
	
	//图片失败，默认图片
	bind_bnerr: function(e) {
	  var _errImg = e.target.dataset.errorimg;
	  var _errObj = {};
	  _errObj[_errImg] = "/miniapp/images/default_g_img.gif";
	  this.setData(_errObj); //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
	},
})