<template>
	<view class="myData pad" id="app">
		<topNavbar title=""></topNavbar>
		<view class="topText">
			<view class="h3">专属您的</view>
			<view class="h4">学车数据</view>
		</view>
		<view class="card">
			<view class="row">
				<view class="leftCon">
					<view class="icon">
						<image src="@/static/images/userCenter/ic_jiaxiao.png" mode=""></image>
					</view>
					<view class="text">我的驾校</view>
				</view>
				<view class="value">翔力驾校</view>
			</view>
			<view class="row">
				<view class="leftCon">
					<view class="icon">
						<image src="@/static/images/userCenter/ic_jiaolian.png" mode=""></image>
					</view>
					<view class="text">我的教练</view>
				</view>
				<view class="value">xxx</view>
			</view>
			<view class="row">
				<view class="leftCon">
					<view class="icon">
						<image src="@/static/images/userCenter/ic_chexing.png" mode=""></image>
					</view>
					<view class="text">所学车型</view>
				</view>
				<view class="value">xxx</view>
			</view>
			<view class="row">
				<view class="leftCon">
					<view class="icon">
						<image src="@/static/images/userCenter/ic_shijian.png" mode=""></image>
					</view>
					<view class="text">报名时间</view>
				</view>
				<view class="value">xxx</view>
			</view>
		</view>
		<!-- 学驾共历时 -->
		<view class="card">
			<view class="chart_row">
				<view class="leftText">
					<view class="lab">学驾共历时</view>
					<view class="val">33天</view>
				</view>
				<view class="rightChart">
					<ringChart />
				</view>
			</view>

		</view>
		<!-- 考试通过率 -->
		<view class="card">
			<view class="chart_row">
				<view class="leftText" style="width: 200rpx;">
					<view class="lab">考试通过率</view>
					<view class="val">90%</view>
				</view>
				<view class="rightChart pad28">
					<view class="blueBg">
						<columnChart/>
					</view>
				</view>
			</view>

		</view>
		<view class="flex-b">
			<view class="count card">
				<view class="lab">实操练习次数</view>
				<view class="val">20次</view>
			</view>
			<view class="count card">
				<view class="lab">模拟训练次数</view>
				<view class="val">20次</view>
			</view>
		</view>
		<view class="btnBorder" @click="destImgFn">立即分享</view>
		<!-- <button  @click="shareFn" open-type="share">立即分享</button> -->
		<canvas canvas-id="canvas" style="width: 350px; height: 350px;" class="canvas">3333</canvas>
		<view class="img" style="width: 300px; height: 300px;">
			<image :src="shareImageUrl" mode=""></image>
		</view>
	</view>
</template>

<script>
	import ringChart from './ringChart.vue'
	import columnChart from './columnChart'
	export default {
		components: { ringChart, columnChart },
		data() {
			return {
				shareImageUrl: ''
			}
		},
		onReady() {
			this.destImgFn()
		},

		methods: {
			captureCanvas() {
			        // 获取 Canvas 组件实例
			        const canvas = uni.createCanvasContext('myCanvas', this);
			    
			        // 绘制需要的内容
			        canvas.setFontSize(20);
			        canvas.fillText('Hello, Canvas!', 50, 50);
			    
			        // 绘制完成后执行截屏操作
			        canvas.draw(true, () => {
			          uni.canvasToTempFilePath({
			            canvasId: 'myCanvas',
			            fileType: 'png',
			            success: (res) => {
			              console.log('截屏成功', res.tempFilePath);
			            },
			            fail: (err) => {
			              console.log('截屏失败', err);
			            }
			          }, this);
			        });
			      },
			destImgFn() {
				this.$nextTick(()=>{
// 					uni.canvasToTempFilePath({
// 					  x: 0,
// 					  y: 0,
// 					  width: 350,
// 					  height: 350,
// 					  destWidth: 350,
// 					  destHeight: 350,
// 					  canvasId: 'canvas',
// 					  success: function(res) {
// 					    // 在H5平台下，tempFilePath 为 base64
// 					    console.log(res.tempFilePath)
// 					  } 
// 					},this)

// return
					let _this = this
					uni.createSelectorQuery().select('#app').boundingClientRect((rect) => {
						console.log(rect)
							const context = uni.createCanvasContext('canvas')
							context.draw(true, () => {
								setTimeout(()=>{
							  uni.canvasToTempFilePath({
							    x: 0,
							    y: 0,
								fileType:'png',
							    width: 200,
							    height: 200,
							    // destWidth: rect.width * uni.getSystemInfoSync().pixelRatio,
							    // destHeight: rect.height * uni.getSystemInfoSync().pixelRatio,
							    canvasId: 'canvas',
							    success: (res) => {
							  								  console.log('截图成功')
							  								  console.log(res)
							  								  uni.showToast({
							  								    title: '截图成功',
							  								    icon: 'none'
							  								  })
							      // uni.hideToast()
							      // 将截屏图片路径保存至storage或全局变量，以便后续分享使用
							      _this.shareImageUrl = res.tempFilePath
							  					  console.log(_this.shareImageUrl)
							    },
							    fail: (error) => {
							  								  console.log('截图失败')
							  								  console.log(error)
							      // uni.hideToast()
							      uni.showToast({
							        title: '截图失败',
							        icon: 'none'
							      })
							    },
							  })
							  },2000)
							})
					 
					}).exec()
				})
			},
			shareFn() {
				let _this = this
				// uni.share({
				// 	provider: "weixin",
				// 	scene: "WXSceneSession",
				// 	type: 2,
				// 	imageUrl: _this.shareImageUrl,
				// 	success: function (res) {
				// 		console.log("success:" + JSON.stringify(res));
				// 	},
				// 	fail: function (err) {
				// 		console.log("fail:" + JSON.stringify(err));
				// 	}
				// });
				uni.showShareMenu({
				  withShareTicket: true,
				  success: () => {
				    uni.showShareImageMenu({
				      path: _this.shareImageUrl,
				      success: (res) => {
				        console.log('分享成功', res)
				      },
				      fail: (error) => {
				        console.log('分享失败', error)
				      }
				    })
				  }
				})

			},
			// 在分享按钮的点击事件中调用分享API
			onShareImageBtnClick() {
			  wx.showShareMenu({
			    withShareTicket: true,
			    success: () => {
			      wx.shareAppMessage({
			        imageUrl: '/image/share-image.jpg',
			        success: (res) => {
			          console.log('分享成功', res)
			        },
			        fail: (error) => {
			          console.log('分享失败', error)
			        }
			      })
			    }
			  })
			}

		}
	}
</script>

<style lang="scss" scoped>
	.myData {
		width: 100%;
		background: url('http://192.168.1.20:81/zhili/image/20230818/409dca21dfec44eb8477e056ee23e437.png') #f6f6f6 no-repeat;
		background-size: 100% 544rpx;
		min-height: 100vh;
		font-size: 28rpx;
		padding-bottom: 40rpx;

		.topText {
			padding: 56rpx 34rpx 84rpx 34rpx;
			color: #fff;
			font-weight: 600;

			.h3 {
				font-size: 42rpx;
			}

			.h4 {
				font-size: 64rpx;
			}
		}

		.card {
			padding: 0 24rpx;
			margin-bottom: 20rpx;

			.row {
				display: flex;
				border-bottom: 2rpx solid #E8E9EC;
				height: 102rpx;
				align-items: center;

				.leftCon {
					display: flex;
					align-items: center;

					.icon {
						width: 40rpx;
						height: 40rpx;
					}

					.text {
						font-size: 28rpx;
						padding: 0 40rpx 0 12rpx;
					}
				}

				.value {
					font-size: 28rpx;
					color: #1989FA;
					flex: 1;
				}
			}
		}

		.count {
			width: 48%;
			height: 196rpx;
			background: #FFFFFF;
			border-radius: 16rpx;
			text-align: center;

			.lab {
				margin: 36rpx 0 28rpx 0;
			}

			.val {
				font-weight: 500;
				font-size: 40rpx;
				color: $themC;
			}
		}


		.btnBorder {
			width: 396rpx;
			margin: 48rpx auto 0 auto;
		}
	}

	.chart_row {
		height: 300rpx;
		border-radius: 16rpx;
		display: flex;

		.leftText {
			width: 270rpx;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;

			.lab {
				margin: 0rpx 0 24rpx 0;
			}

			.val {
				font-weight: 500;
				font-size: 40rpx;
				color: $themC;
			}
		}

		.rightChart {
			width: 0;
			flex: 1;
			&.pad28 {
				padding: 28rpx 0;
			}
			.blueBg {
				padding: 20rpx 0 10rpx 0;
				width: 100%;
				height: 100%;
				background-color: #F2F8FF;
			}
		}
	}
	.img {
		width: 100vw;
		height: 100vh;
	}
</style>