<template>
	<view class="wrap">
		<view class="order-info">
			<view class="order-info-top">
				<view class="addr u-flex">
					<u-icon name="map-fill" color="#fff" size="28"></u-icon>
					<view class="addr-text">{{orderInfo.roadName}}</view>
				</view>
				<view class="car u-flex">
					<view class="car-no">{{orderInfo.vehicleNo}}</view>
					<view class="car-type">临时车</view>
				</view>
				<view class="time in-time">进场时间：{{orderInfo.inTime}}</view>
				<view class="time out-time">进场时间：{{orderInfo.outTime}}</view>
				<view class="duration">已停放 {{orderInfo.duration}}</view>
				<view class="total-amount">¥{{orderInfo.totalAmount}}</view>
			</view>
			<view class="order-info-bottom">
				<u-cell-item 
				center 
				:border-bottom="false" 
				:value="orderInfo.preferentialAmount" 
				:title-style="{color:'#8A8A8A'}"
				:icon-style="{color:'#D8D8D8'}"
				title="已优惠"></u-cell-item>
				<view class="pay-amount u-flex u-row-between">
					<view class="title">应付金额</view>
					<view class="amount"><span class="rmb">¥</span>{{orderInfo.payAmount}}</view>
				</view>
				<view class="tip">停车费不超过30元，可先离场后在付费</view>
			</view>
		</view>
		<view class="bottom-btn static" @click="handlewxpay">去支付</view>
		
		<u-toast ref="uToast" />
	</view>
</template>

<script>
	import getUrlParams from "../../utils/getUrlParams.js";
	export default{
		data(){
			return{
				orderId:null,
				orderInfo:[],
				
			}
		},
		onLoad(){
			let locationLocaturl = window.location.hash;
			this.orderId = getUrlParams(locationLocaturl,"orderId"); // 截取orderId
			console.log('this.orderId',this.orderId);
			this.handleGetOrderinfo(this.orderId);
			
		},
		methods:{
			handleGetOrderinfo(orderId){
				this.$u.api.getOrderinfo({id:orderId})
				.then(res=>{
					// this.$refs.uToast.show({
					// 	title: res.msg,
					// 	type: 'success',
					// });
					this.orderInfo = res.data;
					console.log('handleGetOrderinfo',JSON.parse(JSON.stringify(res)));
				}).catch(err=>{
					this.$refs.uToast.show({
						title: err.msg,
						type: 'error',
					});
					console.log('handleGetOrderinfo ',err)
				});
				
			},
			getCode () {
				var local = window.location.href // 获取页面url
				let locationLocaturl = window.location.search;
				this.code = getUrlParams(locationLocaturl,"code"); // 截取code
				if (this.code == null || this.code === '') { // 如果没有code，则去请求
					window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.config.wxAppid}&redirect_uri=${encodeURIComponent(local)}&response_type=code&scope=snsapi_userinfo&#wechat_redirect`
				} else {
					this.handleGetWXInfo(this.code) //把code传给后台获取用户信息
				}
			},
			handleGetWXInfo (code) { // 通过code获取 openId等用户信息，/api/user/wechat/login 为后台接口
				let _this = this
				this.$u.api.getWXInfo(code).then((res) => {
					if (res.code === 200 ) {
						this.$u.vuex('vuex_wxinfo',res.data);
						// 继续支付
					}
				}).catch((err) => {
					this.$refs.uToast.show({
						title: err.msg,
						type: 'error',
					});
				})
			},			
			handlewxpay(){;
				if(!this.$store.state.vuex_wxinfo.openId){ // 如果微信openId，则需用code去后台获取
					this.$refs.uToast.show({
						title: '请登录后重试!',
						type: 'info',
						// url: '/pages/user/index'
					});
					this.getCode();
				} else {
					// 别的业务逻辑
					this.getWXPay();
				}
			},
			async getWXPay(id){
				let params = {
					orderId:this.orderId,
					openid:this.$store.state.vuex_wxinfo.openId,
					tradeType:"test"
				};
				await this.$wxApi.config();
				this.$pay.wxPay(params).then(res =>{
					console.log('wxPay',res.code);
					if(res.code == 0){
						// 成功
						this.$u.route({
							url:'pages/index/index',
							// params: {
							// 	keyword: this.keyword
							// }
						});
					}else if(res.code == 1){
						// 取消
						// uni.redirectTo({
						// 	url: '/pages/userCenter/myOrder/myOrder'
						// })
					}else if(res.code == 2){
						this.$refs.uToast.show({
							title: '支付失败，请检查!',
							type: 'error',
							// url: '/pages/user/index'
						});
					}
				});
			},
			
		}
	}
</script>

<style lang="scss" scoped>
	@import "./payPage.scss";
</style>
