API
小程序开发框架提供丰富的传音原生 API,可以方便的调起传音提供的能力,如获取用户信息,本地存储,支付功能等。
通常,在小程序 API 有以下几种类型:
事件监听 API
我们约定,以 on 开头的 API 用来监听某个事件是否触发,如:dlt.onKeyboardHeightChange,dlt.onForegroundAudioCanPlay 等。
这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。
代码示例
dlt.onKeyboardHeightChange({
success: function (result) {
console.log(result.height);
},
});
异步 API
大多数 API 都是异步 API,如 dlt.request,dlt.login 等。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果:
Object 参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
success | function | 否 | 接口调用成功的回调函数 |
fail | function | 否 | 接口调用失败的回调函数 |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
其他 | Any | - | 接口定义的其他参数 |
回调函数的参数
success,fail,complete 函数调用时会传入一个 Object 类型参数,包含以下字段:
属性 | 类型 | 说明 |
---|---|---|
errMsg | string | 错误信息,如果调用成功返回 ${apiName}:ok |
errCode | number | 错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0。 |
其他 | Any | 接口返回的其他数据 |
异步 API 的执行结果需要通过 Object 类型的参数中传入的对应回调函数获取。部分异步 API 也会有返回值,可以用来实现更丰富的功能,如 dlt.request 等。
代码示例
dlt.login({
success(res) {
console.log(res.code);
},
});
注意: 由于平台开发初期开发规范问题,导致目前 API 回调方式不统一,导致回调方式和上面所讲的规范存在差异,如下所示:
// 回调函数形式
dlt.getSystemInfo((res) => {
console.log(res);
});
// promise形式
dlt.getClipboard().then((res) => {
console.log(res);
});
// Object - success
dlt.chooseMedia({
success: (res) => {
console.log(res);
},
});
// Object - callback
dlt.downloadFile({
url: "https://xxx.png",
saveName: "xxx.png",
header: "",
callbackId: xxxCallbackId,
callback: function callback(res) {
console.log(res);
},
});