<template>
	<view class="postDetail">
		<navbar leftClick @leftClick="leftClick" />

		<view class="swipe">
			<uv-swiper 
			:list="item.details.image &&
			item.details.image.split(',')" 
			indicator 
			height="420rpx"></uv-swiper>
		</view>

		<view class="box">

			<view class="topInfo">
				<view class="title">
					{{ item.details.name }}
				</view>
				<view class="price">
					￥{{ item.details.money }}
				</view>
				<view class="right">
					<view class="money30">
						近30天收益：￥{{ item.dayMoney }}
					</view>
					<view class="phone">
						<view class=""
						@click="getContact"
						v-if="item.details.phonePay != 'Y' || item.isPayPhone">
							联系方式：{{ item.details.phone }}
						</view>
						<view class=""
						v-else>
							联系方式<text @click="getContact">付费查看</text>
						</view>
					</view>
				</view>
			</view>

			<view class="createBy">
				<view class="">
					发布人：{{ item.details.userId }}
				</view>
				<view class="">
					发布时间：{{ $dayjs(item.details.createTime).format('YYYY-MM-DD') }}
				</view>
			</view>


			<view class="controls">
				<contentControls
				:type="1"
				:up="item.isThumbs_up"
				:down="item.isThumbs_down"
				@loadData="getData"
				:detail="item.details"/>
			</view>


			<view class="content">
				<uv-parse :content="item.details.photographerContent"></uv-parse>
			</view>
			
			<view class="works">
				<view class="item" 
				v-for="(t, index) in item.details.isImage && item.details.isImage.split(',')"
				:key="index">
					<view class="item-image">
						<video :src="t" object-fit="fill"/>
					</view>
				</view>
			</view>
		</view>

	</view>
</template>

<script>
	import contentControls from '@/components/content/contentControls.vue'
	export default {
		components : {
			contentControls
		},
		data() {
			return {
				item: {
					details : {}
				},
				list : [],
				queryParams: {
					pageNo: 1,
					pageSize: 10
				},
				total : 0,
				id : 0,
			}
		},
		onLoad(options) {
			// this.$route.query的参数
			console.log(options)
			this.id = options.id
		},
		onShareAppMessage(res) {
		    return {
		      title: this.item.details.title,
		      desc: this.item.details.content && this.item.details.content.slice(0, 30),
		      path: '/pages/publish/postDetail?id=' + this.id
		    }
		},
		onShow() {
			this.getData()
		},
		//滚动到屏幕底部
		onReachBottom() {
			
		},
		onPullDownRefresh(){
			this.getData()
		},
		methods: {
			leftClick(){
				uni.navigateBack(-1)
			},
			getData(){
				this.$api('indexGetActorDetail', {
					id : this.id
				}, res => {
					uni.stopPullDownRefresh()
					if(res.code == 200){
						this.item = res.result
					}
				})
			},
			// 付费查看联系方式
			getContact(){
				
				let self = this
				
				this.$api('getContact', {
					id : this.item.details.id
				} , res => {
					if(res.code == 200){
						uni.requestPayment({
							provider: 'wxpay', // 服务提提供商
							timeStamp: res.result.timeStamp, // 时间戳
							nonceStr: res.result.nonceStr, // 随机字符串
							package: res.result.packageValue,
							signType: res.result.signType, // 签名算法
							paySign: res.result.paySign, // 签名
							success: function (res) {
								console.log('支付成功',res);
								self.getData()
							},
							fail: function (err) {
								console.log('支付失败',err);
								uni.showToast({
									icon:'none',
									title:"支付失败"
								})
							}
						});
					}
				})
			},
		}
	}
</script>

<style lang="scss" scoped>
	.postDetail {
		.box {
			padding: 20rpx;
			.topInfo{
				position: relative;
				.price{
					font-size: 34rpx;
					font-weight: 900;
					margin: 10rpx 0;
				}
				.right{
					position: absolute;
					right: 20rpx;
					top: 0rpx;
					line-height: 50rpx;
					text-align: right;
					.money30{
						font-size: 26rpx;
						color: #D43030;
					}
					.phone{
						text{
							color: #3A6BF1;
							margin-left: 10rpx;
						}
					}
				}
			}
			.title {
				font-size: 30rpx;
				font-weight: 600;
				color: #000;
			}

			.createBy {
				display: flex;
				margin-top: auto;
				margin-bottom: 10rpx;
				font-size: 24rpx;
				margin-top: 20rpx;
				color: #555;

				&>view {
					display: flex;
					align-items: center;
					justify-content: center;
					padding-right: 20rpx;
				}
			}

			.controls {
				margin-top: 30rpx;
			}

			.content {
				margin-top: 30rpx;
				color: #777;
			}
			
			.works{
				display: flex;
				flex-wrap: wrap;
				margin-top: 20rpx;
				.item{
					width: 320rpx;
					margin: 15rpx;
					.item-title{
						padding-bottom: 10rpx;
						color: #000;
					}
					.item-image{
						background-color: #999;
						width: 100%;
						height: 250rpx;
						video{
							width: 100%;
							height: 100%;
						}
					}
				}
			}
		}
	}
</style>