[TOC]
## 2.4 API
宿主環境提供了豐富的API,可以很方便調用微信提供的能力。幾乎所有小程序的API都掛載在wx對象底下(除了Page/App等特殊的構造器)。
小程序提供的API按照功能主要分為幾大類:網絡、媒體、文件、數據緩存、位置、設備、界面、界面節點信息還有一些特殊的開放接口,API一般調用的約定:
1. wx.on* 開頭的 API 是監聽某個事件發生的API接口,接受一個 Callback 函數作為參數。當該事件觸發時,會調用 Callback 函數。
2. 如未特殊約定,多數 API 接口為異步接口 ,都接受一個Object作為參數。
3. API的Object參數一般由success、fail、complete三個回調來接收接口調用結果,示例代碼如代碼清單3-17所示,詳細說明如表3-9所示。
4. wx.get* 開頭的API是獲取宿主環境數據的接口。
5. wx.set* 開頭的API是寫入數據到宿主環境的接口。
碼清單3-17 通過wx.request發起網絡請求
~~~
wx.request({
url: 'test.php',
data: {},
header: { 'content-type': 'application/json' },
success: function(res) {
// 收到https服務成功后返回
console.log(res.data)
},
fail: function() {
// 發生網絡錯誤等情況觸發
},
complete: function() {
// 成功或者失敗后觸發
}
})
~~~
:-: 表3-9 API接口回調說明
| 參數名字 | 類型 | 必填 | 描述 |
| --- | --- | --- | --- |
| success | Function | 否 | 接口調用成功的回調函數|
| fail | Function | 否 | 接口調用失敗的回調函數|
| complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行)|
>[info] * API調用大多都是異步的,
>* 有部分API會拉起微信的原生界面,此時會觸發Page的`onHide`方法,當用戶從原生界面返回到小程序時,會觸發Page的`onShow`方法。
API的數量非常多,而且隨著宿主環境的迭代更新會持續新增API,了解一般調用API的技巧,再通過[官方API文檔 ](https://mp.weixin.qq.com/debug/wxadoc/dev/api/)了解到對應的API參數細節即可。
- 微信
- 小程序
- 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列表