微信分享(老版本)

427 阅读2分钟

html里面引入

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

js调用后台接口获取签名,时间戳等参数

        var backUrl = window.location.href
        var shareUrl = 分享的链接

        $.ajax({
          type: 'post',
          url: 后台接口,
          data: 分享链接传给后台,
          dataType: 'json',
          success: function(res) {
            var result = res.result.wxReruslt
            var timestamp = result.timestamp //因为服务端是String类型,此处转化成数值类型
            var nonceStr = result.noncestr
            var signature = result.signature

            wx.config({
              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
              appId: 'appId(自己公司的id)', // 必填,公众号的唯一标识
              timestamp: timestamp, // 必填,生成签名的时间戳
              nonceStr: nonceStr, // 必填,生成签名的随机串
              signature: signature, // 必填,签名,见附录1
              jsApiList: [
                'onMenuShareTimeline',
                'onMenuShareAppMessage',
                'onMenuShareQQ',
                'onMenuShareQZone',
                'onMenuShareWeibo'
              ] // 必填,需要使用的JS接口列表
            })
            wx.ready(function() {
              var title = 分享大标题
              var subTitle = 分享小标题
              var imgUrl = 分享照片
              wx.onMenuShareTimeline({
                title: title, // 分享标题
                link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: imgUrl, // 分享图标
                success: function(res) {
                  shareTrue()
                  // 用户确认分享后执行的回调函数
                },
                cancel: function(res) {
                  // 用户取消分享后执行的回调函数
                }
              })
              wx.onMenuShareAppMessage({
                title: title, // 分享标题
                desc: subTitle, // 分享描述
                link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: imgUrl, // 分享图标
                type: '', // 分享类型,music、video或link,不填默认为link
                dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                success: function() {
                  shareTrue()
                  // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                  // 用户取消分享后执行的回调函数
                }
              })
              wx.onMenuShareQQ({
                title: title, // 分享标题
                desc: subTitle, // 分享描述
                link: shareUrl, // 分享链接
                imgUrl: imgUrl, // 分享图标
                success: function() {
                  shareTrue()
                  // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                  // 用户取消分享后执行的回调函数
                }
              })
              wx.onMenuShareQZone({
                title: title, // 分享标题
                desc: subTitle, // 分享描述
                link: shareUrl, // 分享链接
                imgUrl: imgUrl, // 分享图标
                success: function() {
                  shareTrue()
                  // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                  // 用户取消分享后执行的回调函数
                }
              })
              wx.onMenuShareWeibo({
                title: title, // 分享标题
                desc: subTitle, // 分享描述
                link: shareUrl, // 分享链接
                imgUrl: imgUrl, // 分享图标
                success: function() {
                  shareTrue()
                  // 用户确认分享后执行的回调函数
                },
                cancel: function() {
                  // 用户取消分享后执行的回调函数
                }
              })
            })
            wx.error(function(res) {
              console.log(res.errMsg)
              // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
              //alert('error');
            })
          },
          error: function(res) {
            console.log(res)
          }
        })