H5页面在微信小程序中自定义分享

  • 2020.10.27

需求描述

当在小程序中打开内嵌的h5页面时,希望小程序的转发出去的标题,图片,跳转link可以通过h5通信实现自定义。

实现方案

通过h5给小程序通信,发送标题,图片,跳转link等信息,让小程序设置分享。

H5发送消息给小程序

function doMiniProgram(callback) {
    try {
        //小程序环境设置分享
        var ua = window.navigator.userAgent.toLowerCase();
        //判断是否是微信环境
        if (ua.match(/MicroMessenger/i) == 'micromessenger') {
            //微信环境
            wx.miniProgram.getEnv(function (res) {
                if (res.miniprogram) {
                    callback();
                }
            })
        }
    }
    catch (err) {
        console.log(err);
    }
}

function setMiniProgramShare(shareTitle, imageUrl, shareUrl) {
    try {
        doMiniProgram(function () {
            wx.miniProgram.postMessage({ data: { title: shareTitle, path: shareUrl, imageUrl: imageUrl } })
        });
    }
    catch (ex) {
        console.log(ex);
    }
}

WARNING

引用微信js1.3.2以上才支持,<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

小程序页面接收处理逻辑

TIP

小程序使用web-view组件加载H5页面,<web-view src="" bindmessage="message"/>

Page({
  data: {shareData:{}},
  onShareAppMessage(options) {
    return this.shareData;
  },
  message (e) {
    var that = this;
    console.log(e);
    that.shareData = e.detail.data[0];
  }
})
上次更新时间: 2020-10-31 10:41:00