美文网首页
微信分享到朋友圈

微信分享到朋友圈

作者: ScottInXian | 来源:发表于2017-06-05 21:24 被阅读0次

    上礼拜工作有个需求,

    用户使用PC浏览网页时,

    可点击把文章分享到朋友圈的功能,

    为此我到了微信公众平台查官方文档,

    https://mp.weixin.qq.com/wiki

    一直认为"微信JS-SDK说明文档",就是我要的文档,

    依照了说明:
    先用appId及appSecret获取access_token,
    再用access_token获取jsapi_ticket,
    将jsapi_ticket、nonceStr、timestamp及要分享的url用sha1产生signature,
    接着在js中加入下面代码(代码取自官方提供的范例)

    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script>
      wx.config({
        debug: true,
        appId: '自己的appid',
        timestamp: '用来产生签名的时间戳',
        nonceStr: '用来产生签名的乱数字符串',
        signature: '产生的签名',
    // 所有要调用的 API 都要加到这个列表中    
        jsApiList: ['onMenuShareTimeline']
      });
    weixinShare = function(){
      wx.ready(function () {
      // 在这里调用 API
        wx.onMenuShareTimeline({
          title: '我的第一个标题', // 分享标题
          link: '我文章的链接', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: '分享图片的链接', // 分享图标
          success: function () { 
            // 用户确认分享后执行的回调函数
          },
          cancel: function () { 
            // 用户取消分享后执行的回调函数
          }
        });
      });
    }
    </script>
    

    在html加上点击事件

    <a href="javascript:;" onclick="weixinShare()">share</a>
    

    但调试了快一个星期,

    分享的popup视窗就是没有出现,

    也没有报错。

    上百度搜,很少有人分享怎么解决这个问题,

    也很少有人分享遇到这个问题,

    我再去看了简书的微信分享功能,

    接着找同事小小小小小小抱怨(= =#)这个功能我遇到的情况,

    与同事讨论的过程中,突然间我恍然大悟!

    凶手就在这些人之中(柯南上身)

    原来这是H5的微信分享这是H5的微信分享这是H5的微信分享
    (本公司H5代表手机上的web页面)

    我崩溃了~~~

    微信没有办法像脸书或微博一样,
    在网页引用官方js,
    用appId调用官方分享服务的接口,
    直接分享文章到脸书或微博的网站。

    因为微信朋友圈,
    是在微信App的一个功能页面,
    不是一个网站!不是一个网站!不是一个网站!

    所以必须用手机打开微信App,
    点击下方的"发现",再点击右上方的扫一扫,
    扫qrcode,扫完后,微信app会开启该页面,
    用户再点击右上方...的图标,再点击下方分享到朋友圈。

    如此才可以把PC上看到的网页分享到朋友圈。

    于是我萌了,
    根本不需要获取啥access_token或jsapi_ticket(还要全局缓存),
    再产生signature来调用分享的接口,

    只需要产生要分享网址的qrcode就可以了。

    恍然大悟的我立马百度了产生qrcode的jquery插件,
    https://github.com/jeromeetienne/jquery-qrcode/

    然后在用户点击分享到微信朋友圈图标时,
    弹出一个popup,调用产生qrcode的插件产生qrcode,
    3分钟完成了在PC上将文章分享到微信朋友圈的功能。

    这个让我失眠好多天的需求,解决方式只是产生一个qrcode这么的简单。

    完全不需要引用官方的js及调用微信的服务接口,
    因为分享到朋友圈是在微信App上实现的,
    不是在PC上实现的。

    相关文章

      网友评论

          本文标题:微信分享到朋友圈

          本文链接:https://www.haomeiwen.com/subject/ryjwfxtx.html