微信分享文檔
步驟一:引入JS文件
在需要調(diào)用JS接口的頁(yè)面引入如下JS文件,
(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
備注:支持使用 AMD/CMD 標(biāo)準(zhǔn)模塊加載方法加載
步驟二:通過(guò)config接口注入權(quán)限驗(yàn)證配置
所有需要使用JS-SDK的頁(yè)面必須先注入配置信息漓库,否則將無(wú)法調(diào)用(同一個(gè)url僅需調(diào)用一次维咸,對(duì)于變化url的SPA的web app可在每次url變化時(shí)進(jìn)行調(diào)用,目前Android微信客戶端不支持pushState的H5新特性尾组,所以使用pushState來(lái)實(shí)現(xiàn)web app的頁(yè)面會(huì)導(dǎo)致簽名失敗臼予,此問(wèn)題會(huì)在Android6.2中修復(fù))侣颂。
wx.config({
debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù)迹辐,可以在pc 端打開蝶防,參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印明吩。
appId: '', // 必填间学,企業(yè)號(hào)的唯一標(biāo)識(shí),此處填寫企業(yè)號(hào)corpid
timestamp: , // 必填贺喝,生成簽名的時(shí)間戳
nonceStr: '', // 必填菱鸥,生成簽名的隨機(jī)串
signature: '',// 必填,簽名躏鱼,見附錄1
jsApiList: [] // 必填氮采,需要使用的JS接口列表,所有JS接口列表見附錄2
});
步驟三:通過(guò)ready接口處理成功驗(yàn)證
wx.ready(function(){
// config信息驗(yàn)證后會(huì)執(zhí)行ready方法染苛,所有接口調(diào)用都必須在config接口獲得結(jié)果之后鹊漠,config是一個(gè)客戶端的異步操作,所以如果需要在頁(yè)面加載時(shí)就調(diào)用相關(guān)接口茶行,則須把相關(guān)接口放在ready函數(shù)中調(diào)用來(lái)確保正確執(zhí)行躯概。對(duì)于用戶觸發(fā)時(shí)才調(diào)用的接口,則可以直接調(diào)用畔师,不需要放在ready函數(shù)中娶靡。
});
步驟四:通過(guò)error接口處理失敗驗(yàn)證
wx.error(function(res){
// config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù),如簽名過(guò)期導(dǎo)致驗(yàn)證失敗看锉,具體錯(cuò)誤信息可以打開config的debug模式查看姿锭,也可以在返回的res參數(shù)中查看,對(duì)于SPA可以在這里更新簽名伯铣。
});
接口調(diào)用說(shuō)明
所有接口通過(guò)wx對(duì)象(也可使用jWeixin對(duì)象)來(lái)調(diào)用呻此,參數(shù)是一個(gè)對(duì)象,除了每個(gè)接口本身需要傳的參數(shù)之外腔寡,還有以下通用參數(shù):
1.success:接口調(diào)用成功時(shí)執(zhí)行的回調(diào)函數(shù)焚鲜。
2.fail:接口調(diào)用失敗時(shí)執(zhí)行的回調(diào)函數(shù)。
3.complete:接口調(diào)用完成時(shí)執(zhí)行的回調(diào)函數(shù)放前,無(wú)論成功或失敗都會(huì)執(zhí)行忿磅。
4.cancel:用戶點(diǎn)擊取消時(shí)的回調(diào)函數(shù),僅部分有用戶取消操作的api才會(huì)用到犀斋。
5.trigger: 監(jiān)聽Menu中的按鈕點(diǎn)擊時(shí)觸發(fā)的方法贝乎,該方法僅支持Menu中的相關(guān)接口。
獲取“分享到朋友圈”按鈕點(diǎn)擊狀態(tài)及自定義分享內(nèi)容接口
wx.onMenuShareTimeline({
title: '', // 分享標(biāo)題
link: '', // 分享鏈接叽粹,該鏈接域名必須與當(dāng)前企業(yè)的可信域名一致
imgUrl: '', // 分享圖標(biāo)
success: function () {
// 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
},
cancel: function () {
// 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
}
});
獲取“分享給朋友”按鈕點(diǎn)擊狀態(tài)及自定義分享內(nèi)容接口
wx.onMenuShareAppMessage({
title: '', // 分享標(biāo)題
desc: '', // 分享描述
link: '', // 分享鏈接览效,該鏈接域名必須與當(dāng)前企業(yè)的可信域名一致
imgUrl: '', // 分享圖標(biāo)
type: '', // 分享類型,music、video或link虫几,不填默認(rèn)為link
dataUrl: '', // 如果type是music或video锤灿,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
success: function () {
// 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
},
cancel: function () {
// 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
}
});
界面操作
隱藏右上角菜單接口
wx.hideOptionMenu();
顯示右上角菜單接口
wx.showOptionMenu();
關(guān)閉當(dāng)前網(wǎng)頁(yè)窗口接口
wx.closeWindow();
批量隱藏功能按鈕接口
wx.hideMenuItems({
menuList: [] // 要隱藏的菜單項(xiàng)辆脸,所有menu項(xiàng)見附錄3
});
批量顯示功能按鈕接口
wx.showMenuItems({
menuList: [] // 要顯示的菜單項(xiàng)但校,所有menu項(xiàng)見附錄3
});
隱藏所有非基礎(chǔ)按鈕接口
wx.hideAllNonBaseMenuItem();
顯示所有功能按鈕接口
wx.showAllNonBaseMenuItem();