微信JSSDK,config执行的时候报错

这个问题已经纠结很多天了,网上各种方式都试了,微信开发者文档提供的几点检查步骤也都一一对应了, 但是就是没有解决问题,求大神指点!

后台获取签名:
    

public static Map<String, String> sign(String jsapi_ticket, String url) {
        Map<String, String> ret = new HashMap<String, String>();
        String nonce_str = create_nonce_str();
        String timestamp = create_timestamp();
        String string1;
        String signature = "";

        //注意这里参数名必须全部小写,且必须有序
        string1 = "jsapi_ticket=" + jsapi_ticket +
                  "&noncestr=" + nonce_str +
                  "&timestamp=" + timestamp +
                  "&url=" + url;
        System.out.println(string1);

        try
        {
            MessageDigest crypt = MessageDigest.getInstance("SHA-1");
            crypt.reset();
            crypt.update(string1.getBytes("UTF-8"));
            signature = byteToHex(crypt.digest()).toLowerCase();
        }
        catch (NoSuchAlgorithmException e)
        {
            e.printStackTrace();
        }
        catch (UnsupportedEncodingException e)
        {
            e.printStackTrace();
        }

        ret.put("url", url);
        ret.put("jsapi_ticket", jsapi_ticket);
        ret.put("nonceStr", nonce_str);
        ret.put("timestamp", timestamp);
        ret.put("signature", signature);

        return ret;
    }
    
    前台js$(function(){
    initWeixinInfo();
});

function initWeixinInfo() {
    var url = "http://localhost:8081/yblapp/mpbweb/html/about/share_register.html?code=98563579";
    $.ajax({
        type : 'POST',
        dataType : 'json',
        data : {url:url},
        url :SERVICES_URL+'/wxuser/initWeixinInfo',
        success : function(data) {
            // 微信配置
            wx.config({
                debug: true, 
                appId: "wxd9c3b7609f1d50be", 
                timestamp: data.timestamp, 
                nonceStr: data.nonceStr, 
                signature: data.signature,
                jsApiList: ['onMenuShareAppMessage','onMenuShareTimeline'] // 功能列表,我们要使用JS-SDK的什么功能
            });
            var imgUrl = "http://www.pptfans.cn/wp-content/themes/pptfans3.0/images/share-logo.jpg";
            var lineLink = data.url;
            // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在 页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。
            // 2. 分享接口
            wx.ready(function(){
                  // 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
                  document.querySelector('#onMenuShareAppMessage').onclick = function () {
                    wx.onMenuShareAppMessage({
                      title: '互联网之子 方倍工作室',
                      desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
                      link: lineLink,
                      imgUrl: imgUrl,
                      trigger: function (res) {
                        alert('用户点击发送给朋友');
                      },
                      success: function (res) {
                        alert('已分享');
                      },
                      cancel: function (res) {
                        alert('已取消');
                      },
                      fail: function (res) {
                        alert(JSON.stringify(res));
                      }
                    });
                    alert('已注册获取“发送给朋友”状态事件');
                  };
                  
                // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
                  document.querySelector('#onMenuShareTimeline').onclick = function () {
                      wx.onMenuShareTimeline({    
                            title: '分享标题', // 分享标题
                            link: lineLink,
                            imgUrl: imgUrl, // 分享图标
                            type: 'link',// 分享类型,music、video或link,不填默认为link
                            trigger: function (res) {
                                alert('用户点击发送给朋友圈');
                              },
                              success: function (res) {
                                alert('已分享');
                              },
                              cancel: function (res) {
                                alert('已取消');
                              },
                              fail: function (res) {
                                alert(JSON.stringify(res));
                              }
                        });
                    alert('已注册获取“发送朋友圈”状态事件');
                  };
        }
    });
}
阅读 4.2k
1 个回答

报错的具体信息是什么呢? 另外检查下你绑定的域名是否已备案, 且通过腾讯的检测。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题