<template>
	<view>
		<web-view @message="onmessage" src="/hybrid/html/video.html"></web-view>
	</view>
</template>

<script>
	import { clzConfirm,saveBase64ToAliOss } from '@/libs/tools.js'
	export default {
		data() {
			return {
				wv: null,
				isClose: false, // 是否关闭当前窗口
				isEditImg: false, // 是否正在编辑图片
				showPz: false, // 是否正在拍照
			};
		},
		methods: {
			// 监听html页面事件
			onmessage(event) {
				let data = event.detail.data[0]
				// console.log(data)
				// webview 窗口传过来的页面状态
				if(data.action == 'getWinStatus'){
					let d = JSON.parse(data.msg)
					this[d.key] = d.val
				}
				// 保存编辑后的图片
				if(data.action == 'saveEditImg'){
					this.uploadImg(data.msg)
				}
			},
			// 上传编辑后的图片到阿里云
			uploadImg(formData) {
				const _this = this;
				saveBase64ToAliOss(formData,function(res){
					// console.log(res);
					// 关闭编辑图片
					_this.wv.evalJS("vm.closeImgsEdit()")
					// 更新编辑后的图片
					_this.wv.evalJS("vm.updateItemImg('"+res.data+"')")
				})
			}
		},
		onReady() {
			let _this = this
			// #ifdef APP-PLUS
			 //获取当前页面的webview对象
			 var currentWebview = this.$mp.page.$getAppWebview()
			 //如果是页面初始化调用时，需要延时一下
			 setTimeout(function() {
				_this.wv = currentWebview.children()[0]
			 }, 500);
			// #endif
		},
		// 监听返回键
		onBackPress() {
			console.log(this.isEditImg,'onBackPress')
			let _this = this
			if(!_this.isClose){
				// 正在编辑图片
				if(this.isEditImg){
					// 关闭编辑图片
					_this.wv.evalJS("vm.closeImgsEdit()")
				}
				// 正在拍照
				else if(this.showPz){
					// 关闭拍照弹框
					_this.wv.evalJS("vm.onClosePz()")
				}else{
					clzConfirm({
						title: '提示',
						content: '巡店还未完成，确定退出吗？',
						success: function(res) {
							if (res.confirm || res.index == 0) {
								_this.isClose = true
								uni.navigateBack({
									delta: 1
								});
							}
						}
					});
				}
				
				return true
			}
		},
		// 添加考评模板
		onNavigationBarButtonTap(e) {
			// 且当前没编辑图片或抓拍图片
			if(e.index==0 && !this.isEditImg && !this.showPz){
				console.log(e.text)
				uni.navigateTo({
					url: '/pages/evaluatePlan/evaluatePlan'
				})
			}
		},
	}
</script>

<style>

</style>
