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页面退出时,才能收到消息

相关推荐
万岳科技系统开发1 小时前
校园跑腿外卖搭建助力高校周边商家拓展线上业务
大数据·人工智能·小程序
微三云 - 廖会灵 (私域系统开发)8 小时前
消费返物业费平台搭建:美家时代商业模式拆解与系统开发选型指南
小程序·系统架构
greenbbLV10 小时前
中小公司积分商城选型:SaaS与私有化方案对比解析
大数据·前端·小程序
结网的兔子1 天前
【前端开发】Web端迁移至 uni-app 及鸿蒙扩展方案对比
前端·uni-app·harmonyos
2501_915909061 天前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview
AI多Agent协作实战派2 天前
AI多Agent协作系统实战(二十八):顶栏统一战争——从1个页面异常到31个页面全量对齐
数据库·人工智能·uni-app
00后程序员张2 天前
iOS加固技术路线全面解析:Bitcode模式、源码模式与汇编模式对比及爱加密优势
android·汇编·ios·小程序·uni-app·cocoa·iphone
海纳百川·纳海川2 天前
租房行业数字化:换个思路解决“老问题”
大数据·微信小程序·小程序
上海云盾-小余2 天前
CC 高频请求 + DDoS 流量攻击实战防御:全链路 WAF 流量清洗部署完整流程
网络·爬虫·安全·小程序·ddos
2501_916008892 天前
iOS IPA文件反编译与打包操作方法,拆包分析防护和加固打包
android·macos·ios·小程序·uni-app·cocoa·iphone