微信公众号h5 微信分享朋友 分享给朋友圈 分享给朋友

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

微信公众号h5 微信分享朋友 分享给朋友圈 分享给朋友

我是在APP.vue里面引入的

  1. 首先下载 微信jssdk
    npm install weixin-js-sdk -seve
  2. 在app.vue里面引入
    import wx from ‘weixin-js-sdk’
  3. 然后请求后端的签名接口
<script>
  import { zhou } from '@/api'    // 此处是引入的后端的签名接口
  import wx from 'weixin-js-sdk'    // 此处是引入的微信jssdk

  export default {
    name: 'App',
    data() {
      return {}
    },
    created() {},
    mounted() {
      this.getM01()
    },
    methods: {
      getzhou() {
        zhou({
          signurl: window.location.href.split('#')[0],    //   这里我用的路由模式是hash  所以只传#号前面的链接就行了    使用路由模式 history的话需要链接上的全部参数    signurl: window.location.href。
        }).then((res) => {
          wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: res.resBody.appid, // 必填,公众号的唯一标识            // 这里填你们后端返回的appid
            timestamp: res.resBody.timestamp, // 必填,生成签名的时间戳          // 这里填你们后端返回的生成签名的时间戳
            nonceStr: res.resBody.nonceStr, // 必填,生成签名的随机串               // 这里填你们后端返回的生成签名的随机串 
            signature: res.resBody.signature, // 必填,签名                      // 这里填你们后端返回的签名
            jsApiList: [
              'scanQRCode',
              'closeWindow',
              'chooseImage',
              'getLocalImgData',
              'updateAppMessageShareData',
              'updateTimelineShareData',
              'chooseWXPay',
              'getLocation',
              'onMenuShareTimeline',
              'onMenuShareAppMessage',
            ], // 必填,需要使用的JS接口列表
          })
          wx.ready(function () {
            wx.checkJsApi({
              jsApiList: [
                'scanQRCode',
                'closeWindow',
                'chooseImage',
                'getLocalImgData',
                'updateAppMessageShareData',
                'updateTimelineShareData',
                'chooseWXPay',
                'getLocation',
                'onMenuShareTimeline',
                'onMenuShareAppMessage',
              ], // 需要检测的 JS 接口列表,所有 JS 接口列表见附录2,
              success: function (res) {
                console.log('wxJsApi success:', res)
              },
              fail: (err) => {
                console.log('wxJsApi fail:', err)
              },
            })
            // config信息验证后会执行 ready 方法,所有接口调用都必须在 config 接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在 ready 函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在 ready 函数中。
          })
        })
      },
    },
  }
</script>

以下进入分享实例 在你需要分享的页面里写入这些代码 (重要)

  1. 首先还是引入微信的jssdk
    import wx from ‘weixin-js-sdk’
    下面就是分享的重要代码
  wx.ready(() => {
            //需在用户可能点击分享按钮前就先调用
            if (wx.updateAppMessageShareData) {  // 很多人疑惑了 这里我为什么要进行一个if判断看最下面
              console.log(res.resBody.item_name)
              wx.updateAppMessageShareData({
                //分享给朋友及分享到QQ
                title: this.goodsList.item_name,
                desc: this.goodsList.item_name,
                link: `需要分享出去的链接`,
                imgUrl: this.goodsList.pic_url,
                trigger: () => {
                  console.log('点击分享')
                },
                success: () => {
                  console.log('分享成功')
                },
                cancel: () => {
                  console.log('分享取消')
                },
                fail: () => {
                  console.log('分享失败')
                },
              })
            } else {
              console.log(this.goodsList.item_name)
              wx.onMenuShareAppMessage({
                //分享给朋友及分享到QQ
                title: this.goodsList.item_name,
                desc: this.goodsList.item_name,
                link: `需要分享出去的链接`,
                imgUrl: this.goodsList.pic_url,
                trigger: () => {
                  console.log('点击分享')
                },
                success: () => {
                  console.log('分享成功')
                },
                cancel: () => {
                  console.log('分享取消')
                },
                fail: () => {
                  console.log('分享失败')
                },
              })
            }
            if (wx.updateTimelineShareData) {
              wx.updateTimelineShareData({
                //分享到朋友圈及分享到QQ空间
                title: this.goodsList.item_name,
                link: `需要分享出去的链接`,
                imgUrl: this.goodsList.pic_url,
                trigger: () => {
                  console.log('点击分享')
                },
                success: () => {
                  console.log('分享成功')
                },
                cancel: () => {
                  console.log('分享取消')
                },
                fail: () => {
                  console.log('分享失败')
                },
              })
            } else {
              wx.onMenuShareTimeline({
                //分享到朋友圈及分享到QQ空间
                title: this.goodsList.item_name,
                link: `需要分享出去的链接`,
                imgUrl: this.goodsList.pic_url,
                trigger: () => {
                  console.log('点击分享')
                },
                success: () => {
                  console.log('分享成功')
                },
                cancel: () => {
                  console.log('分享取消')
                },
                fail: () => {
                  console.log('分享失败')
                },
              })
            }
          })
        

讲解一下上面代码中的if判断

if (wx.updateAppMessageShareData)
这个判断是判断的是否是true 这个true代表的有这个方法 有的手机机型不支持最新的微信分享方法 所以需要使用到老的微信分享的方法
如果有这个 就走最新的微信分享的方法

在这里插入图片描述

以上就是我的微信分享

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周亚鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值