<template>
	<view class="share-content">
		<view class="share-inner">
			<view class="share-item" @click="wxShare(0)">
				<image src="/static/images/icon_wx.png" mode=""></image>
				<text class="text">微信</text>
			</view>
			<view class="share-item" @click="wxShare(1)">
				<image src="/static/images/icon_pyq.png" mode=""></image>
				<text class="text">朋友圈</text>
			</view>

			<!-- 	   <view class="share-item">
						<image src="/static/images/icon_xcxhb.png" mode=""></image>
						<text class="text">小程序海报</text>
					</view>
					<view class="share-item">
						<image src="/static/images/icon_xccard.png" mode=""></image>
						<text class="text">小程序卡片</text>
					</view>
					<view class="share-item">
						<image src="/static/images/icon_code.png" mode=""></image>
						<text class="text">二维码</text>
					</view> -->

			<view class="share-item" @click="copyUrl()">
				<image src="/static/images/icon_copy_link.png" mode=""></image>
				<text class="text">复制链接</text>
			</view>

		</view>
		<view class="cancel-btn" @click="closeShare">取消</view>
	</view>

</template>

<script>
	import { shareCourse } from '@/api/course'
	import { shareVideo } from '@/api/shortvideo'
	import { shareHealth } from '@/api/integral.js'
	export default {
		name: "share-box",
		props: {
			shareItem: {
				type: Object,
				default: function() {
					return {
						imageUrl: "",
						title: "",
						url: "",
						summary: url,
						courseId: 0,
						videoId: 0,
						isMini: false,
						compressImage: 0, // 是否需要压缩
					}; // type 0:课程 1视频
				}
			},
		},
		data() {
			return {

			};
		},
		methods: {
			wxShare(type) {
				if (this.$isEmpty(this.shareItem.title)) {
					uni.showToast({
						title: "数据未加载",
						icon: "none",
						position: 'top',
						duration: 2000
					})
					return;
				}
				// #ifdef APP-PLUS
				if (!plus.runtime.isAgreePrivacy()) {
					uni.showToast({
						title: "请同意隐私政策",
						icon: "none",
						position: 'top',
						duration: 2000
					})
					return;
				}
				// #endif
				let that = this;
				let sceneStr = type == 0 ? "WXSceneSession" : "WXSceneTimeline";
				// 仅支持分享微信小程序到微信聊天界面，想进入朋友圈需改为分享图片方式，在图片中包含小程序码
				if (sceneStr == 'WXSceneTimeline' || !this.shareItem.isMini) {
					uni.share({
						provider: "weixin",
						scene: sceneStr,
						type: 0,
						imageUrl: this.shareItem.imageUrl, //分享封面图片
						title: this.shareItem.title, // 分享标题
						href: this.shareItem.url, //跳转链接
						summary: this.shareItem.summary, // 分享内容文字
						success: function(res) {
							that.doShare();
							uni.showToast({
								title: "分享成功",
								icon: 'none'
							});
						},
						fail: function(err) {
							// 此处是调起微信分享失败的回调
						},
						complete: (e) => {
							console.log("WXSceneTimeline", e)
						}
					});
				} else {
					if(this.shareItem.compressImage == 1) {
						uni.downloadFile({
							url: this.shareItem.imageUrl, //仅为示例，并非真实接口地址。
							success: (images)=> {
								uni.compressImage({
								  src: images.tempFilePath,
								  quality: 40,
								  width:  '50%',
								  height: '50%',
								  success: res => {
										this.shareMini(res.tempFilePath,sceneStr)
								  },
								  fail: function(err) {
								  	
								  }
								})
							}
						});
					}else {
						this.shareMini(this.shareItem.imageUrl,sceneStr)
					}
					
				}
			},
			shareMini(imageUrl,sceneStr) {
				const that = this
				uni.share({
					provider: "weixin",
					scene: sceneStr,
					type: 5,
					imageUrl: imageUrl, //分享封面图片
					title: this.shareItem.title, // 分享标题
					//summary: this.shareItem.summary,    // 分享内容文字
					miniProgram: {
						id: "gh_7a6a32e5ef61",
						path: this.shareItem.path,
						type: 0, //0-正式版； 1-测试版； 2-体验版。 默认值为0。
						webUrl: "http://uniapp.dcloud.io"
					},
					success: function(res) {
						that.doShare();
						uni.showToast({
							title: "分享成功",
							icon: 'none'
						});
					},
					fail: function(err) {
						// 此处是调起微信分享失败的回调
					},
					complete: (e) => {
						console.log("WXSceneSession", e)
					}
				});
			},
			doShare() {
				if (!this.shareItem.isMini) {
					if (this.shareItem.courseId > 0) {
						this.shareCourse();
					}
				}
				if(this.shareItem.videoId > 0) {
					this.shareVideo();
				}else if(this.shareItem.healthId > 0) {
					this.shareHealth();
				}
			},
			shareCourse() {
				shareCourse(this.shareItem.courseId).then(res => {

					},
					rej => {}
				);
			},
			shareVideo() {
				shareVideo({videoId:this.shareItem.videoId})
			},
			shareHealth() {
				shareHealth({logType:3})
			},
			copyUrl() {
				uni.setClipboardData({
					data: this.shareItem.url,
					success: () => {
						uni.showToast({
							title: '复制成功',
							icon: 'none'
						});
					},
					fail: () => {
						uni.showToast({
							title: '复制失败',
							icon: 'none'
						});
					}
				});
			},

			closeShare() {
				return this.$emit('closeShare');
			}

		}
	}
</script>

<style lang="scss" scoped>
	.share-content {
		background-color: #FFF;
		border-radius: 40upx 40upx 0px 0px;

		.share-inner {
			padding: 70upx 0 0 0;
			display: flex;
			flex-wrap: wrap;

			.share-item {
				width: 25%;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				margin-bottom: 66upx;

				image {
					width: 80upx;
					height: 80upx;
					margin-bottom: 20upx;
				}

				.text {
					font-size: 28upx;
					font-family: PingFang SC;
					font-weight: 500;
					color: #111111;
					line-height: 1;
				}
			}
		}

		.cancel-btn {
			height: 96upx;
			line-height: 96upx;
			text-align: center;
			font-size: 32upx;
			font-family: PingFang SC;
			font-weight: 500;
			color: #111111;
			border-top: 2upx solid #E8E8E8;
			background-color: #FFF;
		}
	}
</style>