提示
{"errMsg":"config:ok"}
{errMsg: "onMenuShareTimeline:ok"}
{errMsg: "onMenuShareAppMessage"}
原因很簡單
大佬,是不是你wx.config函數中debug為true;
看到網上說什么的都有,其實問題就是這么簡單,
看文檔看文檔多看官網文檔重要的事情說三遍 ~
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
wx.config({})成功以后 切記在
wx.ready(function() {
// 分享到朋友圈
wx.onMenuShareTimeline({
});
// 分享給朋友
wx.onMenuShareAppMessage({
});
});
代碼如下
$.getJSON(
"http://***:8888/?url=" +
encodeURIComponent(window.location.href),
function(result) {
if (result.msg == "ok") {
console.log(result.toString());
var signature = result.signature;
var timestamp = result.time_stamp;
var nonce_str = result.nonce_str;
wx.config({
debug: false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: "***********", // 必填,公眾號的唯一標識
timestamp: timestamp, // 必填,生成簽名的時間戳
nonceStr: nonce_str, // 必填,生成簽名的隨機串
signature: signature, // 必填,簽名,見附錄1
jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(function() {
// config信息驗證后會執行ready方法,所有接口調用都必須在config接口獲得結果之后,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。
var img_url =
"http://"+
window.location.host +
window.location.pathname +
"static/image/share_logo.png";
console.log(img_url);
var title = $("h2.title").html();
var link = window.location.href;
// 分享到朋友圈
wx.onMenuShareTimeline({
imgUrl: img_url, // 分享圖標
link: link, // 分享鏈接
desc: "", // 分享描述
title: title, // 分享標題,
success: function() {
// 用戶確認分享后執行的回調函數
console.log("
},
cancel: function() {
// 用戶取消分享后執行的回調函數
show_message("分享失敗");
}
});
// 分享給朋友
wx.onMenuShareAppMessage({
link: link, // 分享鏈接
desc: "", // 分享描述
title: title, // 分享標題,
success: function() {
console.log("分享給朋友");
// 用戶確認分享后執行的回調函數
},
cancel: function() {
// 用戶取消分享后執行的回調函數
}
});
});
} else {
}
}
);
