H5页面在小程序内点击右上角分享给朋友或朋友圈,以及点击链接显示图片、标题等

项目场景:

做一个H5分享页面,可以有自定义的标题、图片在微信里面转发


问题描述

就是分熊出去的链接标题、图片、描述不显示

@Override
	public void run() {
		bytes = mmInStream.read(buffer);
		mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
	}

原因分析:

提示:这里填写问题的分析:

微信直接支持分享,要在微信公号授权


解决方案:

提示:这里填写该问题的具体解决方案:

如果不懂,看微信公众号授权,很详细的看下方的地址

微信公众号网页授权地址

授权解决后就是代码

 async getWxconfig() {
      let res = await commonApi.wechatSignature({ url: location.href });
      jWeixin.config({
        debug: false,
        appId: "wxb386dcd1d373ac69",
        timestamp: res.data.timestamp,
        nonceStr: res.data.noncestr,
        signature: res.data.signature,
        jsApiList: [
          "updateAppMessageShareData",
          "updateTimelineShareData",
          "onMenuShareTimeline",
          "onMenuShareAppMessage",
          "onMenuShareQQ",
          "onMenuShareWeibo",
          "chooseImage",
          "uploadImage",
        ],
      });
      this.getWxShare();
    },
    async getWxShare() {
      let { detail } = this;
      jWeixin.ready((res) => {
        jWeixin.checkJsApi({
          jsApiList: [
            "updateAppMessageShareData",
            "updateTimelineShareData",
            "onMenuShareTimeline",
            "onMenuShareAppMessage",
            "onMenuShareQQ",
            "onMenuShareWeibo",
            "chooseImage",
            "uploadImage",
          ],
          success: (res) => {
            let checkResult = res.checkResult;
            if (checkResult.updateTimelineShareData) {
              //分享到朋友圈
              jWeixin.updateTimelineShareData({
                title: detail.shareDescribe, // 分享标题
                link: location.href, // 分享链接
                title: detail.name, // 分享标题
                imgUrl: detail.shareImage, // 分享图标
                success: function (res) {
                  // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                  // 用户取消分享后执行的回调函数
                },
              });
            }
            if (checkResult.updateAppMessageShareData) {
              //分享给朋友
              jWeixin.updateAppMessageShareData({
                desc: detail.shareDescribe, // 分享描述
                title: detail.name, // 分享标题
                link: location.href, // 分享链接
                imgUrl: detail.shareImage, // 分享图标
                success: function (res) {
                  // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                  // 用户取消分享后执行的回调函
                },
                fail: (res) => {},
              });
            }
            if (checkResult.onMenuShareTimeline) {
              jWeixin.onMenuShareTimeline({
                desc: detail.shareDescribe, // 分享描述
                title: detail.name, // 分享标题
                link: location.href, // 分享链接
                imgUrl: detail.shareImage, // 分享图标
                success: function (res) {
                  // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                  // 用户取消分享后执行的回调函
                },
                fail: (res) => {},
              });
            }
            if (checkResult.onMenuShareQQ) {
              //分享到qq
              jWeixin.onMenuShareQQ({
                desc: detail.shareDescribe, // 分享描述
                title: detail.name, // 分享标题
                link: location.href, // 分享链接
                imgUrl: detail.shareImage, // 分享图标
                success: function (res) {
                  // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                  // 用户取消分享后执行的回调函数
                },
              });
            }
            if (checkResult.onMenuShareWeibo) {
              //分享到微博
              jWeixin.onMenuShareWeibo({
                desc: detail.shareDescribe, // 分享描述
                title: detail.name, // 分享标题
                link: location.href, // 分享链接
                imgUrl: detail.shareImage, // 分享图标
                success: function (res) {
                  // 用户确认分享后执行的回调函数
                },
                cancel: function () {
                  // 用户取消分享后执行的回调函数
                },
              });
            }
          },
          fail: (res) => {},
        });
      });
    },

就行了,

重点!!!一定要在自己授权网页地址测试,本地测试地址没有写进授权的话,就一直测不出来

我就是一直在本地测试有问题,忘记部署测试环境了

小程序中嵌入H5页面后,要实现点击按钮分享到微信朋友圈,可以按照以下步骤进行: 1. 在H5页面中添加分享按钮,并绑定点击事件。 2. 在点击事件中,调用小程序提供的JSAPI将分享内容传递给小程序。 3. 在小程序中使用`wx.updateTimelineShareData` API设置分享朋友圈的内容。 以下是一个示例代码: 在H5页面中添加分享按钮,并绑定点击事件: ```html <button onclick="shareToWechat()">分享到微信朋友圈</button> <script> function shareToWechat() { // 准备分享内容 var shareData = { title: '分享标题', link: '分享链接', imgUrl: '分享图片链接', }; // 调用小程序JSAPI传递分享内容 WeixinJSBridge.invoke('updateTimelineShareData', shareData); } </script> ``` 在小程序中,需要在页面加载完成后,注册`WeixinJSBridgeReady`事件,等待H5页面调用JSAPI: ```javascript Page({ onLoad: function () { if (typeof WeixinJSBridge === 'undefined') { document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady.bind(this)); } else { this.onBridgeReady(); } }, onBridgeReady: function () { // 设置分享朋友圈的内容 wx.updateTimelineShareData({ title: '分享标题', link: '分享链接', imgUrl: '分享图片链接', success: function () { console.log('分享朋友圈成功'); }, fail: function () { console.error('分享朋友圈失败'); } }); } }) ``` 注意:在小程序中调用JSAPI需要等待`WeixinJSBridgeReady`事件触发,所以需要在`onLoad`方法中注册该事件。 这样就可以在小程序中嵌入H5页面,并且在H5页面点击按钮分享到微信朋友圈了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值