小程序开放平台

文档中心
起步
目录
配置小程序
小程序框架
框架
逻辑层
注册小程序
注册页面
页面生命周期
页面路由
模块化
API
视图层
小程序运行时
自定义组件
基础能力
开放能力
性能优化
转发
事件回调
基础库
调试
数据分析
服务端调试

API

开发
>
指南
>
小程序框架
>
逻辑层
>
API
>
更新时间:2024-11-13 19:05:22

小程序开发框架提供丰富的小红书原生 API,可以方便的调起小红书提供的能力,如获取用户信息,本地存储,支付功能等。详细介绍请参考 API 文档。

通常,在小程序 API 有以下几种类型:

事件监听 API

我们约定,以 on 开头的 API 用来监听某个事件是否触发,如:xhs.onNetworkStatusChange 等。

这类 API 接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。

xhs.onNetworkStatusChange(function (res) {
  console.log(res.isConnected)
  console.log(res.networkType)
})

同步 API

我们约定,以 Sync 结尾的 API 都是同步 API, 如 xhs.setStorageSync,xhs.getSystemInfoSync 等。详情参见 API 文档中的说明。

同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。

try {
  xhs.setStorageSync('key', 'value')
} catch (e) {
  console.error(e)
}

异步 API

大多数 API 都是异步 API,如 xhs.request,xhs.login 等。这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果:

参数名
类型
必填
说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
其他Any-接口定义的其他参数

回调函数的参数

success,fail,complete 函数调用时会传入一个 Object 类型参数,包含以下字段:

|属性| 类型| 说明| |----------|------|------------------| |errMsg| string| 错误信息,如果调用成功返回 ${apiName}:ok| |errCode| number| 错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0。| |其他| Any| 接口返回的其他数据|

异步 API 的执行结果需要通过 Object 类型的参数中传入的对应回调函数获取。部分异步 API 也会有返回值,可以用来实现更丰富的功能。

xhs.login({
  success(res) {
    console.log(res.code)
  }
})

异步 API 返回 Promise

异步 API 支持 callback & promise 两种调用方式。当接口参数 Object 对象中不包含 success/fail/complete 时将默认返回 promise,否则仍按回调方式执行,无返回值。

注意事项

  1. 当没有回调参数时,异步接口返回 promise。此时若函数调用失败进入 fail 逻辑, 会报错提示 Uncaught (in promise),开发者可通过 catch 来进行捕获。
// callback 形式调用
xhs.chooseImage({
  success(res) {
    console.log('res:', res)
  }
})

// promise 形式调用
xhs.chooseImage().then(res => console.log('res: ', res))