<template>
	<web-view :src="h5Url" @message="handleH5Message" style="width: 100vw; height: 100vh;"></web-view>
</template>

<script setup lang="ts">
import { ref, watch } from 'vue'
import { onLoad } from '@dcloudio/uni-app';

// 接收参数
const getCbfbmjump = ref('')
const pageType = ref('')
const dsType = ref('')

// H5 地址（一开始为空，等参数拿到再赋值）
const h5Url = ref('')

// ==============================================
// 🔥 核心修复：等两个参数都拿到，再拼接 URL
// ==============================================
watch(
  [getCbfbmjump, pageType, dsType],
  ([cbfbm, type, dsType]) => {
    if (cbfbm && type && dsType) {
      h5Url.value = `http://192.168.110.147:8848/map/index.html?data=${cbfbm}&type=${type}&displayType=${dsType}`
      console.log('✅ 最终 H5 地址：', h5Url.value)
    }
  },
  { immediate: true }
)

// ==============================================
// 接收 H5 数据，正确返回上一页（addLand.vue）
const handleH5Message = (e) => {
  console.log('收到 H5 回传：', e.detail.data)

  e.detail.data.forEach(item => {
    // 假设你要回传的是地块数据
    if (item.type === 'drawLandFinished' || item.type === 'landSelected') {
      // 延迟一点点，让页面返回成功再赋值
      // setTimeout(() => {
      	const pages = getCurrentPages()
      	const prevPage = pages[pages.length - 2]
      	if (prevPage) {
      		prevPage.$vm.selectedLandData = item
      	}
      // }, 100)
    }
  })
}

// ==============================================
// 接收上个页面传过来的参数
// ==============================================
onLoad((options: any) => {
	console.log(11111111,JSON.parse(decodeURIComponent(options.memberInfo)))
  try {
    if (options.memberInfo) {
      getCbfbmjump.value = JSON.parse(decodeURIComponent(options.memberInfo))
    }
    if (options.type) {
      pageType.value = options.type
    }
	if (options.displayType) {
	  dsType.value = options.displayType
	}
    console.log('✅ 解析参数：', getCbfbmjump.value, pageType.value,dsType.value)
  } catch (e) {
    console.log('参数解析失败', e)
  }
})
</script>