微信小程序在web-view页面做分享,并且把分享的参数传递给小程序(附源码)

150 阅读1分钟

话不多说直接上代码:

<!--index.wxml -->
  <web-view src="https://weixin.njkeren.cn/test1.html" bindmessage="bindGetMsg"/>

js

// index.js
Page({
  data: {
    shareObj: ''
  },
  onLoad: function(options) {
    console.log('options', options)
  },
  bindGetMsg: function(e) {
    this.data.shareObj = e.detail.data[e.detail.data.length - 1];
  },
  // 分享
  onShareAppMessage(options) {
    let shareObj = this.data.shareObj;
    if (shareObj) {
      return {
        title: shareObj.shareTitle,
        desc: shareObj.shareDesc,
        path: shareObj.url,
        imageUrl: shareObj.shareImage,
        success: function(res) {
          console.log(res)
        }
      }
    }
  },
})

html代码

<!DOCTYPE html>
<html>
 
	<head>
		<meta charset="UTF-8">
		<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
		<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
		<title></title>
	</head>
 
	<body>
		<!--<button id="ab">分享</button>-->
		<script type="text/javascript">
			//document.getElementById('ab').onclick =function(){
			var obj = {
				'url': '/pages/index/index?shareUserId=213214',
				'shareDesc': '分享的描述',
				'shareImage': 'https://profile.csdnimg.cn/4/6/5/2_qq_35713752',
				'shareTitle': '要分享标题'
			}
			//				wx.miniProgram.redirectTo({url: '/pages/index/index'})
			wx.miniProgram.postMessage({
				data: obj
			})
			//			}
		</script>
	</body>
 
</html>