<template>
	<view>
		<view :class="'top-fixed' + (skinNotColor ? ' not-color' : '')" :style="'height: '+ systems.barHeight + 'rpx;'">
			<block v-if="about.CONFIG_PROJECT_TITLE_BG && about.CONFIG_PROJECT_TITLE_PIC">
			<image :src="about.CONFIG_PROJECT_TITLE_BG" class="topbg"></image>
			<view class="top-title" :style="'height: '+ systems.navigationHeight + 'rpx;top:' + systems.ktxStatusHeight + 'rpx;'">
				<image :src="about.CONFIG_PROJECT_TITLE_PIC" mode="heightFix"></image>
			</view>
			</block>
			<view class="top-title" :style="'line-height: '+ systems.navigationHeight + 'rpx;top:' + systems.ktxStatusHeight + 'rpx;'" v-else>
				{{about.CONFIG_PROJECT_TITLE?about.CONFIG_PROJECT_TITLE:''}}
			</view>
		</view>
		<view :style="'height: '+ systems.barHeight + 'rpx;'"></view>
		<!-- <view @click="saoma()" style="z-index: 999;position: relative;">扫码</view> -->
		<view v-for="(item, index) in contact" :key="index">
			<storeOptions
				v-if="item == 'store_options' || (item == 'sou' && top) || (item == 'type_district' && top_type)"
				:storeTemplate="storeTemplate"
				:merchant="merchant"
				:about="about"
				:guarantee="guarantee"
				:sousuoTemplate="sousuoTemplate"
				:typeDistrictTemplate="typeDistrictTemplate"
				:url="site"
				:web="url"
				:cloud="header.appId == 'ZQ1VK5oc17I387E' ? 'default' : ''"
			></storeOptions>
			<!-- 多门店选择模板和搜索模板 -->
			<popAd
				v-if="item == 'home_pop_up_ads'"
				:first="first"
				:popAdTemplate="popAdTemplate"
				:isLayerAd="isLayerAd"
				:popAdList="popAdList"
				:iscouponAd="iscouponAd"
				:storeShow="storeShow"
			></popAd>
			<!-- 弹窗广告 -->
			<banner v-if="item == 'ad' && bannerShow" :bannerList="bannerList" :url="site" :web="url" :config="about" :districtTemplate="districtTemplate"></banner>
			<!-- 走马灯 -->
			<bargain v-if="item == 'bargain' && bargainShow" :bargainList="bargainList" :url="site" :web="url" :bargainTemplate="bargainTemplate"></bargain>
			<!-- 砍价 -->
			<customers v-if="item == 'New_customers' && customersShow" :customersList="customersList" :url="site" :web="url" :customersTemplate="customersTemplate"></customers>
			<!-- 新客 -->
			<homecolumn v-if="item == 'homecolumn'" :homecolumnimg="homecolumnimg"></homecolumn>
			<!-- 首页专区 -->
			<joingroup v-if="item == 'joingroup' && joingroupShow" :joingroupList="joingroupList" :url="site" :web="url" :joingroupTemplate="joingroupTemplate"></joingroup>
			<!-- 拼团 -->
			<group
				v-if="item == 'group' && activityGroupShow"
				:activityGroup="activityGroup"
				:url="site"
				:web="url"
				:groupTemplate="groupTemplate"
				:merchant="merchant"
				:freshen="freshen"
			></group>
			<!-- 社区团购 -->
			<pCategoryList
				v-if="item == 'p_list'"
				:homeTemplate="homeTemplate"
				:url="site"
				:web="url"
				:about="about"
				:templateType="templateType"
				:merchant="merchant"
				:freshen="freshen"
				:pCategoryList="pCategoryList"
				:pCategorShow="pCategorShow"
			></pCategoryList>
			<!-- 分类 -->
			<recommend
				v-if="item == 'recommend' && recommendShow"
				:pageList="pageList"
				:recommendTemplate="recommendTemplate"
				:url="site"
				:web="url"
				:about="about"
				:categoryList="categoryList"
			></recommend>
			<!-- 推荐 -->
			<seckill v-if="item == 'seckill' && seckillShow" :seckillList="seckillList" :url="site" :web="url" :seckillTemplate="seckillTemplate"></seckill>
			<!-- 秒杀 -->
			<selected v-if="item == 'chosen' && boutiqueShow" :boutiqueList="boutiqueList" :chosenTemplate="chosenTemplate" :url="site" :web="url" :about="about"></selected>
			<!-- 精选 -->
			<arrivals
				v-if="item == 'new_arrivals' && arrivalsShow"
				:arrivalsList="arrivalsList"
				:arrivalsTemplate="arrivalsTemplate"
				:url="site"
				:web="url"
				:about="about"
			></arrivals>
			<!-- 新品上架 -->
			<hot v-if="item == 'hot_money' && hotShow" :hotList="hotList" :hotTemplate="hotTemplate" :url="site" :web="url" :about="about"></hot>
			<!-- 热门爆款 -->
			<specialTopic v-if="item == 'special'" :specialList="specialList"></specialTopic>
			<!-- 专题 -->
			<redEnvelopes
				v-if="item == 'red_envelopes'"
				:storeShow="storeShow"
				:iscouponAd="iscouponAd"
				:first="first"
				:couponAd="couponAd"
				@iscouponAd="hidecouponAd"
			></redEnvelopes>
			<!-- 红包 -->
			<supplier
				v-if="item == 'supplier_premium' && supplierShow"
				:supplierTemplate="supplierTemplate"
				:web="merchant.type == 5 ? web : url"
				:supplierList="supplierList"
				:about="about"
			></supplier>
			<!-- 供应商优品 -->
			<district v-if="item == 'king_kong_district' && districtShow" :url="site" :web="url" :couponList="couponList" :districtTemplate="districtTemplate"></district>
			<!-- 九宫格 金刚区 -->
			<suppliers
				v-if="item == 'sup_recommend' && supRecommendShow"
				:supRecommendList="supRecommendList"
				:url="site"
				:web="url"
				:supRecommendTemplate="supRecommendTemplate"
			></suppliers>
			<!-- 供应商推荐 -->
			<single
				v-if="item == 'single_product' && singleShow"
				:pageList="singleList"
				:singleTemplate="singleTemplate"
				:merchant="merchant"
				:url="site"
				:web="url"
				:about="about"
				:categoryList="categoryList"
			></single>
			<!-- 单产品推荐 -->
		</view>
		<switchStore v-if="switchStoreShow && contact.length > 0 && merchant.id" :first="first" :merchant="merchant" :storeShow="storeShow" @onFather="click"></switchStore>
		<!-- <component v-for="(item,index) in contact" ></component> -->
		<!-- <ad></ad> -->
		<block v-if="contactShow">
			<view class="spinner">
				<view class="spinner-container container1">
					<view class="circle1"></view>
					<view class="circle2"></view>
					<view class="circle3"></view>
					<view class="circle4"></view>
				</view>
				<view class="spinner-container container2">
					<view class="circle1"></view>
					<view class="circle2"></view>
					<view class="circle3"></view>
					<view class="circle4"></view>
				</view>
				<view class="spinner-container container3">
					<view class="circle1"></view>
					<view class="circle2"></view>
					<view class="circle3"></view>
					<view class="circle4"></view>
				</view>
			</view>
			<view class="lond">加载中···</view>
		</block>
		<footer-copyright v-if="logo"></footer-copyright>
		<!-- 订单购买轮播 -->
		<view :class="(marqueeOrderItem ? 'roll-notice ' : '') + 'dflex'" v-if="marqueeOrderItem">
			<image :src="marqueeOrderItem.avatar"></image>
			<view class="flex">{{ marqueeOrderItem.time }} 购买了{{ marqueeOrderItem.productName }}</view>
		</view>
		<contact-button img-url="/static/pages/images/kfico1_1.png" class-name="contact_index" button-text="客服"></contact-button>
		<view class="guide" @tap="hideGuide" v-if="first"><image src="/static/pages/images/guide.png" mode="widthFix"></image></view>
		<!-- <view class="placeholder-view" :style="'height:' + (bottomBlankHeight + 115) + 'rpx'"></view> -->
		<foot channel="home" :isUpdate="isUpdate"></foot>
	</view>
</template>

<script>
//index.js
//获取应用实例
const app = getApp();
const req = require('../../utils/request.js');
const api = require('../../utils/api.js');
const utils = require('../../utils/util.js');
const mes = require('../../utils/requestmessage.js');
const route = require('../../utils/route');
const QQMapWX = require("../../utils/qqmap.js");
import foot from '../../components/nav-bar/index';
import footerCopyright from '../../components/footer-copyright/footer-copyright';
import popAd from '../../template/popAd/popAd';
import group from '../../template/activityGroup/activityGroup';
import banner from '../../template/banner/banner';
import bargain from '../../template/bargain/bargain';
import customers from '../../template/customers/customers';
import homecolumn from '../../template/homecolumn/homecolumn';
import joingroup from '../../template/joingroup/joingroup';
import pCategoryList from '../../template/pCategoryList/pCategoryList';
import recommend from '../../template/recommend/recommend';
import seckill from '../../template/seckill/seckill';
import selected from '../../template/selected/selected';
import arrivals from '../../template/arrivals/arrivals';
import hot from '../../template/hot/hot';
import specialTopic from '../../template/specialTopic/specialTopic';
import storeOptions from '../../template/store_options/store_options';
import redEnvelopes from '../../template/red_envelopes/index';
import supplier from '../../template/supplier/supplier';
import district from '../../template/king_kong_district/king_kong_district';
import switchStore from '../../template/switchStore/switchStore';
import suppliers from '../../template/suppliers/suppliers';
import single from '../../template/single/single';
export default {
	data() {
		return {
			skinNotColor: req.public.skinNotColor,
			systems: {},
			header: req.header,
			bottomBlankHeight: app.globalData.isIPhoneX ? 68 : 0,
			swiperCurrent: 0,
			swiperGrid: 0,
			bannerList: [],
			categoryList: [],
			//产品分类列表
			page: 1,
			boutiqueList: {},
			//精品榜单
			arrivalsList: {},
			hotList: {},
			pageList: {},
			//产品列表
			isLoad: true,
			hasmore: true,
			merchant: {},
			activityGroup: {
				products: []
			},
			couponList: {},
			//优惠券,
			isRemind: false,
			isUpdate: false,
			// 是否更新消息
			first: true,
			//是否显示提示加入我的小程序
			isLayerAd: true,
			//广告
			homeTemplate: [],
			//首页栏目配置
			pCategoryList: [],
			storeShow: true,
			templateType: {
				module_ad: 'ad',
				//广告
				module_type_district: 'type_district',
				//分类导航
				module_p_list: 'p_list',
				//品类专区
				module_group: 'group',
				//团购
				module_live: 'live',
				//直播
				module_sou: 'sou',
				//搜索
				module_special: 'special',
				//专题
				module_chosen: 'chosen',
				//精选
				module_new_arrivals: 'new_arrivals',
				//新品上架
				module_hot_money: 'hot_money',
				//热门爆款
				module_recommend: 'recommend',
				//推荐产品
				module_store_options: 'store_options',
				//多门店选择
				module_home_pop_up_ads: 'home_pop_up_ads',
				//首页弹窗广告
				module_joingroup: 'joingroup',
				//拼团
				module_seckill: 'seckill',
				//秒杀
				module_bargain: 'bargain',
				//砍价
				module_customers: 'New_customers',
				//新客
				module_homecolumn: 'homecolumn',
				//首页专区
				module_Timely_delivery_open: 'Timely_delivery_open',
				//及时达页面
				module_supplier_premium: 'supplier_premium', //供应商模块
				module_red_envelopes: 'red_envelopes', //优惠券
				module_king_kong_district: 'king_kong_district', //金刚区
				module_sup_recommend: 'sup_recommend', //供应商推荐
				module_single_product: 'single_product' //供应商推荐
			},
			buyOrderMarqueeList: [],
			listI: -1,
			isNotice: false,
			TabList: [
				{
					//秒杀时间
					label: '今天',
					active: true,
					state: '抢购中',
					dayType: 1,
					time: ''
				},
				{
					label: '明天',
					state: '预热中',
					active: false,
					time: '',
					dayType: 2
				},
				{
					label: '后天',
					state: '预热中',
					dayType: 3,
					time: ''
				},
				{
					label: '',
					state: '预热中',
					dayType: 4,
					active: false,
					time: ''
				},
				{
					label: '',
					state: '预热中',
					dayType: 5,
					active: false,
					time: ''
				}
			],
			joingroupList: {
				products: []
			},
			//拼团
			bargainList: {
				products: []
			},
			//砍价
			customersList: {
				products: []
			},
			//新客
			freshen: true,
			swiperHeight: 0,
			url: '',
			web: '',
			site: '',
			internet: '',
			storeTemplate: {},
			typeDistrictTemplate: {},
			sousuoTemplate: {},
			popAdTemplate: {},
			districtTemplate: {},
			Timelyimg: '',
			timelyTemplate: {},
			homecolumnimg: [],
			customersTemplate: {},
			joingroupTemplate: {},
			supplierTemplate: {},
			seckillTemplate: {},
			bargainTemplate: {},
			specialTemplate: {},
			chosenTemplate: {},
			arrivalsTemplate: {},
			hotTemplate: {},
			groupTemplate: {},
			recommendTemplate: {},
			supRecommendTemplate: {},
			singleTemplate: {},
			specialList: [],
			contact: [],
			seckillList: {
				products: []
			},
			about: {},
			Is_Store_Price_Stock: '',
			guarantee: [],
			current: '',
			animationData: '',
			content: '',
			popAdList: {},
			supplierList: {},
			supRecommendList: {},
			singlePage: 1,
			isLoadSingle: true,
			hasmoreSingle: true,
			singleList: {},
			iscouponAd: false,
			couponAd: {},
			logo: false,
			top: Boolean,
			top_type: Boolean,
			switchStoreShow: Boolean,
			bargainShow: Boolean,
			contactShow: true,
			seckillShow: false,
			joingroupShow: false,
			activityGroupShow: false,
			customersShow: false,
			districtShow: false,
			recommendShow: false,
			boutiqueShow: false,
			arrivalsShow: false,
			hotShow: false,
			supplierShow: false,
			supRecommendShow: false,
			singleShow: false,
			pCategorShow: false,
			bannerShow: false,
			List: [],
			marqueeOrderItemIndex: 0,
			marqueeOrderItem: '',
			// isShowTime: false
		};
	},

	components: {
		foot,
		footerCopyright,
		banner,
		group,
		bargain,
		popAd,
		customers,
		homecolumn,
		joingroup,
		pCategoryList,
		recommend,
		seckill,
		selected,
		arrivals,
		hot,
		specialTopic,
		storeOptions,
		redEnvelopes,
		supplier,
		district,
		switchStore,
		suppliers,
		single
	},
	props: {},
	onLoad: async function(options) {
		// console.log("扫码进去参数===" + JSON.stringify(options));
		// if (options.scene) {
		//   // this.scene = options.scene || '1290926887903780865';
		//   this.scene = options.scene;
		//   await this.loadCodeParams();
		// }
		// wx.setNavigationBarColor({
		//   frontColor: '#ffffff',
		//   backgroundColor: req.public.titleTopBgColor,
		// })
		// this.getPopAd()
		this.query = options;
		req.silenceLogin(options.userId, '');
		if (options.custom_params) {
			let obj = decodeURIComponent(opt.custom_params);
			obj = JSON.parse(obj);
			// console.log(obj)
			req.setStorage('pidCode', obj.userId);
		}
		if (options.isShare) {
			if (options.userId) {
				req.setStorage('pidCode', options.userId);
			}
		}
		setInterval(() => {
			this.setData({
				isNotice: true
			});
		}, 10000); // this.init();
		
		QQMapWX.initMap();
		req.getLocation(res => {
			const to = {
				latitude: res.latitude,
				longitude: res.longitude
			};
			QQMapWX.reverseGeocoder(to, resp => {
			});
		});
	},

	async onShow() {
		let _ts = this;
		await this.getConfig().then(res => {
			// console.log("debug1", res);
			_ts.getMerchant();
		});
		await this.getHomeTemplateConfig();
		await this.getCoupon();
		
		uni.setNavigationBarColor({
			frontColor: this.skinNotColor?'#000':'#ffffff',
			backgroundColor: req.public.titleTopBgColor
		});
		_ts.setData({
			isUpdate: !_ts.isUpdate
		});

		// console.log('this.freshen=='+this.freshen)
		let first = req.getStorage('first');
		if (first !== false)
			_ts.setData({
				first: true
			});
		else
			_ts.setData({
				first: false
			});
	},

	onUnload() {
		// this.isShowTime = false;
		this.clearAllTimer(1);
		this.clearAllTimer(2);
		this.clearAllTimer(3);
		this.clearAllTimer(4);
	},

	onHide() {
		// this.isShowTime = false;
		this.clearAllTimer(1);
		this.clearAllTimer(2);
		this.clearAllTimer(3);
		this.clearAllTimer(4);
	},
	onShareAppMessage: function() {
		let path = '/pages/index/index?isShare=' + true;
		if (req.getStorage('userInfo')) {
			path += '&userId=' + req.getStorage('userInfo').id;
		}
		if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').id != null) {
			path += '&merchantId=' + req.getStorage('MERCHANT').id;

			if (req.getStorage('smallShop') && req.getStorage('MERCHANT').id != null) {
				path += '&shopId=' + req.getStorage('smallShop').id;
			}
		}
		let title = '';
		if (this.merchant && this.merchant.title && this.merchant.title != '默认门店') {
			title = this.merchant.title;
		} else {
			title = this.about.CONFIG_PROJECT_TITLE;
		}
		console.log(title);
		// console.log(path);
		return {
			title: (req.excludeSpecial(req.getStorage('userInfo').nickName) ? req.excludeSpecial(req.getStorage('userInfo').nickName) : '') + '为你推荐' + title,
			// imageUrl: this.data.seckill[0].pic
			// path: '/product/detail/detail?id=' + this.query.id + '&isShare=' + true + '&userId=' + req.getStorage('userInfo').id
			path: path
		};
	},
	onShareTimeline() {
		let path = 'isShare=' + true;
		if (req.getStorage('userInfo')) {
			path += '&userId=' + req.getStorage('userInfo').id;
		}
		if (req.getStorage('MERCHANT') && req.getStorage('MERCHANT').id != null) {
			path += '&merchantId=' + req.getStorage('MERCHANT').id;

			if (req.getStorage('smallShop') && req.getStorage('MERCHANT').id != null) {
				path += '&shopId=' + req.getStorage('smallShop').id;
			}
		}
		let title = '';
		if (this.merchant && this.merchant.title && this.merchant.title != '默认门店') {
			title = this.merchant.title;
		} else {
			title = this.about.CONFIG_PROJECT_TITLE;
		}
		// console.log(path);
		return {
			title: (req.excludeSpecial(req.getStorage('userInfo').nickName) ? req.excludeSpecial(req.getStorage('userInfo').nickName) : '') + '为你推荐' + title,
			// imageUrl: this.data.seckill[0].pic
			// path: '/product/detail/detail?id=' + this.query.id + '&isShare=' + true + '&userId=' + req.getStorage('userInfo').id
			query: path
		};
	},

	onReachBottom() {},

	methods: {
		hidecouponAd(iscouponAd) {
			this.iscouponAd = false;
			app.globalData.isredenvelopes = false;
		},
		getMerchant() {
			let _ts = this;
			if (req.header.appId == 'ZQ1VK5oc17I387E') {
				// 默认门店
				let merchant = req.getStorage('defaultMerchant');
				var timestamp = Date.parse(new Date());
				merchant.time = timestamp + 1 * 60 * 1000;
				if (merchant) {
					req.setStorage('MERCHANT', merchant);
					_ts.setData({
						merchant: merchant
					});
					console.log('》》》》获取当前的门店>>>>>>>>', merchant);
					_ts.init(merchant);
				} else {
					return new Promise((resolve, reject) => {
						req.getRequest(
							'/api/merchant/list',
							{
								page: 0,
								limit: 10000
							},
							res => {
								console.log('获取到门店列表>>>>>>>>', res);
								var data = res.filter(it => it.isDefault == 1);
								var timestamp = Date.parse(new Date());
								res[0].time = timestamp + 1 * 60 * 1000;
								_ts.setData({
									merchant: data[0]
								});
								// console.log(data)
								console.log('缓存当前的门店>>>>>>>>', data[0]);
								req.setStorage('defaultMerchant', data[0]);
								req.setStorage('MERCHANT', data[0]);
								_ts.init(data[0]);
								resolve();
							}
						);
					});
				}
			} else {
				return new Promise((resolve, reject) => {
					api.getMerchant(_ts.query, req, data => {
						console.log('data==',data)
						if (data == 1) {
							uni.showModal({
								title: '温馨提示',
								content: '获取定位失败，请前往设置打开定位权限',
								showCancel: false,
								success(res) {
									if (res.confirm) {
										// console.log('用户点击确定');
										uni.openSetting({
											success(res) {
												console.log(res.authSetting); // res.authSetting = {
											}
										});
									}
								}
							});
						} else {
							_ts.merchant = data;
							_ts.init(data);
						}
						resolve();
					});
				});
			}
		},

		getBuyOrderMarquee(isToTime) {
			console.log('getBuyOrderMarquee数据获取>>>>>>');
			req.getRequest('/api/product/buyDynamic', {}, data => {
				this.isShowTime = true;
				this.buyOrderMarqueeList = data;
				if (isToTime) {
					console.log('1111111111getBuyOrderMarquee数据获取>>>>>>');
					if (this.buyOrderMarqueeList && this.buyOrderMarqueeList.length > 0) {
						this.marqueeOrderItem = this.buyOrderMarqueeList[this.marqueeOrderItemIndex];
						this.marqueeOrderItemIndex++;
						this.getMarqueeOrderItem();
					}
				}
			});
		},

		// 首页轮播最新购买记录
		getMarqueeOrderItem() {
			var tha = this;
			setTimeout(function() {
				// console.log('数据tha.marqueeOrderItemIndex>>>>', tha.marqueeOrderItemIndex);
				tha.marqueeOrderItem = tha.buyOrderMarqueeList[tha.marqueeOrderItemIndex];
				if (tha.marqueeOrderItemIndex >= tha.buyOrderMarqueeList.length - 1) {
					tha.marqueeOrderItemIndex = 0;
				} else {
					tha.marqueeOrderItemIndex++;
				}

				tha.getMarqueeOrderItem();
			}, 5000);
		},

		async init(merchant) {
			// this.getHomeTemplateConfig();
			// console.log(this.Is_Store_Price_Stock, this.Is_Store_Price_Stock, this.about);
			let url = '';
			let web = '';
			let site = '';
			let internet = '';

			if (merchant.type == 5) {
				url = '&merchantId=' + merchant.merchantDTO.id + '&shopId=' + merchant.id;
				web = '&smallShop=true';
				site = '?merchantId=' + merchant.merchantDTO.id + '&shopId=' + merchant.id;
				internet = '?smallShop=true';
			} else {
				url = '&merchantId=' + merchant.id;
				web = '&merchantId=' + merchant.id;
				site = '?merchantId=' + merchant.id;
				internet = '?merchantId=' + merchant.id;
			}
			// console.log(url, web);
			this.setData({
				url: url,
				web: web,
				site: site,
				internet: internet
			}); // await this.getConfig();

			// await this.getCategory(); // await this.getCoupon();
		},
		// getpCategoryList: function(e) {
		// 	console.log(e.detail, "qqqqq")
		// 	this.pCategoryList = e.detail
		// },

		// getPopAd(){
		//   //弹窗广告
		//   let popAd = that.data.homeTemplate.filter(it => it.module == that.data.templateType.module_home_pop_up_ads);
		//   if (popAd && popAd.length > 0 && popAd[0].state == 0) {
		//     that.setData({ popAdTemplate: popAd[0] });
		//     await this.getBannerList(popAd[0].module, popAd[0].contentId);
		//   }
		// },
		async getRqeDatas() {
			console.log('getRqeDatas');
			this.getBuyOrderMarquee(!this.isShowTime);
			let that = this; //多门店
			let store = that.homeTemplate.filter(it => it.module == that.templateType.module_store_options);
			that.setData({
				storeTemplate: store[0]
			}); //搜索

			let sousuo = that.homeTemplate.filter(it => it.module == that.templateType.module_sou);
			that.setData({
				sousuoTemplate: sousuo[0]
			});
			//分类导航
			let typeDistrict = that.homeTemplate.filter(it => it.module == that.templateType.module_type_district);
			that.setData({
				typeDistrictTemplate: typeDistrict[0]
			});
			//弹窗广告
			let popAd = that.homeTemplate.filter(it => it.module == that.templateType.module_home_pop_up_ads);

			if (popAd && popAd.length > 0 && popAd[0].state == 0) {
				that.setData({
					popAdTemplate: popAd[0]
				});

				if (that.freshen) {
					await that.getBannerList(popAd[0].module, popAd[0].contentId);
				}
			} // 及时达
			// let Timely = that.data.homeTemplate.filter(it => it.module == that.data.templateType.module_Timely_delivery_open);
			// if (Timely && Timely.length > 0 && Timely[0].state == 0) {
			//   that.setData({ TimelyTemplate: Timely[0] });
			//   await this.getTimelyList(Timely[0].module, Timely[0].contentId);
			// }

			let Timely = that.homeTemplate.filter(it => it.module == that.templateType.module_Timely_delivery_open);

			if (Timely.length > 0 && Timely[0].state == 0) {
				// console.log(Timely);
				let Timelyimg = Timely[0].contentId.split(','); // if (Timely[0] != '' && Timely[1] != '' && Timely[2] != '') {
				// if (Timely.length == 3) {

				that.setData({
					Timelyimg: Timelyimg[0],
					timelyTemplate: Timely[0]
				});
				// console.log(Timelyimg); // }
				// }
			}
			// 金刚区
			let district = that.homeTemplate.filter(it => it.module == that.templateType.module_king_kong_district);
			if (district && district.length > 0 && district[0].state == 0) {
				let data = district[0];
				data.content = JSON.parse(district[0].content);
				that.districtTemplate = data;
				if (data.contentId == 2) {
					that.districtShow = true;
				}
				console.log(that.districtTemplate, '=============');
			}
			//顶部banner
			let ad = that.homeTemplate.filter(it => it.module == that.templateType.module_ad);

			if (ad && ad.length > 0 && ad[0].state == 0) {
				if (that.freshen) {
					await that.getBannerList(ad[0].module, ad[0].contentId);
				}
			} //首页专区

			let homecolumn = that.homeTemplate.filter(it => it.module == that.templateType.module_homecolumn);

			if (homecolumn.length > 0 && homecolumn[0].state == 0) {
				let homecolumnimg = homecolumn[0].contentId.split(',');

				if (homecolumnimg[0] != '' && homecolumnimg[1] != '' && homecolumnimg[2] != '') {
					if (homecolumnimg.length == 3) {
						// console.log(homecolumnimg);
						that.setData({
							homecolumnimg: homecolumnimg
						});
					}
				}
			} // 新客

			let customers = that.homeTemplate.filter(it => it.module == that.templateType.module_customers);

			if (customers && customers.length > 0 && customers[0].state == 0) {
				that.setData({
					customersTemplate: customers[0]
				});
				await that.customersListFun(customers[0]);
			} //拼团

			let joingroup = that.homeTemplate.filter(it => it.module == that.templateType.module_joingroup);

			if (joingroup && joingroup.length > 0 && joingroup[0].state == 0) {
				that.setData({
					joingroupTemplate: joingroup[0]
				});
				await that.joingroupListFun(joingroup[0]);
			} // 供应商

			let supplier = that.homeTemplate.filter(it => it.module == that.templateType.module_supplier_premium);

			if (supplier && supplier.length > 0 && supplier[0].state == 0) {
				that.setData({
					supplierTemplate: supplier[0]
				});

				if (that.freshen) {
					await that.getsupplierList(supplier[0]);
				}
			} //秒杀

			let seckill = that.homeTemplate.filter(it => it.module == that.templateType.module_seckill);

			if (seckill && seckill.length > 0 && seckill[0].state == 0) {
				that.setData({
					seckillTemplate: seckill[0]
				});
				await that.seckillListFun(seckill[0]);
			} //砍价

			let bargain = that.homeTemplate.filter(it => it.module == that.templateType.module_bargain);

			if (bargain && bargain.length > 0 && bargain[0].state == 0) {
				that.setData({
					bargainTemplate: bargain[0]
				});
				await that.bargainListFun(bargain[0]);
			} //专题

			let special = that.homeTemplate.filter(it => it.module == that.templateType.module_special);

			if (special && special.length > 0 && special[0].state == 0) {
				that.setData({
					specialTemplate: special[0]
				});

				if (that.freshen) {
					await that.getSpecialList(special[0]);
				}
			} //精选

			let chosen = that.homeTemplate.filter(it => it.module == that.templateType.module_chosen);

			if (chosen && chosen.length > 0 && chosen[0].state == 0) {
				that.setData({
					chosenTemplate: chosen[0]
				});
				if (that.freshen) {
					await that.getBoutiqueList(chosen[0]);
				} // }
			} //团购
			//新品上架
			let arrivals = that.homeTemplate.filter(it => it.module == that.templateType.module_new_arrivals);
			if (arrivals && arrivals.length > 0 && arrivals[0].state == 0) {
				that.setData({
					arrivalsTemplate: arrivals[0]
				});
				if (that.freshen) {
					await that.getArrivalsList(arrivals[0]);
				} // }
			}
			//热门爆款
			let hot = that.homeTemplate.filter(it => it.module == that.templateType.module_hot_money);
			if (hot && hot.length > 0 && hot[0].state == 0) {
				that.setData({
					hotTemplate: hot[0]
				});
				if (that.freshen) {
					await that.getHotList(hot[0]);
				} // }
			}
			let group = that.homeTemplate.filter(it => it.module == that.templateType.module_group);

			if (group && group.length > 0 && group[0].state == 0) {
				that.setData({
					groupTemplate: group[0]
				});
				await that.loadGroup(group[0]);
			}
			//推荐产品
			let recommend = that.homeTemplate.filter(it => it.module == that.templateType.module_recommend);
			if (recommend && recommend.length > 0 && recommend[0].state == 0) {
				that.setData({
					recommendTemplate: recommend[0]
				});
				if (that.freshen) {
					await that.getPageList();
				}
			}
			//单产品推荐
			let single = that.homeTemplate.filter(it => it.module == that.templateType.module_single_product);
			if (single && single.length > 0 && single[0].state == 0) {
				that.setData({
					singleTemplate: single[0]
				});
				if (that.freshen) {
					await that.getSinglePageList();
				}
			}
			//品类专区
			let p_list = that.homeTemplate.filter(it => it.module == that.templateType.module_p_list && it.state == 0);
			// that.pCategoryList = p_list;
			that.List = p_list;
			console.log('p_list==',p_list)
			if (that.freshen) {
				if (!that.pCategorShow) {
					for (var i = 0; i < that.List.length; i++) {
						await that.getPListProduct(that.List[i], i).then(data => {
							data = data.map(it => {
								if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
								return it;
							});
							var res = {
								displayStyle: that.List[i].theme,
								lineNumber: that.List[i].lineNumber,
								products: data
							};
							that.List[i].productList = res;
							let arr = [];
							that.List.forEach(it => {
								if (it.productList) {
									arr.push(it);
								}
							});
							that.pCategoryList = that.List;
							if (arr.length == that.List.length) {
								that.pCategorShow = true;
							}
						});
						await that.getCateCoupon(that.List[i],i).then(suc=>{
							that.List[i].couponList = suc;
						})
					}
				}
			}

			// 红包优惠券
			let coupon = that.homeTemplate.filter(it => it.module == that.templateType.module_red_envelopes && app.globalData.isredenvelopes);
			if (coupon && coupon.length > 0 && coupon[0].state == 0) {
				if (!req.getStorage('userInfo')) {
					that.setData({
						iscouponAd: true,
						couponAd: coupon[0]
					});
				} else {
					req.getRequest(
						'/api/coupon/checkCoupon',
						{
							id: coupon[0].contentId
						},
						res => {
							if (res == 1) {
								that.setData({
									iscouponAd: true,
									couponAd: coupon[0]
								});
							} else if (res == 0) {
								that.setData({
									iscouponAd: false
								});
							}
						}
					);
				}
				// console.log(coupon[0])
			} else {
				that.setData({
					iscouponAd: false
				});
			}
			// 供应商推荐
			let supRecommend = that.homeTemplate.filter(it => it.module == that.templateType.module_sup_recommend);
			if (supRecommend && supRecommend.length > 0 && supRecommend[0].state == 0) {
				that.setData({
					supRecommendTemplate: supRecommend[0]
				});

				if (that.freshen) {
					await that.getSupRecommendList();
				}
			}
			that.getCategory();
			that.setData({
				freshen: false
			});
			that.logo = true;
		},
		//产品分类优惠券
		getCateCoupon(pCategory,idx){
			let form = {
				page: 1,
				limit: 2,
				categoryId: pCategory.contentId,
				bindType: 'use'
			}
			return new Promise((resolve, reject) => {
				req.getRequest('/api/coupon/list',form,data=>{
					resolve(data);
				})
			})
		},
		// 动态产品分类
		getPListProduct(pCategory, idx) {
			// return new Promise((resolve, reject) => {
			// console.log(idx)
			let that = this;
			let pList = [];
			let form = {
				limit: pCategory.number,
				categoryId: pCategory.contentId // isRecommend:1
			};

			// //小店
			if ((that.merchant && that.merchant.type == 5) || (that.shopId && that.merchantId)) {
				form.merchantId = that.merchant.merchantDTO.id;
				var sid = that.merchant.id;
				if (that.shopId && that.merchantId) (form.merchantId = that.merchantId), (form.sid = that.shopId);
				return new Promise((resolve, reject) => {
					req.getRequest('/api/shopProduct/list', form, data => {
						resolve(data);
					});
				});
			}

			//非小店
			if (that.merchant && that.merchant.type != 5) {
				form.merchantId = that.merchant.id;
				return new Promise((resolve, reject) => {
					req.getRequest('/api/product/list', form, data => {
						resolve(data);
					});
				});
			}
			// })
		},

		//新客
		customersListFun(customersTemplate) {
			let _ts = this;

			_ts.clearAllTimer(4);
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: customersTemplate.number,
					type: 6,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};
				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;

					arrObjFilter = {
						displayStyle: customersTemplate.theme,
						lineNumber: customersTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};
					this.setData({
						customersList: arrObjFilter,
						customersShow: true
					});

					_ts.initGroupTimer(4);
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let from = {
					page: 1,
					limit: customersTemplate.number,
					type: 4,
					tag: 'home'
				};
				from.merchantId = this.merchant.id;
				req.getRequest('/api/activity/list', from, data => {
					data = data.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;

					arrObjFilter = {
						displayStyle: customersTemplate.theme,
						lineNumber: customersTemplate.lineNumber,
						products: data.filter(ele => ele.end == false)
					};

					_ts.setData({
						customersList: arrObjFilter,
						customersShow: true
					});

					_ts.initGroupTimer(4);
				});
			}
		},
		getSupRecommendList() {
			return new Promise((resolve, reject) => {
				req.getRequest('/api/supplier/recommend', {}, res => {
					if (res && res.length > 0) {
						this.supRecommendList = res;
						this.supRecommendShow = true;
					}
				});
			});
		},

		// 获取专题
		getSpecialList(special) {
			let that = this;
			let form = {
				page: 1,
				limit: special.number
			};
			req.getRequest('/api/special/list', form, data => {
				if (data) {
					that.setData({
						specialList: data
					});
				}
			});
		},

		getUrl2(e) {
			// 2 普通产品详情  4社区团购产品详情   5优惠券列表  6直播列表  7社区团购列表 9分类列表 10直播间 11拼团列表  12秒杀列表 13砍价列表 14新客列表 15新客详情 16秒杀详情 17砍价详情 18 拼团详情
			var dt = e.currentTarget.dataset;
			var url = '';
			var id = '';
			var acid = '';

			if (dt.content != '') {
				let conunt = dt.content.split('_');
				id = conunt[1];
				acid = conunt[0];
			}

			if (dt.type * 1 == 2 && dt.content != '') {
				url = 'product/detail/detail?id=' + dt.content;
			} else if (dt.type * 1 == 4) {
				url = 'product/groupDetail/groupDetail?acid=' + acid + '&id=' + id;
			} else if (dt.type * 1 == 5) {
				url = 'product/coupon/coupon';
			} else if (dt.type * 1 == 6) {
				url = 'pages/live/live';
			} else if (dt.type * 1 == 7) {
				url = 'product/groupList/groupList' + dt.merchant;
			} else if (dt.type * 1 == 9 && dt.content != '') {
				url = 'product/list/list?id=' + dt.content;
			} else if (dt.type * 1 == 10) {
				url = 'plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=' + dt.content;
				// console.log(
				// 	url); // url=`plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=${dt.content}`
			} else if (dt.type * 1 == 11) {
				url = 'activity/group/index/index' + dt.merchant;
			} else if (dt.type * 1 == 12) {
				url = 'activity/seckill/seckill' + dt.merchant;
			} else if (dt.type * 1 == 13) {
				url = 'activity/bargain/index/index' + dt.merchant;
			} else if (dt.type * 1 == 14) {
				url = 'activity/newbornZone/newbornZone' + dt.merchant;
			} else if (dt.type * 1 == 15 && dt.content != '') {
				url = 'activity/newbornDetails/newbornDetails?acid=' + acid + '&id=' + id;
			} else if (dt.type * 1 == 16 && dt.content != '') {
				url = 'activity/seckillDetails/seckillDetails?acid=' + acid + '&id=' + id;
			} else if (dt.type * 1 == 17 && dt.content != '') {
				url = 'activity/bargain/detail/detail?acid=' + acid + '&id=' + id;
			} else if (dt.type * 1 == 18 && dt.content != '') {
				url = 'activity/group/detail/detail?acid=' + acid + '&id=' + id;
			} else {
				url = '';
			}

			if (dt.type * 1 == 6) app.globalData.switchTab(url);
			else app.globalData.openPage(url);
			this.hideAd();
		},

		//获取首页模板配置
		getHomeTemplateConfig() {
			let _ts = this;
			let page = 'index';
			//荣康模板配置、小店产品==门店产品
			// if (this.merchant && this.merchant.type == 5 || this.shopId && this.merchantId) page = 'shopIndex'
			req.getRequest(
				'/api/template/getTemplate',
				{
					page: page
				},
				data => {
					let arr = [];
					data.forEach(it => {
						arr.push(it.module);
					});
					this.setData({
						contact: [...new Set(arr)],
						contactShow: false
					});
					if (this.contact.indexOf('sou') != -1 && this.contact.indexOf('store_options') != -1) {
						this.top = false;
					} else {
						this.top = true;
					}
					if (this.contact.indexOf('sou') != -1 && this.contact.indexOf('type_district') != -1) {
						this.top_type = false;
					} else {
						this.top_type = true;
					}

					console.log(this.contact.indexOf('sou') != -1, this.contact.indexOf('store_options') != -1, this.contact.indexOf('type_district') != -1, this.top);
					console.log(this.contact);
					this.setData({
						homeTemplate: data
					});

					this.getRqeDatas();
				}
			);
		},

		//社区团购商品
		loadGroup(groupTemplate) {
			let _ts = this;

			_ts.clearAllTimer(1);

			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: groupTemplate.number,
					type: 2,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};
				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: groupTemplate.theme,
						lineNumber: groupTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};
					this.setData({
						activityGroup: arrObjFilter,
						activityGroupShow: true
					});

					_ts.initGroupTimer(1);
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let from = {
					page: 1,
					limit: groupTemplate.number,
					type: 1,
					tag: 'home'
				};
				from.merchantId = this.merchant.id;
				req.getRequest('/api/activity/list', from, data => {
					data = data.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					data = {
						displayStyle: groupTemplate.theme,
						lineNumber: groupTemplate.lineNumber,
						products: data
					};

					_ts.setData({
						activityGroup: data,
						activityGroupShow: true
					});

					_ts.initGroupTimer(1);
				});
			}
		},

		//拼团商品
		joingroupListFun(joingroupTemplate) {
			let _ts = this;

			_ts.clearAllTimer(2);

			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: joingroupTemplate.number,
					type: 4,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};
				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: joingroupTemplate.theme,
						lineNumber: joingroupTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};
					this.setData({
						joingroupList: arrObjFilter,
						joingroupShow: true
					});

					_ts.initGroupTimer(2);
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let from = {
					page: 1,
					limit: joingroupTemplate.number,
					type: 3,
					dayType: 1,
					tag: 'home'
				};
				from.merchantId = this.merchant.id;
				req.getRequest('/api/activity/listNew', from, data => {
					data = data.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: joingroupTemplate.theme,
						lineNumber: joingroupTemplate.lineNumber,
						products: data.filter(ele => ele.end == false)
					};
					_ts.setData({
						joingroupList: arrObjFilter,
						joingroupShow: true
					});

					_ts.initGroupTimer(2);
				});
			}
		},

		//砍价
		bargainListFun(bargainTemplate) {
			let _ts = this;

			_ts.clearAllTimer(3);

			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: bargainTemplate.number,
					type: 7,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};
				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: bargainTemplate.theme,
						lineNumber: bargainTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};
					this.setData({
						bargainList: arrObjFilter,
						bargainShow: true
					});

					_ts.initGroupTimer(3);
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let from = {
					page: 1,
					limit: bargainTemplate.number,
					type: 5,
					tag: 'home'
				};
				from.merchantId = this.merchant.id;
				req.getRequest('/api/activity/listNew', from, data => {
					data = data.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: bargainTemplate.theme,
						lineNumber: bargainTemplate.lineNumber,
						products: data.filter(ele => ele.end == false)
					};

					_ts.setData({
						bargainList: arrObjFilter,
						bargainShow: true
					});

					_ts.initGroupTimer(3);
				});
			}
		},

		//秒杀商品
		seckillListFun(seckillTemplate) {
			let _ts = this;
			_ts.clearAllTimer(5);

			//获取小店推荐的产品
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: seckillTemplate.number,
					type: 3,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};
				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.list.map(it => {
						it.isRemind = it.remindId;
						return it;
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: seckillTemplate.theme,
						lineNumber: seckillTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};
					this.setData({
						seckillList: arrObjFilter,
						seckillShow: true
					});
					_ts.initGroupTimer(5);
				});
			}

			//获取门店推荐的产品
			if (this.merchant && this.merchant.type != 5) {
				let from = {
					page: 1,
					limit: seckillTemplate.number,
					type: 2,
					tag: 'home'
				};
				from.merchantId = this.merchant.id;
				req.getRequest('/api/activity/list', from, res => {
					res = res.map(it => {
						it.num = (it.sellStock / it.quantity) * 100;
						it.isRemind = it.remindId;
						return it;
					});
					res.sort(function(a, b) {
						return Date.parse(a.startTime) - Date.parse(b.startTime);
					});
					let arrObjFilter;
					arrObjFilter = {
						displayStyle: seckillTemplate.theme,
						lineNumber: seckillTemplate.lineNumber,
						products: res.filter(ele => ele.end == false)
					};

					_ts.setData({
						seckillList: arrObjFilter,
						seckillShow: true
					});
					_ts.initGroupTimer(5);
				});
			}
		},

		getConfig() {
			var _this = this;
			return new Promise((res, rej) => {
				req.g(
					'/api/config',
					data => {
						req.setStorage('configRes', JSON.stringify(data));
						this.about = data;
						if (!data.Index_Store_Confirm || data.Index_Store_Confirm == 0) {
							_this.setData({
								switchStoreShow: false,
								storeShow: false
							});
						} else {
							_this.setData({
								switchStoreShow: true
							});
						}
						// console.log(data.Index_Store_Confirm, "====", !data.Index_Store_Confirm, typeof(res
						// .Index_Store_Confirm))
						uni.setNavigationBarTitle({
							// title: res['CONFIG_PROJECT_TITLE'],
							title: data['CONFIG_PROJECT_TITLE']
						});
						// console.log(data.Is_Store_Price_Stock);

						if (data.Is_Store_Price_Stock) {
							this.Is_Store_Price_Stock = data.Is_Store_Price_Stock;
						}

						this.setData({
							Is_Store_Price_Stock: data.Is_Store_Price_Stock
						});

						if (data.b2c_service_guarantee && data.b2c_service_guarantee != null) {
							this.setData({
								guarantee: data.b2c_service_guarantee.split(';').filter(it => {
									return (it = it && it.trim());
								})
							});
						}

						req.setStorage('appName', data['CONFIG_PROJECT_TITLE']);
						req.setStorage('productDiy', data['Product_Foot-Diy']);
						res(data);
					},
					true
				);
			});
		},

		//1为社区团购，2为拼团,3为砍价
		initGroupTimer(type) {
			//社区拼图定时器
			let _ts = this;

			let list = [];
			if (type == 1) list = this.activityGroup.products;
			else if (type == 2) list = this.joingroupList.products;
			else if (type == 3) list = this.bargainList.products;
			else if (type == 4) list = this.customersList.products;
			else if (type == 5) list = this.seckillList.products;

			if (list && list.length > 0) {
				// let activityGroup = this.data.activityGroup;
				for (let i = 0, len = list.length; i < len; i++) {
					let group = list[i];
					let nowTime = new Date(group.nowTime.replace(/-/g, '/')).getTime();
					let startTime = new Date(group.startTime.replace(/-/g, '/')).getTime();
					let endTime = new Date(group.endTime.replace(/-/g, '/')).getTime();
					if (!group.start) endTime = startTime;
					let times = parseInt((endTime - nowTime) / 1000);
					let timer = setInterval(() => {
						times--;
						let data = {};

						if (times === 0) {
							//重新加载列表
							if (type == 1) data['activityGroup.products[' + i + '].end'] = true;
							else if (type == 2) data['joingroupList.products[' + i + '].end'] = true;
							else if (type == 3) data['bargainList.products[' + i + '].end'] = true;
							else if (type == 4) data['customersList.products[' + i + '].end'] = true;
							else if (type == 5) data['seckillList.products[' + i + '].end'] = true;
							clearInterval(timer);
						} else {
							let n = utils.formatDayTimes(times);
							if (type == 1) data['activityGroup.products[' + i + '].times'] = n;
							else if (type == 2) data['joingroupList.products[' + i + '].times'] = n;
							else if (type == 3) data['bargainList.products[' + i + '].times'] = n.split(/:|天/g);
							else if (type == 4) data['customersList.products[' + i + '].times'] = n;
							else if (type == 5) data['seckillList.products[' + i + '].times'] = n;
						}

						_ts.setData(data);
					}, 1000);
					if (type == 1) this.activityGroup.products[i]['timer'] = timer;
					else if (type == 2) this.joingroupList.products[i]['timer'] = timer;
					else if (type == 3) this.bargainList.products[i]['timer'] = timer;
					else if (type == 4) this.customersList.products[i]['timer'] = timer;
					// let fs = [];
					else if (type == 5) this.seckillList.products[i]['timer'] = timer;
					// fs['activityGroup[' + i + '].timer'] = timer;
					// _ts.setData(fs);
				}
			}
		},

		/**
		 * 轮播切换
		 */
		// swiperChange({
		// 	detail
		// }) {
		// 	// if (detail.source !== "touch") return;
		// 	if (this.current == 0 && this.swiperCurrent > 1) {
		// 		//卡死时，重置current为正确索引
		// 		this.setData({
		// 			current: this.swiperCurrent
		// 		});
		// 	} else {
		// 		//正常轮转时，记录正确页码索引
		// 		this.setData({
		// 			swiperCurrent: detail.current
		// 		});
		// 	} // this.setData({
		// 	//   swiperCurrent: detail.current
		// 	// })

		// },

		/**
		 *  轮播dots点击轮播
		 */
		// dotEvent(e) {
		// 	this.setData({
		// 		current: e.currentTarget.dataset.current
		// 	});
		// },

		search() {
			// app.openPage('pages/search/search')
			app.globalData.openPage('pages/search/search?merchantId=' + this.merchant.id);
		},

		merchantFun() {
			app.globalData.openPage('pages/nearby/nearby');
		},

		saoma() {
			var _this = this; // 允许从相机和相册扫码

			uni.scanCode({
				success: res => {
					uni.navigateTo({
						url: '/' + res.path
					}); // this.scene = '1290926887903780865';

					this.loadCodeParams();
				}
			});
		},

		update(content) {
			var that = this;
			var animation = uni.createAnimation(); // 旧消息向上平移

			animation.translateY(-50).step({
				duration: 1000,
				timingFunction: 'ease-in'
			}); // 为了实现下一条新内容向上平移的效果，必须把内容很快平移到下方，并且不能被用户看见，这里其原理类似轮播图的思路。
			// 实现方法：动画时间设置为1ms，过渡效果设置为’动画第一帧就跳至结束状态直到结束‘

			animation
				.opacity(0)
				.translateY(50)
				.step({
					duration: 1000,
					timingFunction: 'step-start'
				}); // 新消息向上平移的同时恢复透明

			animation
				.opacity(1)
				.translateY(0)
				.step({
					duration: 1000,
					timingFunction: 'ease-out'
				});
			that.setData({
				animationData: animation.export()
			}); // 更新内容的延时必须大于第一步动画时间

			setTimeout(() => {
				that.setData({
					content: content
				});
			}, 500000);
		},

		getListInfo() {
			if (this.listI >= this.contentList.length - 1) {
				this.listI = -1;
				this.getListInfo();
			} else {
				this.listI++;
			}

			return this.contentList[this.listI];
		},

		loadCodeParams() {
			let _ts = this;

			return new Promise((resolve, reject) => {
				if (!_ts.scene) {
					resolve();
					return false;
				}

				req.getRequest(
					'/api/code/params',
					{
						scene: _ts.scene
					},
					data => {
						req.setStorage('pidCode', data.userId);
						resolve();
					}
				);
			});
		},

		getBannerList(module, contentId) {
			//banner图
			let that = this;
			req.getRequest(
				'/api/banner',
				{
					groupId: contentId
				},
				data => {
					if (module == that.templateType.module_ad) {
						that.setData({
							bannerList: data,
							bannerShow: true
						});
					} else {
						that.setData({
							popAdList: data[0]
						});
					}
				}
			);
		},

		getCategory() {
			//产品分类
			let that = this;
			// if (this.districtTemplate) {

			// } else {
			req.getRequest(
				'/api/category/list',
				{
					pid: 0
				},
				res => {
					res = res.map((it, index) => {
						it.index = index;
						return it;
					});
					let newList = this.group(res, 8);
					let data = newList; // .filter(it => it.length >= 8)

					// console.log(newList, data, data.length);

					if (data && data.length > 0 && data[0].length <= 4) {
						this.setData({
							swiperHeight: '100px'
						});
					} else {
						this.setData({
							swiperHeight: '200px'
						});
					}

					that.setData({
						categoryList: data
					});
				}
			);
			// }
		},

		getCoupon() {
			return new Promise((resolve,reject)=>{
				req.getRequest('/api/coupon/list', { page: 1, limit: 3 }, res => {
					this.couponList = res;
					resolve();
				})
			})
		},
		toCoupon() {
			req.isLogin().then(success => {
				if (success) {
					app.globalData.openPage('product/coupon/coupon');
				}
			});
		},

		recieveCoupon(e) {
			let index = e.currentTarget.dataset.index;
			const coupon = this.couponList[index];

			if (coupon.userReceive > -1 && coupon.userCount >= coupon.userReceive) {
				return req.msg('超出优惠券领取限制，无法领取');
			}

			let _ts = this;

			req.postRequest(
				'/api/coupon/receive',
				{
					id: coupon.id
				},
				res => {
					req.msg('领取成功', () => {
						this.getCoupon();
					});
				}
			);
		},

		getsupplierList(supplierTemplate) {
			let form = {
				page: 1,
				limit: supplierTemplate.number,
				merchantId: this.merchant.id,
				supplier: supplierTemplate.contentId
			}; // form.supplier="1351512705560240130"

			req.getRequest('/api/product/list', form, res => {
				res = res.map(it => {
					if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
					return it;
				});
				res = {
					displayStyle: supplierTemplate.theme,
					lineNumber: supplierTemplate.lineNumber,
					products: res
				};
				this.setData({
					supplierList: res,
					supplierShow: true
				});
			});
		},

		getBoutiqueList(boutiqueTemplate) {
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: boutiqueTemplate.number,
					type: 1,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id,
					attr: 'boutique'
				};

				if (boutiqueTemplate.content != '') {
					from.contentId = boutiqueTemplate.contentId;
				}

				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: boutiqueTemplate.theme,
						lineNumber: boutiqueTemplate.lineNumber,
						products: res
					};
					this.setData({
						boutiqueList: res,
						boutiqueShow: true
					});
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let form = {
					page: 1,
					limit: boutiqueTemplate.number,
					attr: 'boutique',
					merchantId: this.merchant.id
				};

				if (boutiqueTemplate.content != '') {
					form.contentId = boutiqueTemplate.contentId;
				}

				req.getRequest('/api/product/list', form, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: boutiqueTemplate.theme,
						lineNumber: boutiqueTemplate.lineNumber,
						products: res
					};
					this.setData({
						boutiqueList: res,
						boutiqueShow: true
					});
				});
			}
		},
		// 新品上架
		getArrivalsList(arrivalsTemplate) {
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: arrivalsTemplate.number,
					type: 1,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id,
					attr: 'news'
				};

				if (arrivalsTemplate.content != '') {
					from.contentId = arrivalsTemplate.contentId;
				}

				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: arrivalsTemplate.theme,
						lineNumber: arrivalsTemplate.lineNumber,
						products: res
					};
					this.setData({
						arrivalsList: res,
						arrivalsShow: true
					});
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let form = {
					page: 1,
					limit: arrivalsTemplate.number,
					attr: 'news',
					merchantId: this.merchant.id
				};

				if (arrivalsTemplate.content != '') {
					form.contentId = arrivalsTemplate.contentId;
				}

				req.getRequest('/api/product/list', form, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: arrivalsTemplate.theme,
						lineNumber: arrivalsTemplate.lineNumber,
						products: res
					};
					this.setData({
						arrivalsList: res,
						arrivalsShow: true
					});
				});
			}
		},
		// 热门爆款
		getHotList(hotTemplate) {
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: this.page,
					limit: hotTemplate.number,
					type: 1,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id,
					attr: 'sell_well'
				};

				if (hotTemplate.content != '') {
					from.contentId = hotTemplate.contentId;
				}

				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: hotTemplate.theme,
						lineNumber: hotTemplate.lineNumber,
						products: res
					};
					this.setData({
						hotList: res,
						hotShow: true
					});
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let form = {
					page: 1,
					limit: hotTemplate.number,
					attr: 'sell_well',
					merchantId: this.merchant.id
				};

				if (hotTemplate.content != '') {
					form.contentId = hotTemplate.contentId;
				}

				req.getRequest('/api/product/list', form, res => {
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: hotTemplate.theme,
						lineNumber: hotTemplate.lineNumber,
						products: res
					};
					this.setData({
						hotList: res,
						hotShow: true
					});
				});
			}
		},

		getPageList() {
			//Recommend
			// console.log(this.isLoad); // if (!this.data.isLoad) return false;
			// this.data.isLoad = false;

			let that = this;
			console.log('门店' + this.merchantId);
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: that.page,
					limit: that.recommendTemplate.number,
					type: 1,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id,
					attr: 'Recommend'
				};

				if (that.recommendTemplate.content != '') {
					from.contentId = that.recommendTemplate.contentId;
				}

				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, data => {
					if (data && data.length >= 10) that.isLoad = true;
					if (that.page > 1) data = that.pageList.concat(data);
					// console.log(data);
					data = data.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					data = {
						displayStyle: that.recommendTemplate.theme,
						lineNumber: that.recommendTemplate.lineNumber,
						products: data
					};
					that.setData({
						pageList: data,
						hasmore: data && data.length > 0,
						recommendShow: true
					});
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let form = {
					page: that.page,
					limit: that.recommendTemplate.number,
					attr: 'Recommend',
					merchantId: this.merchant.id
				};

				if (that.recommendTemplate.content != '') {
					form.contentId = that.recommendTemplate.contentId;
				}

				req.getRequest('/api/product/list', form, res => {
					if (res && res.length >= 10) that.isLoad = true;
					if (that.page > 1) res = that.pageList.concat(res);
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: that.recommendTemplate.theme,
						lineNumber: that.recommendTemplate.lineNumber,
						products: res
					};
					that.setData({
						pageList: res,
						hasmore: res && res.length > 0,
						recommendShow: true
					});
				});
			}
		},
		getSinglePageList() {
			//Recommend
			// console.log(this.isLoad); // if (!this.data.isLoad) return false;
			// this.data.isLoad = false;
			let that = this;
			console.log('门店' + this.merchantId);
			if ((this.merchant && this.merchant.type == 5) || (this.shopId && this.merchantId)) {
				let from = {
					page: that.singlePage,
					limit: that.singleTemplate.number,
					type: 1,
					merchantId: this.merchant.merchantDTO.id,
					sid: this.merchant.id
				};

				if (that.singleTemplate.content != '') {
					from.contentId = that.singleTemplate.contentId;
					delete from.attr;
				} else {
					from.attr = 'Recommend';
				}

				if (this.shopId && this.merchantId) (from.merchantId = this.merchantId), (from.sid = this.shopId);
				req.getRequest('/api/shopProduct/list', from, data => {
					if (data && data.length >= 10) that.isLoadSingle = true;
					if (that.singlePage > 1) data = that.singleList.concat(data);
					// console.log(data);
					data = data.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					data = {
						displayStyle: that.singleTemplate.theme,
						lineNumber: that.singleTemplate.lineNumber,
						products: data
					};
					that.setData({
						singleList: data,
						hasmoreSingle: data && data.length > 0,
						singleShow: true
					});
				});
			}

			if (this.merchant && this.merchant.type != 5) {
				let form = {
					page: that.singlePage,
					limit: that.singleTemplate.number,
					merchantId: this.merchant.id
				};

				if (that.singleTemplate.content != '') {
					form.contentId = that.singleTemplate.contentId;
					delete form.attr;
				} else {
					form.attr = 'Recommend';
				}

				req.getRequest('/api/product/list', form, res => {
					if (res && res.length >= 10) that.isLoadSingle = true;
					if (that.singlePage > 1) res = that.singleList.concat(res);
					res = res.map(it => {
						if (it.deliverWay && JSON.parse(it.deliverWay).indexOf(3) != -1) it.isJs = true;
						return it;
					});
					res = {
						displayStyle: that.singleTemplate.theme,
						lineNumber: that.singleTemplate.lineNumber,
						products: res
					};
					that.setData({
						singleList: res,
						hasmoreSingle: res && res.length > 0,
						singleShow: true
					});
				});
			}
		},

		toDetail(e) {
			let id = e.currentTarget.dataset.id;
			let url = e.currentTarget.dataset.url;
			app.globalData.openPage('product/detail/detail?id=' + id + url); // app.openPage("product/detail/detail?id=" + id)
		},

		// 新客列表
		tocustomersList(event) {
			const index = event.currentTarget.dataset.index;
			const activity = this.customersList.products[index];
			const url = event.currentTarget.dataset.url;
			app.globalData.openPage('activity/newbornDetails/newbornDetails?acid=' + activity.id + '&id=' + activity.productId + url); // app.openPage('activity/newbornDetails/newbornDetails?acid=' + activity.id + "&id=" + activity.productId);
		},

		addShopCart(e) {
			let state = e.currentTarget.dataset.state;
			let skuId = e.currentTarget.dataset.skuid;
			let id = e.currentTarget.dataset.id;

			let _ts = this;

			let params = {
				skuId: skuId,
				quantity: 1,
				merchantId: this.merchant.id,
				productId: id
			}; // if(state!=1){
			//   return req.msg('您来晚了，商品已经下架')
			// }

			req.postRequest('/api/purchase/cart', params, res => {
				_ts.setData({
					isUpdate: !_ts.isUpdate
				});

				req.msg('加入购物车成功');
			});
		},

		toGroupRemind(event) {
			const index = event.currentTarget.dataset.index;
			const activity = this.activityGroup.products[index];
			const url = event.currentTarget.dataset.url;
			app.globalData.openPage('product/groupDetail/groupDetail?acid=' + activity.id + '&id=' + activity.productId + url); // app.openPage('product/groupDetail/groupDetail?acid=' + activity.id + "&id=" + activity.productId);
		},

		toSeckillList(event) {
			const index = event.currentTarget.dataset.index;
			const activity = this.seckillList[index];
			const url = event.currentTarget.dataset.url;
			app.globalData.openPage('activity/seckillDetails/seckillDetails?acid=' + activity.id + '&id=' + activity.productId + url); // app.openPage('activity/seckillDetails/seckillDetails?acid=' + activity.id + "&id=" + activity.productId);
		},

		addActivityRemind(event) {
			const index = event.currentTarget.dataset.index;
			const id = event.currentTarget.dataset.id;
			const type = event.currentTarget.dataset.type; // if(req.getStorage('userInfo')){

			// }

			req.postRequest(
				'/api/activity/remind',
				{
					activityId: id
				},
				res => {
					mes.remind().then(res => res);
					// mes.remind().then(res=>res)
					// mes.requsetmessage()
					req.msg('订阅提醒成功');
					let data = {};
					if (type == 1) data['activityGroup.products[' + index + '].isRemind'] = true;
					else if (type == 2) data['joingroupList.products[' + index + '].isRemind'] = true;
					else if (type == 3) data['seckillList.products[' + index + '].isRemind'] = true;
					else if (type == 4) data['bargainList.products[' + index + '].isRemind'] = true;
					else if (type == 5) data['customersList.products[' + index + '].isRemind'] = true;
					this.setData(data);
				}
			);
		},
		// 九宫格
		// dotGrid(e) {
		// 	if (!this.districtTemplate) {
		// 		if (this.categoryList[e.currentTarget.dataset.current].length <= 4) {
		// 			this.setData({
		// 				swiperHeight: '100px'
		// 			})
		// 		} else {
		// 			this.setData({
		// 				swiperHeight: '200px'
		// 			})
		// 		}
		// 	} else {
		// 		if (that.districtTemplate.content.lines == 2) {
		// 			if (that.districtTemplate.lineNumber == 3) {
		// 				if (that.swiperHeight, that.districtTemplate.content.selectDataKingLength[e.currentTarget.dataset.current].flat(
		// 						Infinity).length <= 3) {
		// 					that.setData({
		// 						swiperHeight: '120px'
		// 					})
		// 				} else {
		// 					that.setData({
		// 						swiperHeight: '216px'
		// 					})
		// 				}
		// 			}
		// 			if (that.districtTemplate.lineNumber == 4) {
		// 				if (that.swiperHeight, that.districtTemplate.content.selectDataKingLength[e.currentTarget.dataset.current].flat(
		// 						Infinity).length <= 4) {
		// 					that.setData({
		// 						swiperHeight: '100px'
		// 					})
		// 				} else {
		// 					that.setData({
		// 						swiperHeight: '200px'
		// 					})
		// 				}
		// 			}
		// 		}
		// 	}

		// 	this.setData({
		// 		swiperGrid: e.currentTarget.dataset.current
		// 	});
		// },

		group(array, subGroupLength) {
			let index = 0;
			let newArray = [];

			while (index < array.length) {
				newArray.push(array.slice(index, (index += subGroupLength)));
			}

			return newArray;
		},

		cancelActivityRemind(event) {
			const index = event.currentTarget.dataset.index;
			const id = event.currentTarget.dataset.id;
			const type = event.currentTarget.dataset.type;
			if (req.header.appId == 'ZQ1VK5oc17I387E') {
			} else {
				req.postRequest(
					'/api/activity/cancel/remind',
					{
						id: id
					},
					res => {
						req.msg('取消提醒成功');
						let data = {};
						if (type == 1) data['activityGroup.products[' + index + '].isRemind'] = false;
						else if (type == 2) data['joingroupList.products[' + index + '].isRemind'] = false;
						else if (type == 3) data['seckillList.products[' + index + '].isRemind'] = false;
						else if (type == 4) data['bargainList.products[' + index + '].isRemind'] = false;
						else if (type == 5) data['customersList.products[' + index + '].isRemind'] = false;
						this.setData(data);
					}
				);
			}
		},

		clearAllTimer(type) {
			// console.log(this.activityGroup, this.joingroupList, this.bargainList, this.customersList);

			if (type == 1) {
				this.activityGroup.products.forEach(it => clearInterval(it.timer));
				this.activityGroup.products.forEach(it => clearInterval(it.times));
			} else if (type == 2) {
				this.joingroupList.products.forEach(it => clearInterval(it.timer));
				this.joingroupList.products.forEach(it => clearInterval(it.times));
			} else if (type == 3) {
				this.bargainList.products.forEach(it => clearInterval(it.timer));
				this.bargainList.products.forEach(it => clearInterval(it.times));
			} else if (type == 4) {
				this.customersList.products.forEach(it => clearInterval(it.timer));
				this.customersList.products.forEach(it => clearInterval(it.times));
			} else if (type == 5) {
				this.seckillList.products.forEach(it => clearInterval(it.timer));
				this.seckillList.products.forEach(it => clearInterval(it.times));
			}
		},

		hideGuide() {
			//关闭提示加入我的小程序
			this.setData({
				first: false
			});
			req.setStorage('first', false);
		},

		hideAd() {
			//关闭广告
			// if(this.data.first==false){
			this.setData({
				isLayerAd: false
			}); // }
			app.globalData.isLayerAd = false;
		},
		click(e) {
			// console.log(e)
			this.storeShow = e;
		},

		goUrl(event) {
			//跳转链接
			let url = event.currentTarget.dataset.url;
			app.globalData.openPage(url);
		},
	},
	mounted() {
		const systemInfo = uni.getSystemInfoSync();
		// px转换到rpx的比例
		let pxToRpxScale = 750 / systemInfo.windowWidth;
		let systems = {
			ktxStatusHeight: systemInfo.statusBarHeight * pxToRpxScale, // 状态栏的高度
			navigationHeight: 44 * pxToRpxScale // 导航栏的高度
		};
		systems.barHeight = systems.ktxStatusHeight + systems.navigationHeight;
		this.systems = systems;
	}
};
</script>
<style>
@import './index.css';
</style>
