这个问题已经纠结很多天了,网上各种方式都试了,微信开发者文档提供的几点检查步骤也都一一对应了, 但是就是没有解决问题,求大神指点!
后台获取签名: public static Mapsign(String jsapi_ticket, String url) { Map ret = new HashMap (); String nonce_str = create_nonce_str(); String timestamp = create_timestamp(); String string1; String signature = ""; //注意这里参数名必须全部小写,且必须有序 string1 = "jsapi_ticket=" + jsapi_ticket + "&noncestr=" + nonce_str + "×tamp=" + 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('已注册获取“发送朋友圈”状态事件'); }; } }); }
报错的具体信息是什么呢? 另外检查下你绑定的域名是否已备案, 且通过腾讯的检测。