IDE API Mock 功能
收藏我的收藏
简介
API Mock 是一个能够为字节小程序开发者提供接口 Mock 功能的工具,开发者可以通过设置 Mock 配置信息拦截符合匹配规则的 API 调用,拦截成功的 API 将直接返回开发者所定义的返回数据。当本地的开发者工具不支持某些 API 或者服务端某些网络接口还未开发完成时,该工具能够协助开发者及时测试小程序的完整功能。
运行环境
使用方法
启用功能
API Mock 工具的入口在调试器中的 Mock 面板,点击 + 可新 建规则。
规则配置
每个规则配置中对应一个 JSAPI 或组件回调的 mock 配置,对于 JSAPI,配置内容会作为 JSAPI 的返回结果,对于组件回调,配置内容会作为回调的入参。
当一个 API 配置了多个规则时,越靠前的规则,优先级越高,一旦某个规则匹配成功后,后面的规则将不再生效,可以通过拖拽调整规则匹配优先级。
异步 JSAPI
目前支持的异步 API 有
tt.request
、tt.downloadFile
、tt.checkSession
、tt.getLocation
,tt.sign
, tt.getOrderPayment
, tt.requestGamePayment
, tt.openAwemeCustomerService
。组件属性回调函数
某些小程序组件的属性取值为回调函数,如
<button>
组件的 bind:im="handleIM"
, <payment-channel-select>
组件的 bind:requestorder="handleRequestOrder"
, bind:getpaymentresult="handlePaymentResult"
等,其中 handleIM
,handleRequestOrder
,handlePaymentResult
是由开发者自己实现的组件属性回调函数,如果希望 mock 这些回调函数的入参,可以通过以下方法实现。配置方法如下:
- 1.在【API 接口】下拉选择器中,点击【新增组件回调】
- 2.输入配置的回调函数名称,如
handlePaymentResult
- 3.输入mock 数据,该数据会作为
event.detail
的值匹配逻辑
参数匹配规则支持正则表达式语法,并且支持多层级匹配。
若未配置匹配规则,默认返回模拟数据,若某条规则的参数名或正则内容为空,则该条规则将不会生效。
例如:当
tt.request
的参数 data
为对一个对象时,可以对该对象中 name 属性设置匹配规则。返回数据
模拟返回中可以选择数据返回的状态,选择后就会调用对应的回调函数。
目前返回数据的生成方式支持自定义、数据模板和动态生成三种方式。
1. 自定义
可直接输入 JSON 数据。
{ "data": {}, "header": {}, "statusCode": 200 }
2. 数据模板
3. 动态生成
也支持直接编写 js 函数,动态返回数据,该函数的参数为调用该 API 时的参数对象,可以根据参数中的数据动态定制返回数据。