uniapp打包的微信小程序和h5两个项目 微信小程序webview打开h5 ,h5发送消息到小程序

1.下载js https://res.wx.qq.com/open/js/jweixin-1.6.0.js

复制并重命名到

安装

复制代码
npm install @dcloudio/uni-webview-js -save

复制这个文件并重命名到

uni.webview.1.5.3.js 这个文件需要改动这三个地方

2.在h5项目的根目录下的 index.html 中引入刚才的两个js

复制代码
<script src="./static/js/jweixin-1.6.0.js"></script>
		<script type="text/javascript" src="./static/js/uni.webview.1.5.3.js"></script>
		<script>
			document.addEventListener('UniAppJSBridgeReady', function() {
				webUni.getEnv(function(res) {
					console.log('当前环境:' + JSON.stringify(res))
				});
			});
		</script>

3.在微信小程序uniapp项目中新建页面嵌入webview

复制代码
<template>
	<view class="container">
	    <!-- 进度条颜色可自定义 -->
	    <web-view
	      :src="url"
	      :webview-styles="progress"
	      @message="getMsg"
	      @load="loaded"
	    ></web-view>
	  </view>
</template>

<script setup>
	import { onShow, onLoad } from '@dcloudio/uni-app';
	import { ref } from 'vue'
	import {
		getToken,
		getRefreshToken,
		setToken,
		removeToken
	} from '@/utils/auth.js'
	
	import config from '@/config.js'
	
	// 1. 直接给 H5 传参(走 queryString,兼容所有基础库)
	const url = ref('')
	
	onLoad((query) => {
	  url.value = decodeURIComponent(`${config.h5Prefix}/p_tree/tree?token=${getToken()}`)   // 带 token 的完整地址
	  //url.value ='http://www.baidu.com'
	  console.log('SSSS',url.value)
	})
	
	const progress = ref({ color: '#07C160' })
	
	// 2. 接收 H5 回传数据
	function getMsg(e) {
	  console.log('H5 回传:', e.detail.data)
	  //uni.showToast({ title: JSON.stringify(e.detail.data), icon: 'none' })
	}
	function loaded() {
	  console.log('WebView 加载完成')
	}
</script>

<style>
</style>

在h5页面这样发送消息

复制代码
webUni.postMessage({
				data: {
					type: '1',
					path: '/p_me/settimg/xieyi?type=4',
				}
			});

4.在微信小程序开发工具打开web-view 调用webUni.postMessage,但是不会立即收到消息,等web-view页面退出时,才能收到消息

相关推荐
一孤程16 小时前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
CRMEB定制开发19 小时前
开源商城源码下载后怎么搭建?五步走通完整流程
小程序·开源·商城系统·私域运营
淡淡的幼稚20 小时前
【YFIOs】从传感芯片到表格曲线
uni-app·.net
JudithHuang21 小时前
受够了带广告的单位换算 App,我自己做了一个微信小程序
微信小程序
宠友信息1 天前
多端即时通讯源码技术实践,Redis路由、MySQL持久化与Socket接入
spring boot·websocket·mysql·uni-app
小羊Yveesss1 天前
2026年如何自己搭建一个外贸网页?单页验证和完整网站的区别
微信小程序·小程序·开源
weishuangyun1231 天前
怎么开发自己的小程序?2026 三种主流方式实测对比
小程序
宠友信息1 天前
Spring Boot与异步审核构建仿小红书源码内容发布全流程
java·数据库·spring boot·redis·mysql·oracle·uni-app
蜡台1 天前
uniapp vue2 转 vue3
前端·javascript·uni-app·vue3·vue2
言乐61 天前
Python视频相对亮度检测
数据库·python·计算机视觉·小程序·音视频