如何设置分享到微信朋友圈时链接的图片及标题

2 篇文章 0 订阅
2 篇文章 0 订阅

这个问题真的是困扰了我很久,为了记录一下,也为了帮助需要帮助的人,我在这分享一下自己的做法。

一、效果如下

在这里插入图片描述

二、如何调试

通常我们在电脑上想要模仿手机的功能是比较麻烦的,但是微信开发者工具给我们提供了一个非常好用的功能。

操作如下

1、我们打开开发者工具,然后选择公众号网页,在公众号网页里面直接输入本地的地址就可以模拟微信的分享等功能了,相关打印也可以在控制台的console看到,如下所示:
在这里插入图片描述
在这里插入图片描述

三、如何设置

相关代码如下(本人使用的是vue,其他的原理应该也是一样):

 mounted() {
    this.getWxSignature()
  },
  methods: {
    // 微信分享
    async getWxSignature() {
      const ua = window.navigator.userAgent.toLowerCase()
      if (ua.indexOf('micromessenger') === -1) return

      const weixinSign = await this.$axios.get('/shareSign', {
        params: { aoeu: 'aoeu', rawUrl: document.location.href },
      })

      if (weixinSign.data) {
        setTimeout(() => this.initWeixinShare(weixinSign.data), 1000)
      } else {
        console.log('weixin signature get failed!')
      }
    },
    initWeixinShare(weixinSign) {
      wx.config({
        appId: weixinSign.appId,
        timestamp: weixinSign.timestamp,
        nonceStr: weixinSign.nonceStr,
        signature: weixinSign.signature,
        jsApiList: ['checkJsApi', 'getLocation', 'onMenuShareTimeline', 'onMenuShareAppMessage'],
      })

      const shareData = {
        title: '中国仓库数据平台',
        imgUrl: 'http://outter-common.toodc.cn/bigdata-icon.jpg',//一定要注意,此处的imgUrl最好使用网络图片,不要写成本地,不然很可能没有效果,图片显示不出来
        desc:
          '覆盖全国113个城市,土地项目租约全链路跟踪,一手数据对接,专业团队七年沉淀,最新开发商资讯',
      }

      wx.ready(() => {
        wx.onMenuShareTimeline({
          title: shareData.title, // 分享标题
          link: shareData.link || document.location.href, // 分享链接
          imgUrl: shareData.imgUrl, // 分享图标
          success:
            shareData.shareTimelineSuccess ||
            function() {
              console.log('share success')
            },
        })

        wx.onMenuShareAppMessage({
          title: shareData.title, // 分享标题
          desc: shareData.desc, // 分享描述
          link: shareData.link || document.location.href, // 分享链接
          imgUrl: shareData.imgUrl, // 分享图标
          success: function() {
            console.log('share success')
          },
        })
      })

      wx.error(function(res) {
        console.log(res.errMsg)
      })
    },
  },
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值