小程序:API

来自CloudWiki
跳转至: 导航搜索

宿主环境提供了丰富的API,可以很方便调起微信提供的能力。在前文的代码示例中可以看到,wx.navigateTo可以保留当前页面,然后跳转到新的页面。这里的wx对象实际上就是小程序的宿主环境所提供的全局对象,几乎所有小程序的API都挂载在wx对象底下(除了Page/App等特殊的构造器),所以本书谈到API概念时,通常指的是wx对象底下的方法。

小程序提供的API按照功能主要分为几大类:网络、媒体、文件、数据缓存、位置、设备、界面、界面节点信息还有一些特殊的开放接口,我们介绍一下API一般调用的约定:

   wx.on* 开头的 API 是监听某个事件发生的API接口,接受一个 Callback 函数作为参数。当该事件触发时,会调用 Callback 函数。
    如未特殊约定,多数 API 接口为异步接口 ,都接受一个Object作为参数。
    API的Object参数一般由success、fail、complete三个回调来接收接口调用结果,示例代码如代码清单3-17所示,详细说明如表3-9所示。
    wx.get* 开头的API是获取宿主环境数据的接口。
    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 	否 	接口调用结束的回调函数(调用成功、失败都会执行)

还有需要注意到API调用大多都是异步的,其次,有部分API会拉起微信的原生界面,此时会触发Page的onHide方法,当用户从原生界面返回到小程序时,会触发Page的onShow方法。

API的数量非常多,而且随着宿主环境的迭代更新会持续新增API,在这里我们并不想一一展开叙述每一个API的含义,开发者只要了解一般调用API的技巧,再通过官方API文档 了解到对应的API参数细节即可。在第四章中我们还会通过各种应用场景来展示很多API的用法。