微信分享功能

微信分享文檔
步驟一:引入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, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc    端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。 
    appId: '', // 必填,企業(yè)號(hào)的唯一標(biāo)識(shí),此處填寫(xiě)企業(yè)號(hào)corpid 
    timestamp: , // 必填,生成簽名的時(shí)間戳              
    nonceStr: '', // 必填,生成簽名的隨機(jī)串 
    signature: '',// 必填,簽名,見(jiàn)附錄1 
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見(jiàn)附錄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ò)誤信息可以打開(kāi)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)聽(tīng)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)見(jiàn)附錄3
});

批量顯示功能按鈕接口

wx.showMenuItems({
    menuList: [] // 要顯示的菜單項(xiàng),所有menu項(xiàng)見(jiàn)附錄3
});

隱藏所有非基礎(chǔ)按鈕接口

wx.hideAllNonBaseMenuItem();

顯示所有功能按鈕接口

wx.showAllNonBaseMenuItem();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容