<template>
	<view class="page">
		<!-- <view class="swiper-bg">
			<uni-search-bar @confirm="search" :focus="true" v-model="searchValue" placeholder="请输入商品关键字" 
			bg-color="#FFFFFF" @cancel="cancel" @clear="clear">
			</uni-search-bar>
		</view> -->
		<!-- 商品列表 -->
		<view class="f-list">
			<view class="guess-section" v-if="goodsList.length>0">
				<view 
					v-for="(item, index) in goodsList" :key="index"
					class="guess-item"
					@click="navToList(item.id)"
				>
					<view class="image-wrapper imgload">
						<image :src="item.img" mode="aspectFill" lazy-load></image>
					</view>
					
					<view class="cnt">
						<view class="title">{{item.name}}</view>
						<view class="price">
							<text class="txt">￥</text>
							<text class="tint">{{item.int}}</text>
							<text class="tint">{{item.decimal}} / </text>
							<text class="txtt"> 天</text>
						</view>
					</view>
					 
					
				</view>
			</view>
			<view v-else class="skcon">
				<image v-if="loadStatus=='noMore'" class="skimg" src="@/static/image/nocollect.png" mode="aspectFill" ></image>
			</view>
			<uni-load-more v-if="loadStatus!=='noMore' || goodsList.length>0"   iconType="circle" :status="loadStatus" :content-text="contentText" />
		</view>
		
		<!-- 是否登录 -->
		<openlogin ref="loginId" @getPhoneNumber="getPhoneNumber"></openlogin>
		
		<!-- service 客服-->
		<service ref="serviceId" @goservice="goservice"></service>
		
		<!-- top 返回顶部-->
		<top ref="topId"></top>
		
	</view>
</template>

<script>
	import { myCache,getRemoteFile } from '../../utils/utils.js';
	import openlogin from "../components/openlogin.vue";
	import top from "../components/top.vue";
	import service from "../components/service.vue";
	export default {
		components: {
		  openlogin,top,service
		},
		data() {
			return {
				openId:"",
				phone:"",
				customer_id:"",
				searchValue:"",
				contentText: {
					contentdown: '查看更多',
					contentrefresh: '加载中',
					contentnomore: ''
				},
				goodsListall: [
				],
				goodsList: [
				],
				loadStatus:'more',
				page: {
					pageNum: 1,
					pageSize: 10
				}
			};
		},
		onLoad() {
			this.openId = myCache('openId');
			this.phone = myCache('phone');
			this.customer_id = myCache('customer_id');
			if(this.customer_id==""||this.customer_id=="0"){
				this.$refs.loginId.open();
			}
			this.loadStatus="loading";
			setTimeout(() => {
				this.loadStatus='noMore';
			}, 300);
			this.getList();
		},
		onPullDownRefresh() {
			setTimeout(()=>{
				uni.stopPullDownRefresh()
			},500);
		},
		// onReachBottom() {
		// 	console.log('onReachBottom');
		// 	 this.loadData();
		// },
		onShareAppMessage: function(options){
			// 设置菜单中的转发按钮触发转发事件时的转发内容
			var shareObj = {
				title: "飞租客 全品类数码租赁平台 二手/租赁-消费品租赁-其他租赁", // 默认是小程序的名称(可以写slogan等)
				path: `/pages/index/index`,    // 默认是当前页面，必须是以‘/'开头的完整路径
				imageUrl: '/static/image/logo.png',  //自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径，支持PNG及JPG，不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
				success: function(res){
					console.log("success",res)
					// 转发成功之后的回调
					if(res.errMsg == 'shareAppMessage:ok'){
						console.log("转发成功")
					}
				},
				fail: function(res){
					// 转发失败之后的回调
					if(res.errMsg == 'shareAppMessage:fail cancel'){
						// 用户取消转发
						console.log("用户取消转发")
					}
					else if(res.errMsg == 'shareAppMessage:fail'){
						// 转发失败，其中 detail message 为详细失败信息
						console.log("转发失败")
					}
				}
			};
		    return shareObj;
		},
		// 自定义页面的分享到朋友圈
		onShareTimeline(res) {
			// 设置菜单中的转发按钮触发转发事件时的转发内容
			var shareObj = {
			  title: "飞租客 全品类数码租赁平台 二手/租赁-消费品租赁-其他租赁", // 默认是小程序的名称(可以写slogan等)
			  path: `/pages/index/index`,    // 默认是当前页面，必须是以‘/'开头的完整路径
			  imageUrl: '/static/image/logo.png',  //自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径，支持PNG及JPG，不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
			  success: function(res){
				console.log("success",res)
			    // 转发成功之后的回调
			    if(res.errMsg == 'shareAppMessage:ok'){
					console.log("转发成功")
			    }
			  },
			  fail: function(){
			    // 转发失败之后的回调
			    if(res.errMsg == 'shareAppMessage:fail cancel'){
			      // 用户取消转发
				  console.log("用户取消转发")
			    }
				else if(res.errMsg == 'shareAppMessage:fail'){
			      // 转发失败，其中 detail message 为详细失败信息
				  console.log("转发失败")
			    }
			  }
			};
			return shareObj;
		},
		onPageScroll(e) {
			//调用子组件方法
			this.$refs.topId.topData(e.scrollTop);
		},
		methods: {
			goservice(val){
				console.log(val);
			},
			search(res) {
				// uni.showToast({
				// 	title: '搜索：' + res.value,
				// 	icon: 'none'
				// })
				this.searDo();
			},
			clear(res) {
				// uni.showToast({
				// 	title: 'clear事件，清除值为：' + res.value,
				// 	icon: 'none'
				// })
				this.searDo();
			},
			cancel(res) {
				// uni.showToast({
				// 	title: '点击取消，输入值为：' + res.value,
				// 	icon: 'none'
				// })
				this.searDo();
			},
			getPhoneNumber(e){
				if(e.customer_id){
					this.customer_id = e.customer_id
				}
				this.getmember();
			},
			async getList() {
				// console.log('customer_id2',this.customer_id)
				uni.showLoading({
					title: '数据加载中...'
				});
				const {data: res1} = await uni.$http.post('/platform/getFavorites',{buyerId:this.customer_id});
				this.loadStatus="noMore";
				this.contentText.contentnomore="亲，没有商品数据了...";
				if (res1&&res1.prolist) {
					// console.log(res1.prolist)
					// console.log(JSON.parse(res1.prolist));
					var retdata=JSON.parse(res1.prolist);
					if(retdata.count){
						uni.setNavigationBarTitle({
						  title: "我的收藏（"+retdata.count+"）",
						});
					}
					if(retdata.list&&retdata.list.length>0){
						var lists=[];
						retdata.list.forEach((cell)=>{
							// 价格
							var prices=cell.price?cell.price.split(','):[];
							var zqsel=cell.zuqi?parseInt((cell.zuqi.split(','))[0]):6;// 默认6
							var rate=1;
							if(zqsel==6){
								rate=parseFloat(cell.rate6);
							}
							else if(zqsel==9){
								rate=parseFloat(cell.rate9);
							} 
							else if(zqsel==12){
								rate=parseFloat(cell.rate12);
							}
							var price=Math.floor(parseFloat(prices.length>0?prices[0]:0)*rate-(cell.price_lgj?parseFloat(cell.price_lgj):0)).toFixed(0);
							price= (parseFloat(price)/365).toFixed(2);
							if(!price){
								price='0.00'
							}
							const { intPart, decimalPart } = this.splitNumber(price);
							var pics=cell.pics?cell.pics.split(','):[];
							var cells={
								id:cell.id,
								img:pics[0]?getRemoteFile(pics[0]):'',
								name:cell.title,
								int:intPart,
								decimal:'.'+decimalPart,
								sfss:cell.sfss
							};
							lists.push(cells);
						});
						this.goodsList=lists;
						this.goodsListall=lists;
						this.$forceUpdate();
					}
					
				}
			},
			searDo(){
				if(this.searchValue){
					this.goodsList=this.goodsListall.filter((p) => {
						return (p.sfss==1 && p.name && p.name.indexOf(this.searchValue) !== -1);
					});
					this.$forceUpdate();
				}
				else{
					this.goodsList=this.goodsListall;
					this.$forceUpdate();
				}
			},
			loadData(){
				// 加载
				if(this.loadStatus=="more") {
					this.loadStatus="loading";
					setTimeout(() => {
						this.getList();
					}, 300);
				}
			},
			splitNumber(num) {
				var nums=num.split('.');
				const intPart = nums[0]; // 获取整数部分
				const decimalPart = nums[1]; // 获取小数部分
				return { intPart, decimalPart };
			},
			navToList(id){
				uni.navigateTo({
					url: `/pages/product/detail?id=${id}`
				})
			},
			
		}
	}
</script>

<style lang="less" scoped>
	.page {
		padding: 0;
		position: relative;
	}
	
	.skcon{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 100%;
		.skimg{
			width: 338rpx;
			height: 300rpx;
			margin-top: 200rpx;
		}
	}
	.f-list {
		margin: 20rpx 20rpx 20rpx 20rpx;
		padding:20rpx 20rpx 20rpx 20rpx;
		background: #FFF;
		box-shadow:0 1px 3px 2px rgba(0, 0, 0, 0.03),inset 0 30px 15px #f5f5f5;
		border-radius: 20rpx;
		.guess-section{
			display:flex;
			flex-wrap:wrap;
			padding: 0;
			background: #fff;
			.guess-item{
				display:flex;
				flex-direction: row;
				width: 100%;
				padding: 15rpx 0;
				margin-bottom: 15rpx;
				border-bottom: 1rpx solid #eee;
			}
			.cnt{
				display: flex;
				flex: 1;
				flex-direction: column;
				width: 100%;
				position: relative;
			}
			.image-wrapper{
				width: 220rpx;
				height: 220rpx;
				border-radius: 6rpx;
				overflow: hidden;
				margin-right: 20rpx;
				image{
					width: 100%;
					height: 100%;
					opacity: 1;
				}
			}
			.title{
				line-height: 36rpx;
				color: #000000;
				font-size: 28rpx;
				margin-top: 20rpx;
				margin-bottom: 20rpx;
			}
			.price{
				line-height: 1;
				color: #1492e7;
				.txt{
					font-size: 22rpx;
				}
				.tint{
					font-size: 28rpx;
					font-weight: 600;
				}
				.txtt{
					font-size: 20rpx;
					margin-left: 7rpx;
				}
			}
		}
	}
</style>
