<template>
	<view class="page">
		<!-- 注意： App 网页向应用 postMessage 为实时消息 -->
		<web-view v-if="vdata.url" :src="vdata.url" @message="onMessageFunc"></web-view>
	</view>
</template>

<script setup>
import { ref, reactive } from 'vue';
import { onLoad } from '@dcloudio/uni-app';
import appConfig from '@/config/appConfig.js';
import ak from '@/commons/utils/ak.js';
import storageManage from '@/commons/utils/storageManage.js';
import env from '@/env/env.development.js';

const vdata = reactive({
	url: null,
	isAdd: false // 是否新增， 新增将返回两个页面，  修改返回一个。
});

onLoad((option) => {
	// console.log(option);
	let jeepayToken = storageManage.token();
	let mchNo = storageManage.userInfo().mchNo;
	let uploadImgSize = storageManage.uploadImgSize() || '';
	let isView = option.isView == 1 ? true : false; // 是否预览模式
	let isvNo = option.isvNo || ''; // 渠道号
	let range = option.range || 0; // 渠道号
	let autoConfigMchAppId = option.autoConfigMchAppId || ''; // 应用号

	let baseUrl = `${env.JEEPAY_BASE_URL_H5}`;

	let url = '';
	// 包含 记录ID
	if (option.applyId) {
		url = `${baseUrl}/h5MchApplyment?isView=${isView ? 1 : 0}&jeepayToken=${jeepayToken}&applyId=${
			option.applyId
		}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${autoConfigMchAppId}&isvNo=${isvNo}&range=${range}`;
	} else {
		vdata.isAdd = true;

		// 副本。
		let copyInfoSourceApplyIdParam = option.copyInfoSourceApplyId || '';
		url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}&copyInfoSourceApplyId=${copyInfoSourceApplyIdParam}&isvNo=${isvNo}&range=${range}&autoConfigMchAppId=${autoConfigMchAppId}`;
		// url = `${baseUrl}/h5MchApplyment?isView=0&jeepayToken=${jeepayToken}&mchNo=${mchNo}&ifCode=${option.ifCode}&copyInfoSourceApplyId=${copyInfoSourceApplyIdParam}&uploadImgSize=${uploadImgSize}&autoConfigMchAppId=${option.appId || ''}&isvNo=${isvNo}&range=${range}`
	}

	console.log(url, 'urlurlurl');
	vdata.url = url;
});

// App 网页向应用 postMessage 为实时消息
// 接收到 web-view事件 ,
// 注意：放置数据， 必须在data字段下，  比如： uni.postMessage({data: {ctrl: 'TOTOTOTOTOT'}})
function onMessageFunc(msg) {
	// 接收到响应的数据 [数组格式， 比如接收到 web-view的返回等特定事件， 将数据入栈全部返回 ]
	let postDataArray = msg.detail.data;

	// 无数据
	if (!postDataArray || !Array.isArray(postDataArray)) {
		return false;
	}

	for (var i = 0; i < postDataArray.length; i++) {
		if (postDataArray[i].ctrl == 'toApplymentListAndRef') {
			// 跳转到进件列表 && 刷新

			// APP 可以实时接收到消息，   微信小程序需要在返回事件 （会关闭当前页面）时再接收到消息。

			// #ifdef APP-PLUS
			ak.go.back(1, ak.emit.ENAME_REF_APPLYMENT_LIST); //返回上一页
			// #endif

			// #ifdef MP-WEIXIN
			ak.emit.pageEmit(ak.emit.ENAME_REF_APPLYMENT_LIST); // 刷新页面。
			// #endif

			break;
		}
	}
}
</script>

<style lang="scss" scoped>
.page {
	padding: 30rpx;
	box-sizing: border-box;
	padding-bottom: 150rpx;
	background-color: #f5f6fd;
	min-height: calc(100vh - 0px);
}
</style>
