讀古今文學網 > 微信公眾平台開發:從零基礎到ThinkPHP5高性能框架實踐 > 14.3 接口列表 >

14.3 接口列表

1.基礎接口

判斷當前客戶端版本是否支持指定JS接口,使用方法如下。


wx.checkJsApi({
    jsApiList: ['chooseImage'],        // 需要檢測的JS接口列表
    success: function(res) {
        // 以鍵值對的形式返回,可用的API值為true,不可用為false
        // 如{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
    }
});
  

2.分享接口

獲取「分享到朋友圈」按鈕點擊狀態及自定義分享內容接口的使用方法如下。


wx.onMenuShareTimeline({
    title: '',                       // 分享標題
    link: '',                        // 分享鏈接
    imgUrl: '',                      // 分享圖標
    success: function  { 
        // 用戶確認分享後執行的回調函數
    },
    cancel: function  { 
        // 用戶取消分享後執行的回調函數
    }
});
  

獲取「分享給朋友」按鈕點擊狀態及自定義分享內容接口的使用方法如下。


wx.onMenuShareAppMessage({
    title: '',                       // 分享標題
    desc: '',                        // 分享描述
    link: '',                        // 分享鏈接
    imgUrl: '',                      // 分享圖標
    type: '',                        // 分享類型,music、video或link,不填默認為link
    dataUrl: '',                     // 如果type是music或video,則要提供數據鏈接,默認為空
    success: function  { 
        // 用戶確認分享後執行的回調函數
    },
    cancel: function  { 
        // 用戶取消分享後執行的回調函數
    }
});
  

獲取「分享到QQ」按鈕點擊狀態及自定義分享內容接口的使用方法如下。


wx.onMenuShareQQ({
    title: '',                       // 分享標題
    desc: '',                        // 分享描述
    link: '',                        // 分享鏈接
    imgUrl: '',                      // 分享圖標
    success: function  { 
        // 用戶確認分享後執行的回調函數
    },
    cancel: function  { 
        // 用戶取消分享後執行的回調函數
    }
});
  

獲取「分享到騰訊微博」按鈕點擊狀態及自定義分享內容接口的使用方法如下。


wx.onMenuShareWeibo({
    title: '',                                  // 分享標題
    desc: '',                                   // 分享描述
    link: '',                                   // 分享鏈接
    imgUrl: '',                                 // 分享圖標
    success: function  { 
        // 用戶確認分享後執行的回調函數
    },
    cancel: function  { 
        // 用戶取消分享後執行的回調函數
    }
});
  

獲取「分享到QQ空間」按鈕點擊狀態及自定義分享內容接口的使用方法如下。


wx.onMenuShareQZone({
    title: '',                                  // 分享標題
    desc: '',                                   // 分享描述
    link: '',                                   // 分享鏈接
    imgUrl: '',                                 // 分享圖標
    success: function  { 
        // 用戶確認分享後執行的回調函數
    },
    cancel: function  { 
        // 用戶取消分享後執行的回調函數
    }
});
  

3.圖像接口

拍照或從手機相冊中選圖接口的使用方法如下。


wx.chooseImage({
    count: 1,                               // 默認為9
    sizeType: ['original', 'compressed'],   // 可以指定是原圖還是壓縮圖,默認兩者都有
    sourceType: ['album', 'camera'],        // 可以指定來源是相冊還是相機,默認兩者都有
    success: function (res) {
        var localIds = res.localIds;        // 返回選定照片的本地ID列表,localIds可以作
                                            // 為img標籤的src屬性顯示圖片
    }
});
  

預覽圖片接口的使用方法如下。


wx.previewImage({
    current: '',                               // 當前顯示圖片的HTTP鏈接
    urls:                                    // 需要預覽的圖片HTTP鏈接列表
});
  

上傳圖片接口的使用方法如下。


wx.uploadImage({
    localId: '',                      // 需要上傳的圖片的本地ID,由chooseImage接口獲得
    isShowProgressTips: 1,            // 默認為1,顯示進度提示
    success: function (res) {
        var serverId = res.serverId;  // 返回圖片的服務器端ID
    }
});
  

下載圖片接口的使用方法如下。


wx.downloadImage({
    serverId: '',                  // 需要下載的圖片的服務器端ID,由uploadImage接口獲得
    isShowProgressTips: 1,         // 默認為1,顯示進度提示
    success: function (res) {
        var localId = res.localId; // 返回圖片下載後的本地ID
    }
});
  

4.音頻接口

開始錄音接口的使用方法如下。


wx.startRecord;

停止錄音接口的使用方法如下。


wx.stopRecord({
    success: function (res) {
        var localId = res.localId;
    }
});
  

監聽錄音自動停止接口的使用方法如下。


wx.onVoiceRecordEnd({
    // 錄音時間超過一分鐘沒有停止的時候會執行 complete 回調
    complete: function (res) {
        var localId = res.localId; 
    }
});
  

播放音頻接口的使用方法如下。


wx.playVoice({
    localId: ''                          // 需要播放的音頻的本地ID,由stopRecord接口獲得
});
  

暫停播放音頻接口的使用方法如下。


wx.pauseVoice({
    localId: ''                          // 需要暫停播放的音頻的本地ID,由stopRecord接口獲得
});
  

停止播放音頻的接口的使用方法如下。


wx.stopVoice({
    localId: ''                          // 需要停止播放的音頻的本地ID,由stopRecord接口獲得
});
  

監聽音頻播放完畢接口的使用方法如下。


wx.onVoicePlayEnd({
    success: function (res) {
        var localId = res.localId;  // 返回音頻的本地ID
    }
});
  

上傳音頻接口的使用方法如下。


wx.uploadVoice({
    localId: '',                      // 需要上傳的音頻的本地ID,由stopRecord接口獲得
    isShowProgressTips: 1,            // 默認為1,顯示進度提示
        success: function (res) {
        var serverId = res.serverId;  // 返回音頻的服務器端ID
    }
});
  

下載音頻接口的使用方法如下。


wx.downloadVoice({
    serverId: '',                  // 需要下載的音頻的服務器端ID,由uploadVoice接口獲得
    isShowProgressTips: 1,         // 默認為1,顯示進度提示
    success: function (res) {
        var localId = res.localId; // 返回音頻的本地ID
    }
});
  

5.智能接口

識別音頻並返回識別結果接口的使用方法如下。


wx.translateVoice({
    localId: '',                              // 需要識別的音頻的本地ID,由錄音相關接口獲得
    isShowProgressTips: 1,                    // 默認為1,顯示進度提示
    success: function (res) {
        alert(res.translateResult);           // 音頻識別的結果
    }
});
  

6.設備信息

獲取網絡狀態接口的使用方法如下。


wx.getNetworkType({
    success: function (res) {
        var networkType = res.networkType;  // 返回網絡類型:2G、3G、4G、WiFi
    }
});
  

7.地理位置

使用微信內置地圖查看位置接口的使用方法如下。


wx.openLocation({
    latitude: 0,                          // 緯度,浮點數,範圍為90 ~ -90
    longitude: 0,                         // 經度,浮點數,範圍為180 ~ -180
    name: '',                             // 位置名
    address: '',                          // 地址詳情說明
    scale: 1,                             // 地圖縮放級別,整型值,範圍為1~28,默認為最大
    infoUrl: ''                           // 在查看位置界面底部顯示的超鏈接,可點擊跳轉
});
  

獲取地理位置接口的使用方法如下。


wx.getLocation({
    type: 'wgs84',                     // 默認為wgs84的GPS坐標,如果要返回直接給openLo
                                       // cation用的火星坐標,可傳入'gcj02'
    success: function (res) {
        var latitude = res.latitude;   // 緯度,浮點數,範圍為90 ~ -90
        var longitude = res.longitude; // 經度,浮點數,範圍為180 ~ -180
        var speed = res.speed;         // 速度,以米/每秒計
        var accuracy = res.accuracy;   // 位置精度
    }
});
  

8.搖一搖周邊

開啟查找周邊iBeacon設備接口的使用方法如下。


wx.startSearchBeacons({
    ticket:"",                  // 搖周邊的業務Ticket,系統自動添加在搖出來的頁面鏈接後面
    complete:function(argv){
        // 開啟查找完成後的回調函數
    }
});
  

關閉查找周邊iBeacon設備接口的使用方法如下。


wx.stopSearchBeacons({
    complete:function(res){
        // 關閉查找完成後的回調函數
    }
});
  

監聽周邊iBeacon設備接口的使用方法如下。


wx.onSearchBeacons({
    complete:function(argv){
        // 回調函數,可以數組形式取得該商家註冊的在周邊的相關設備列表
    }
});
  

9.界面操作

隱藏右上角菜單接口的使用方法如下。


wx.hideOptionMenu;
  

顯示右上角菜單接口的使用方法如下。


wx.showOptionMenu;
  

關閉當前網頁窗口接口的使用方法如下。


wx.closeWindow;

批量隱藏功能按鈕接口的使用方法如下。


wx.hideMenuItems({
    menuList:                           // 要隱藏的菜單項,只能隱藏「傳播類」和「保護類」按鈕
});
  

批量顯示功能按鈕接口的使用方法如下。


wx.showMenuItems({
    menuList:                           // 要顯示的菜單項
});
  

隱藏所有非基礎按鈕接口的使用方法如下。


wx.hideAllNonBaseMenuItem;          // 「基本類」按鈕
  

顯示所有功能按鈕接口的使用方法如下。


wx.showAllNonBaseMenuItem;
  

10.微信掃一掃

調起微信掃一掃接口的使用方法如下。


wx.scanQRCode({
    needResult: 0,                   // 默認為0,掃瞄結果由微信處理,1則直接返回掃瞄結果
    scanType: ["qrCode","barCode"],  // 可以指定掃二維碼還是一維碼,默認兩者都有
    success: function (res) {
    var result = res.resultStr;      // 當needResult 為 1 時,掃碼返回的結果
}
});
  

11.微信小店

跳轉微信商品頁接口的使用方法如下。


wx.openProductSpecificView({
    productId: '',         // 商品ID
    viewType: ''           // 0:默認值,普通商品詳情頁;1:掃一掃商品詳情頁;2:小店商品詳情頁
});
  

12.微信卡券

批量添加卡券接口的使用方法如下。


wx.addCard({
    cardList: [{
        cardId: '',
        cardExt: ''
    }],                              // 需要添加的卡券列表
    success: function (res) {
        var cardList = res.cardList; // 添加的卡券列表信息
    }
});
  

查看微信卡包中的卡券接口的使用方法如下。


wx.openCard({
    cardList: [{
        cardId: '',
        code: ''
    }]                                   // 需要打開的卡券列表
});
  

13.微信支付

發起一個微信支付請求的使用方法如下。


wx.chooseWXPay({
    timestamp: 0, // 支付簽名時間戳,注意微信JS-SDK中的所有timestamp字段均為小寫。但最新版
                  // 的支付後台生成簽名使用的timeStamp字段名需大寫其中的S字符
    nonceStr: '', // 支付簽名隨機字符串,不長於32位
    package: '',  // 統一支付接口返回的prepay_id參數值,提交格式為prepay_id=***)
    signType: '', // 簽名方式,默認為'SHA1',使用新版支付需傳入'MD5'
    paySign: '',  // 支付簽名
    success: function (res) {
        // 支付成功後的回調函數
    }
});