支付宝小程序为开发者提供了丰富的 小程序 api ,开发者可方便快捷地调用这些 api 完成相关任务。
小程序前端 api 包括基础、应用级事件、界面、跳转、多媒体、缓存、文件、位置、网络、设备、worker、数据安全、分享、收藏、自定义通用菜单、更新管理、web-view 组件控制、升级支付宝最新版本、开放能力(支付能力、用户授权能力、资金能力、会员能力、营销能力、安全能力)等多个大类。
其中,小程序前端 api 分为两大类:事件监听 api、功能 api。
事件监听型 api 以 my.on
开头,用于监听某个系统事件是否触发。 事件监听型 api 接受一个 callback 回调函数作为参数。当具体事件触发时,会触发 callback 函数调用。该 callback 函数可以传给对应以 my.off
开头的同名 api 来解除监听关系,如果直接调用以 my.off
开头的同名 api 则解除所有监听关系。以监听低功耗蓝牙设备的特征值变化的事件 api my.onblecharacteristicvaluechange 为例:
page({
onload() {
this.callback = this.callback.bind(this);
my.onblecharacteristicvaluechange(this.callback);
},
onunload() {
// 页面卸载时解除某个监听
my.offblecharacteristicvaluechange(this.callback);
// 或者解除所有监听
// my.offblecharacteristicvaluechange();
},
callback(res) {
console.log(res);
},
});
功能型 api 是不以 my.on
或 my.off
开头的 api,用于实现某个特定功能。功能型 api 可分为异步型 api 和同步型 api。
异步型功能 api
大部分 api 都是异步型功能 api,例如 my.navigateto、my.request。异步型功能 api 的入参都为一个 object 对象,并包含三个子属性:
属性 | 类型 | 必填 | 描述 |
---|---|---|---|
success | function | 否 | 调用成功的回调函数。 |
fail | function | 否 | 调用失败的回调函数。 |
complete | function | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
回调结果若无特殊说明,一般为一个 object 对象,包含以下子属性:
属性 | 类型 | 说明 |
---|---|---|
error | number | 错误码。fail 回调中为非零值。success 回调中无此字段或者其值为零。 |
errormessage | string | 错误信息。fail 回调中有效。 |
其它 | - | api 返回的其它数据。 |
以发起网络请求的 my.request api 为例:
// datatype 为 json 示例
my.request({
url: 'https://httpbin.org/post',
method: 'post',
data: {
from: '支付宝',
production: 'alipayjsapi',
},
datatype: 'json',
success: function (res) {
my.alert({ content: 'success' });
},
fail: function (res) {
my.alert({ content: 'fail' });
},
complete: function (res) {
my.alert({ content: 'complete' });
},
});
同步型功能 api
以 sync
结尾的 api 都是同步型功能 api,例如 my.setstoragesync、my.getbatteryinfosync 等。
同步型功能 api 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常:
try {
my.setstoragesync({
key: 'currentcity',
data: {
cityname: '杭州',
adcode: '330100',
spell: ' hangzhou',
},
});
} catch (e) {
console.error(e);
}
以上为通用说明,特定 api 的入参及返回值以详细 api 文档为准。