<template>
	<view class="index">
		<view class="top">
			<view class="content">
				<image class="content-img" :src="shopInfo.image" mode="aspectFill"/>
				<view class="content-left">
					<u-row style="margin: 10rpx;">
						<u-col><text style="font-size: 32rpx;">{{ shopInfo.title }}</text></u-col>
					</u-row>
					<u-row justify="space-between" style="margin: 20rpx; font-size: 24rpx;">
						<u-col span="6">
							<view style="width: 200rpx;">
								{{ shopInfo.classValue }}
							</view>
						</u-col>
						<u-col span="6">
							<view style="width: 200rpx;">
								{{ shopInfo.num }}人购买
							</view>
						</u-col>
					</u-row>
					<!-- <u-row justify="space-between" style="margin: 10rpx; font-size: 30rpx;">
						<u-col span="4" style="text-decoration:line-through">
							<view style="color: #ddd;font-size: 28rpx;text-decoration:line-through;">
								￥{{ shopInfo.oldPrice }}
							</view>
						</u-col>
						<u-col span="4">
							<view style="color: #ff7800;font-size: 45rpx;">
								￥{{ shopInfo.price }}
							</view>
						</u-col>
					</u-row> -->
					<!-- <u-row justify="space-between" style="margin: 10rpx; font-size: 30rpx;">
						<u-col span="4" style="margin-top: 30rpx;">
							<view class="icon">
								<u-number-box style="margin: 0 auto;" 
								inputWidth="60px"
								v-model="registerForm.num" :min="1">
									<view slot="minus" class="minus">
										<u-icon name="minus" size="12" color="#fff"></u-icon>
									</view>
									<template v-slot:input>
										<input type="text"
										v-model="registerForm.num"
										style="color: #fff;
										text-align: center;
										"
										/>
									</template>
									<view slot="plus" class="plus">
										<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
									</view>
								</u-number-box>
							</view>
						</u-col>
					</u-row> -->
				</view>
			</view>
		</view>
		
		<view class="cell">
			<view class="cell-box">
				<view>
					{{ shopInfo.titleText }}
				</view>
			</view>
			<view class="ceil-input">
				<view class="">
					数量：
				</view>
				
				<view class="">
					<u-number-box v-model="registerForm.num"></u-number-box>
				</view>
			</view>
			<view class="price">
				<view class="">
					价格：￥{{ shopInfo.price }}
				</view>
				<view class="oldPrice">
					原价：￥{{ shopInfo.oldPrice }}
				</view>
			</view>
		</view>

		<view class="book">
			<view class="book-text">
				<view style="padding-top: 20rpx;font-size: 30rpx;">资源介绍</view>
			</view>
			<uv-parse :content="shopInfo.content"></uv-parse>
		</view>


		<view class="bottom-flex">
			
			<button open-type="contact"
			class="contact">
				<view class="icon">
					<u-icon name="server-man" size="50rpx"></u-icon>
				</view>
			</button>

			<view class="button">
				<view class="button-right">
					<view @click="createPayOrder">
						立即购买 (<text>￥{{ shopInfo.price * registerForm.num }}</text>)
					</view>
				</view>
			</view>
		</view>
		
		<PrivacyAgreementPoup/>
	</view>
</template>

<script>
	import PrivacyAgreementPoup from '@/components/PrivacyAgreementPoup/PrivacyAgreementPoup'
	export default {
		components : {
			PrivacyAgreementPoup
		},
		data() {
			return {
				registerForm: {
					num: 1
				},
				shopInfo: {}, //商品信息
			}
		},
		onLoad() {
			this.getShopInfo()
		},
		methods: {

			//获取商品信息
			getShopInfo() {
				this.$api('getPayShopOne', res => {
					this.shopInfo = res.result
				})
			},

			//创建订单、支付
			createPayOrder() {

				this.registerForm.shopId = this.shopInfo.id
				this.$api('createPayOrder', this.registerForm, res => {
					this.registerForm.num = 1
					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);
								uni.switchTab({
									url: '/pages/center/center'
								})
							},
							fail: function (err) {
								console.log('支付失败',err);
								uni.showToast({
									icon:'none',
									title:"支付失败"
								})
							}
						});
					}
				})
			}

		}
	}
</script>

<style scoped lang="scss">
	.index {
		background-color: #ccc;

		.bottom-flex {
			position: fixed;
			left: 0;
			bottom: 0;
			width: 100%;
			display: flex;
			height: 120rpx;
			padding: 10rpx 0;
			background-color: #fff;
			justify-content: space-between;
			box-sizing: border-box;
			padding: 0rpx 20rpx;

			.icon {
				font-size: 26rpx;
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
			}
			.contact{
				background: transparent;
				margin: 0;
				padding: 0 20rpx;
				display: flex;
				justify-content: center;
				align-items: center;
				&::after{
					border: none;
				}
			}
		}
		.cell {
			display: flex;
			justify-content: center;
			flex-direction: column;
			align-items: center;
			background-color: #fff;
			width: 710rpx;
			padding: 20rpx;
			.cell-box{
				display: flex;
				width: 90%;
				// background-color: rgb(253, 194, 4);
				border-radius: 10rpx;
				// font-size: 24rpx;
				justify-content: center;
				align-items: center;
				flex-direction: column;
				padding: 20rpx 0;
			}
			.ceil-input{
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
			}
			.price{
				width: 100%;
				line-height: 50rpx;
				color: #ff7800;
				.oldPrice{
					text-decoration:line-through;
					font-size: 28rpx;
					color: #777;
				}
			}
		}
	}

	.top {
		padding-top: var(--status-bar-height);
		position: relative;
		height: 230rpx;
		background-color: #000;
	}

	.content {
		position: absolute;
		top: 20rpx;
		width: 100%;
		height: 250rpx;
		display: flex;
	}

	.content-img {
		width: 270rpx;
		height: 180rpx;
		border-radius: 10rpx;
		margin-right: 20rpx;
		margin-left: 20rpx;
	}

	.content-left {
		color: #fff;
		font-size: 28rpx;
		line-height: 50rpx;
	}

	
	/deep/ .book {
		margin-top: 20rpx;
		background-color: #fff;
		padding: 0 20rpx;
		padding-bottom: 150rpx;
		line-height: 50rpx;
		font-size: 30rpx;
		img {
			width: 100% !important;
			border-radius: 10rpx;
		}
	}

	/deep/ .book-text {
		padding-bottom: 20rpx;
	}

	.book-img {
		padding-top: 20rpx;
		width: 100%;
		height: 300rpx;
	}

	.button {
		position: relative;
		display: flex;
		top: 10rpx;
		width: 350rpx;
		height: 80%;
		font-size: 12px;
	}

	.button-left {
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 1;
		height: 100%;
		background-color: rgb(253, 194, 5);
		// border-top-left-radius: 50rpx;
		// border-bottom-left-radius: 50rpx;
	}

	.button-right {
		display: flex;
		justify-content: center;
		align-items: center;
		flex: 1;
		height: 100%;
		// background-color: rgb(253, 194, 5);
		background-color: rgb(51, 51, 51);
		// border-top-right-radius: 50rpx;
		// border-bottom-right-radius: 50rpx;
		border-radius: 50rpx;
		color: #fff;
		text{
			font-size: 32rpx;
		}
	}



	// 步进器

	.minus {
		width: 22px;
		height: 22px;
		border-width: 1px;
		border-color: white;
		border-style: solid;
		border-top-left-radius: 100px;
		border-top-right-radius: 100px;
		border-bottom-left-radius: 100px;
		border-bottom-right-radius: 100px;
		@include flex;
		justify-content: center;
		align-items: center;
	}

	.input {
		padding: 0 10px;
		margin: 0 10rpx;
	}

	.plus {
		width: 22px;
		height: 22px;
		background-color: rgb(253, 194, 5);
		border-radius: 50%;
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		justify-content: center;
		align-items: center;
	}
</style>