收藏
回答

微信分享求助



HTML5页面中的JAVASCRIPT

返回都是正确的,但是我在分享的时候,onMenuShareTimelineonMenuShareAppMessage无反应,这是什么原因?

1、公众号中的JS安全域名已经设置

2、服务器白名单已经设置

3、access_token也是能正确返回

4、我开启测试模式,在手机上扫一扫后,显示的提示信息也是OK,没有报错


现在的问题就是分享无反应,求哪位大大帮忙看看

AJAX请求返回串:

[{"timestamp":"1530665124","appid":"wx29d5ff37be06471f","nonceStr":"fa20b353-3e99-4156-b59d-7a0558267ae0","jsapi_ticket":"HoagFKDcsGMVCIY2vOjf9nGvbrai3ssriRNDiz2rVnMK8XIf5nRbh-kkY8borm3b2kKwDTj8VOPgX7T_rcVfaA","signature":"88cd5aedbe0e00edcf03696caaf36506483c6963","url":当前的链接}]



$(document).ready(function(){

$.ajax({

type:"post",

url:"/WeChat/config.html",

data:{"url":location.href.split('#')[0]},

async: false,

dataType:'json',

success: function(data){

var obj = eval(data[0]);

wx.config({

   debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

   appId: obj.appid, // 必填,公众号的唯一标识

   timestamp: obj.timestamp, // 必填,生成签名的时间戳

   nonceStr: obj.nonceStr, // 必填,生成签名的随机串

   signature: obj.signature,// 必填,签名

   jsApiList: ['checkJsApi','onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表

});

}

})

})

wx.ready(function(){

       var link = window.location.href;

       var protocol = window.location.protocol;

       var host = window.location.host;

       console.log(link);

       console.log(host);

   wx.checkJsApi({

     jsApiList: [

       'getNetworkType',

       'previewImage'

     ],

     success: function (res) {

       //alert(JSON.stringify(res));

     }

});        

       //分享朋友圈

wx.onMenuShareTimeline({

   title: '分享标题', // 分享标题

   link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

   imgUrl: 'http://www.ceshi.com/images/wxlogo.jpg', // 分享图标

   success: function (res) {

    // 用户点击了分享后执行的回调函数

    //alert(res);

   }

       });

       //分享给好友

       wx.onMenuShareAppMessage({

           title: '分享标题', // 分享标题

           desc: '分享标题', // 分享描述

           link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

           imgUrl: 'http://www.ceshi.com/images/wxlogo.jpg', // 自定义图标

           type: 'link', // 分享类型,music、video或link,不填默认为link

           dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

           success: function () {

               // 用户确认分享后执行的回调函数

           },

           cancel: function () {

               // 用户取消分享后执行的回调函数

           }

       });

       wx.error(function (res) {

           alert("错误提示:" + res.errMsg);

       });

   });


最后一次编辑于  2018-07-04  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

7 个回答

  • 橘子酱
    橘子酱
    2018-07-04

    这个问题困扰很久了,求大神帮帮忙

    2018-07-04
    赞同
    回复 2
    • 星期八
      星期八
      2018-07-06

      1) url要一致

      2) 分型要放到wx.ready去

      2018-07-06
      回复
    • 高慧鹏
      高慧鹏
      08-16回复星期八
      问题依旧存在,星期八同学说的我们都做啦
      08-16
      回复
  • 聚培训施18949371668
    聚培训施18949371668
    2018-07-05

    不是已经出公告了吗? 分享后不在提供是否分享成功的回调...

    2018-07-05
    赞同
    回复 1
    • 橘子酱
      橘子酱
      2018-07-06

      不是指分享结果,而是分享的事件没有执行,因为我分享的时候,图片LOGO,还是默认的LOGO

      2018-07-06
      回复
  • 星期八
    星期八
    2018-07-05

    你的签名中涉用的到的url和当前分享的url不一致导致的

    2018-07-05
    赞同
    回复 3
    • Y豪ོ
      Y豪ོ
      2018-07-05

      现在第一个页面都不成功,签名所用的页面跟分享的页面是同一个。


      console只看到一个输出的信息:window.WeixinJSBridge already exists


      没有报错,不知怎么查找原因。有什么好的方法吗?

      2018-07-05
      回复
    • 橘子酱
      橘子酱
      2018-07-06

      这个实际的URL和分享URL是一致的,这里只是我复制的时候,把一些信息删除了!

      2018-07-06
      回复
    • 星期八
      星期八
      2018-07-06

      分享要放到ready里去

      2018-07-06
      回复
  • Y豪ོ
    Y豪ོ
    2018-07-05

    我也遇到问题,模拟器上试没问题,真机上andriod和ios都不可以,微信版本6.6.6.这个问题困扰很几天了啊,直接引入都不行:

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


    项目是Nuxt构建的Vue,SPA问题自己知道,但是一个页面都不能成功,调试也是麻烦,一步一个alert都没问题,然后分享就是不能定制文案。。。



    2018-07-05
    赞同
    回复 4
    • 橘子酱
      橘子酱
      2018-07-06

      希望你能解决,文档这方面也没写清楚,我自己检查了很多遍,都没有问题,开启调试模式,显示也是OK,但是分享事件就是不执行

      2018-07-06
      回复
    • 星期八
      星期八
      2018-07-06

      你的签名中涉用的到的url和当前分享的url不一致导致的

      2018-07-06
      回复
    • Y豪ོ
      Y豪ོ
      2018-07-06

      @ 橘子酱 昨天晚上在同事的协助下,找到了问题:

      wx.onMenuShareTimeline({
          link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      },


      这个Link一定要与公众号里的js安全域名一致(可以填写三个)。真是让人又想哭又想笑,wx的接口做的也真是够了,真机上调试都不会报错!

      2018-07-06
      1
      回复
    • Y豪ོ
      Y豪ོ
      2018-07-06

      思路:

      1. 试一下其他的JS SDK的其他接口有没有生效,比如选择图片,分享到QQ、QQ空间这些。假如这些可以使用那说明config的参数应该没问题。有问题检查config参数。

      2. 再次检查分享的参数,link。

      3. 弄一个demo页,试一下。

      2018-07-06
      1
      回复
  • Walker
    Walker
    2018-07-06

    开启debug有报信息吗?wx.checkJsApi这一步有没有success?

    2018-07-06
    赞同
    回复 1
    • 橘子酱
      橘子酱
      2018-07-06

      开DEBUG,都有报信息WX.CHECKJSAPI,也是提示OK,支持的

      刚打开页面的时候,MSG也是显示OK的

      2018-07-06
      回复
  • 袁述(小程序全栈开发工程师)
    袁述(小程序全栈开发工程师)
    2018-07-06

    这是小程序?能分享到朋友圈?

    2018-07-06
    赞同
    回复
  • 岁月如歌
    岁月如歌
    2018-10-15

    楼主解决了吗!我也卡这了 求助!!


    2018-10-15
    赞同
    回复