抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台

简介

API Mock 是一个能够为字节小程序开发者提供接口 Mock 功能的工具,开发者可以通过设置 Mock 配置信息拦截符合匹配规则的 API 调用,拦截成功的 API 将直接返回开发者所定义的返回数据。当本地的开发者工具不支持某些 API 或者服务端某些网络接口还未开发完成时,该工具能够协助开发者及时测试小程序的完整功能。

运行环境

下载并安装3.2.1或以上版本的开发者工具,下载地址

使用方法

启用功能

API Mock 工具的入口在调试器中的 Mock 面板,点击 + 可新建规则。

规则配置

每个规则配置中对应一个 JSAPI 或组件回调的 mock 配置,对于 JSAPI,配置内容会作为 JSAPI 的返回结果,对于组件回调,配置内容会作为回调的入参。
当一个 API 配置了多个规则时,越靠前的规则,优先级越高,一旦某个规则匹配成功后,后面的规则将不再生效,可以通过拖拽调整规则匹配优先级。

异步 JSAPI

目前支持的异步 API 有tt.requesttt.downloadFilett.checkSessiontt.getLocationtt.sign, tt.getOrderPayment, tt.requestGamePayment, tt.openAwemeCustomerService

组件属性回调函数

某些小程序组件的属性取值为回调函数,如 <button>组件的 bind:im="handleIM", <payment-channel-select> 组件的 bind:requestorder="handleRequestOrder", bind:getpaymentresult="handlePaymentResult" 等,其中 handleIMhandleRequestOrder,handlePaymentResult是由开发者自己实现的组件属性回调函数,如果希望 mock 这些回调函数的入参,可以通过以下方法实现。
配置方法如下:
    1.在【API 接口】下拉选择器中,点击【新增组件回调】
    2.输入配置的回调函数名称,如 handlePaymentResult
    3.输入mock 数据,该数据会作为 event.detail 的值

匹配逻辑

参数匹配规则支持正则表达式语法,并且支持多层级匹配。
若未配置匹配规则,默认返回模拟数据,若某条规则的参数名或正则内容为空,则该条规则将不会生效。
例如:当tt.request 的参数 data 为对一个对象时,可以对该对象中 name 属性设置匹配规则。

返回数据

模拟返回中可以选择数据返回的状态,选择后就会调用对应的回调函数。
目前返回数据的生成方式支持自定义、数据模板和动态生成三种方式。

1. 自定义

可直接输入 JSON 数据。
{ "data": {}, "header": {}, "statusCode": 200 }

2. 数据模板

数据模板支持 Mock.js 语法,语法参考

3. 动态生成

也支持直接编写 js 函数,动态返回数据,该函数的参数为调用该 API 时的参数对象,可以根据参数中的数据动态定制返回数据。