jssdk 分享功能,,及碰到的問題(指定路徑和titile不生效)
阿新 • • 發佈:2018-01-23
record sta 文件 stop load cal 操作 car gif
1.先登錄微信公眾平臺進入“公眾號設置”的“功能設置”裏填寫“JS接口安全域名”
2.在需要調用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
3.所有需要使用JS-SDK的頁面必須先註入配置信息,
wx.config({
debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
appId: ‘‘, // 必填,公眾號的唯一標識
timestamp: , // 必填,生成簽名的時間戳
nonceStr: ‘‘, // 必填,生成簽名的隨機串
signature: ‘‘,// 必填,簽名,見附錄1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});4.
wx.ready(function(){
// config信息驗證後會執行ready方法,所有接口調用都必須在config接口獲得結果之後,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。
wx.onMenuShareAppMessage({ title: ‘拼單邀請‘, desc: ‘拼單邀請‘, link: link, trigger: function (res) { // 不要嘗試在trigger中使用ajax異步請求修改本次分享的內容,因為客戶端分享操作是一個同步操作,這時候使用ajax的回包會還沒有返回 }, success: function (res) { alert(‘分享給朋友成功‘); }, cancel: function (res) { alert(‘你沒有分享給朋友‘); }, fail: function (res) { alert(JSON.stringify(res)); } });
其他的朋友圈什麽的參照sdk
});
5. 碰到的問題 : 以前這些都做好了 然後我在微信web開發者工具上測試是可行的,但是在微信上測試title和鏈接都顯示的當前網頁沒有生效,本來以為是緩存問題,後來看到成功的回調被執行了,就
wx.config({
debug: false,改為true alert出返回值,然後知道是link參數錯誤,,, link要符合 JS接口安全域名。修改後可行
6.最後分享一個公共的weichat.js
(function(){ window.weiChatConfig = function(actionUrl,href_local, callback){ $.ajax({ type : ‘POST‘, async : false, url : actionUrl,//url:‘${pageContext.request.contextPath}/jsApi‘, data : {"url":href_local},//location.href.split("#")[0] datatype : ‘json‘, success : function(msg1){ var msg = eval("("+msg1+")"); wx.config({ debug : false, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。 appId : msg.appId, // 必填,公眾號的唯一標識 timestamp : parseInt(msg.timestamp), // 必填,生成簽名的時間戳 nonceStr : msg.nonceStr, // 必填,生成簽名的隨機串 signature : msg.signature,// 必填,簽名,見附錄1 jsApiList : [ ‘onMenuShareTimeline‘,‘onMenuShareAppMessage‘,‘onMenuShareQQ‘, ‘onMenuShareWeibo‘,‘startRecord‘,‘stopRecord‘, ‘onVoiceRecordEnd‘,‘playVoice‘,‘pauseVoice‘, ‘stopVoice‘,‘onVoicePlayEnd‘,‘uploadVoice‘, ‘downloadVoice‘,‘chooseImage‘,‘previewImage‘, ‘uploadImage‘,‘downloadImage‘,‘translateVoice‘, ‘getNetworkType‘,‘openLocation‘,‘getLocation‘, ‘hideOptionMenu‘,‘showOptionMenu‘,‘hideMenuItems‘, ‘showMenuItems‘,‘hideAllNonBaseMenuItem‘,‘showAllNonBaseMenuItem‘, ‘closeWindow‘,‘scanQRCode‘,‘chooseWXPay‘, ‘openProductSpecificView‘,‘addCard‘,‘chooseCard‘,‘openCard‘ ] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 }); wx.ready(function() { if ( typeof callback === ‘function‘ ) { callback(); } }); } }); } /** * 分享到朋友圈 * @param {Object} shareData */ window.shareTimeLine = function(shareData){ wx.onMenuShareTimeline({ title: shareData.title, // 分享標題 link: shareData.link, // 分享鏈接 imgUrl: shareData.imgUrl, // 分享圖標 success: function () { // 用戶確認分享後執行的回調函數 }, cancel: function () { // 用戶取消分享後執行的回調函數 } }); } /** * 分享給朋友 * @param {Object} shareData */ window.shareAppMsg = function(shareData){ wx.onMenuShareAppMessage({ title: shareData.title, // 分享標題 desc: shareData.desc, // 分享描述 link: shareData.link, // 分享鏈接 imgUrl: shareData.imgUrl, // 分享圖標 type: ‘‘, // 分享類型,music、video或link,不填默認為link dataUrl: ‘‘, // 如果type是music或video,則要提供數據鏈接,默認為空 success: function () { // 用戶確認分享後執行的回調函數 }, cancel: function () { // 用戶取消分享後執行的回調函數 } }); } /** * 分享到QQ * @param {Object} shareData */ window.shareQQ = function(shareData){ wx.onMenuShareQQ({ title: shareData.title, // 分享標題 desc: shareData.desc, // 分享描述 link: shareData.link, // 分享鏈接 imgUrl: shareData.imgUrl, // 分享圖標 success: function () { // 用戶確認分享後執行的回調函數 }, cancel: function () { // 用戶取消分享後執行的回調函數 } }); } /** * 分享到騰訊微博 * @param {Object} shareData */ window.shareWeibo = function(shareData){ wx.onMenuShareWeibo({ title: shareData.title, // 分享標題 desc: shareData.desc, // 分享描述 link: shareData.link, // 分享鏈接 imgUrl: shareData.imgUrl, // 分享圖標 success: function () { // 用戶確認分享後執行的回調函數 }, cancel: function () { // 用戶取消分享後執行的回調函數 } }); } window.shareAll = function(shareData){ shareTimeLine(shareData); shareAppMsg(shareData); shareQQ(shareData); shareWeibo(shareData); } /** * 微信支付 */ window.wxpayjsapi = function(wxorder){ wx.chooseWXPay({ timestamp : wxorder.timeStamp, // 支付簽名時間戳 nonceStr : wxorder.nonceStr, //支付簽名隨即字符串,<=32 package : wxorder.package, //統一支付接口返回的prepay_id參數值,格式:prepay_id=xxxx signType : wxorder.signType, //簽名方式,默認為‘SHA1‘,新版為‘MD5‘ paySign : wxorder.paySign, //支付簽名 success : function (res) { // 支付成功後的回調函數 if(res.indexof("ok") > 0){ alert("支付成功"); } else if(res.indexof("cancel") > 0){ alert("支付過程中用戶取消"); } else if(res.indexof("fail") > 0){ alert("支付失敗"); } } }); } })(); <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/javascript"> weiChatConfig(webRoot+‘weichatApi/jsConfig/config.json‘,location.href.split(" #")[0]); //通過config接口註入權限驗證配置
//weichatApi/jsConfig/config.json 是控制器返回wx.config的相關參數
</script>
jssdk 分享功能,,及碰到的問題(指定路徑和titile不生效)