[官方文檔]https://developers.weixin.qq.com/miniprogram/dev/api/
[TOC]
小程序開發框架提供豐富的微信原生API,可以方便的調用微信提供的能力,如獲取用戶信息,本地存儲,支付功能等。
說明:
* wx.on 開頭的 API 是監聽某個事件發生的API接口,接受一個 CALLBACK 函數作為參數。當該事件觸發時,會調用 CALLBACK 函數。
* 如未特殊約定,其他 API 接口都接受一個OBJECT作為參數。
* OBJECT中可以指定success, fail, complete來接收接口調用結果。
| 參數名 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| success | Function | 否 | 接口調用成功的回調函數 |
| fail | Function | 否 | 接口調用失敗的回調函數 |
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
## 網絡 API
`wx.request` 發起網絡請求
`wx.uploadFile` 上傳文件
`wx.downloadFile` 下載文件
`wx.connectSocket` 創建 WebSocket 連接
`wx.onSocketOpen` 監聽 WebSocket 打開
`wx.onSocketError` 監聽 WebSocket 錯誤
`wx.sendSocketMessage` 發送 WebSocket 消息
`wx.onSocketMessage` 接受 WebSocket 消息
`wx.closeSocket` 關閉 WebSocket 連接
`wx.onSocketClose` 監聽 WebSocket 關閉
## 媒體 API
`wx.chooseImage` 從相冊選擇圖片,或者拍照
`wx.previewImage` 預覽圖片
`wx.startRecord` 開始錄音
`wx.stopRecord` 結束錄音
`wx.playVoice` 播放語音
`wx.pauseVoice` 暫停播放語音
`wx.stopVoice` 結束播放語音
`wx.getBackgroundAudioPlayerState` 獲取音樂播放狀態
`wx.playBackgroundAudio` 播放音樂
`wx.pauseBackgroundAudio` 暫停播放音樂
`wx.seekBackgroundAudio` 控制音樂播放進度
`wx.stopBackgroundAudio` 停止播放音樂
`wx.onBackgroundAudioPlay` 監聽音樂開始播放
`wx.onBackgroundAudioPause` 監聽音樂暫停
`wx.onBackgroundAudioStop` 監聽音樂結束
`wx.chooseVideo` 從相冊選擇視頻,或者拍攝
`wx.loadFontFace` 動態加載字體
## 文件 API
`wx.saveFile` 保存文件
`wx.getSavedFileList` 獲取已保存的文件列表
`wx.getSavedFileInfo` 獲取已保存的文件信息
`wx.removeSavedFile` 刪除已保存的文件信息
`wx.openDocument` 打開文件
## 數據 API
帶有‘sync’后綴的都是同步方式
`wx.getStorage` 獲取本地數據緩存
`wx.getStorageSync` 獲取本地數據緩存
`wx.setStorage` 設置本地數據緩存
`wx.setStorageSync` 設置本地數據緩存
`wx.getStorageInfo` 獲取本地緩存的相關信息
`wx.getStorageInfoSync` 獲取本地緩存的相關信息
`wx.removeStorage` 刪除本地緩存內容
`wx.removeStorageSync` 刪除本地緩存內容
`wx.clearStorage` 清理本地數據緩存
`wx.clearStorageSync` 清理本地數據緩存
## 位置 API
`wx.getLocation` 獲取當前位置
`wx.chooseLocation` 打開地圖選擇位置
`wx.openLocation` 打開內置地圖
`wx.createMapContext` 地圖組件控制
## 設備 API
`wx.getNetworkType` 獲取網絡類型
`wx.onNetworkStatusChange` 監聽網絡狀態變化
`wx.getSystemInfo` 獲取系統信息
`wx.getSystemInfoSync` 獲取系統信息
`wx.onAccelerometerChange` 監聽加速度數據
`wx.startAccelerometer` 開始監聽加速度數據
`wx.stopAccelerometer` 停止監聽加速度數據
`wx.onCompassChange` 監聽羅盤數據
`wx.startCompass` 開始監聽羅盤數據
`wx.stopCompass` 停止監聽羅盤數據
`wx.setClipboardData` 設置剪貼板內容
`wx.getClipboardData` 獲取剪貼板內容
`wx.makePhoneCall` 撥打電話
`wx.scanCode` 掃碼
## 界面 API
`wx.showToast` 顯示提示框
`wx.showLoading` 顯示加載提示框
`wx.hideToast` 隱藏提示框
`wx.hideLoading` 隱藏提示框
`wx.showModal` 顯示模態彈窗
`wx.showActionSheet` 顯示菜單列表
`wx.setNavigationBarTitle` 設置當前頁面標題
`wx.showNavigationBarLoading` 顯示導航條加載動畫
`wx.hideNavigationBarLoading` 隱藏導航條加載動畫
`wx.setBackgroundColor` 動態設置窗口的背景色
`wx.setBackgroundTextStyle` 動態設置下拉背景字體、loading 圖的樣式
`wx.navigateTo` 新窗口打開頁面
`wx.redirectTo` 原窗口打開頁面
`wx.switchTab` 切換到 tabbar 頁面
`wx.navigateBack` 退回上一個頁面
`wx.createAnimation` 動畫
`wx.createContext` 創建繪圖上下文
`wx.drawCanvas` 繪圖
`wx.stopPullDownRefresh` 停止下拉刷新動畫
## WXML節點信息 API
`wx.createSelectorQuery` 創建查詢請求
`selectorQuery.in` 指定在哪個自定義組件中選取節點
`selectorQuery.select` 根據選擇器選擇單個節點
`selectorQuery.selectAll` 根據選擇器選擇全部節點
`selectorQuery.selectViewport` 選擇顯示區域
`nodesRef.boundingClientRect` 獲取布局位置和尺寸
`nodesRef.scrollOffset` 獲取滾動位置
`nodesRef.fields` 獲取任意字段
`selectorQuery.exec` 執行查詢請求
## WXML節點布局相交狀態
`wx.createIntersectionObserver` 創建 IntersectionObserver 對象
`intersectionObserver.relativeTo` 指定參照節點
`intersectionObserver.relativeToViewport` 指定頁面顯示區域作為參照區域
`intersectionObserver.observe` 指定目標節點并開始監聽
`intersectionObserver.disconnect` 停止監聽
## 開放接口
`wx.login` 登錄
`wx.getUserInfo` 獲取用戶信息
`wx.chooseAddress` 獲取用戶收貨地址
`wx.requestPayment` 發起微信支付
`wx.addCard` 添加卡券
`wx.openCard` 打開卡券
- 微信
- 小程序
- 1. 代碼組成
- 1.1 JSON配置--'*.json'文件
- 1.2 WXML模板--'*.wxml'文件
- 1.3 WXSS樣式--'*.wxss'文件
- 1.4 JavaScript腳本--'*.js'文件
- 2. 客戶端運行
- 2.1 邏輯層和渲染層
- 2.1.1 邏輯層--App Service
- 2.1.2 渲染層/視圖層--View
- 2.1.3 通信模型
- 2.1.4 數據驅動
- 2.1.5 雙線程下的界面渲染
- 2.2 程序與頁面
- 2.3 組件
- 2.4 API
- 2.5 事件
- 2.6 兼容
- 3. 應用設計
- 3.1 Flex布局
- 3.2 界面常見的交互反饋
- 3.3 發起HTTPS網絡通信--wx.request
- 3.4 微信登錄
- 3.5 本地數據緩存
- 3.6 設備能力
- 4. 小程序的協同工作和發布
- 4.1 協同工作
- 4.2 用戶體驗審視
- 4.3 發布
- 4.4 運營
- 5. 底層框架
- 5.1 雙線程模型
- 5.2 組件系統--Exparser框架
- 5.3 原生組件
- 5.4 小程序與客戶端通信原理
- 6. 運行和性能優化
- 6.1 啟動--代碼加載
- 6.2 頁面準備
- 6.3 數據通信
- 6.4 視圖層渲染
- 6.5 原生組件通信
- 7. 小程序基礎庫的更新迭代
- 8. 微信開發者工具
- 騰訊云支持
- wafer
- Wafer2 快速開發 Demo - PHP
- WXAPI
- api列表