欧美日韩精品一区二区在线线,一级无码在线收看,精品国产高清91,久久精品欧美电影

# API Mock

為了讓開(kāi)發(fā)者更方便地開(kāi)發(fā)小程序,開(kāi)發(fā)者工具提供了 API Mock 的能力,可以模擬部分 API 的調(diào)用結(jié)果。

# 運(yùn)行環(huán)境

  • 下載并安裝 1.02.2003062 或以上版本的開(kāi)發(fā)者工具,下載地址

# 使用方法

# 基礎(chǔ)用法

Mock 的入口在工具調(diào)試面板頂部的 Tab,點(diǎn) + 新建規(guī)則

入口

規(guī)則示例

基礎(chǔ)用法

運(yùn)行如下代碼:

wx.request({
  url: 'https://example.com/ajax?dataType=member',
  dataType: 'json',
  success(res) {
    console.log(res)
  }
})

將命中上面的規(guī)則,得到以下數(shù)據(jù):

示例

# 規(guī)則優(yōu)先級(jí)

當(dāng)對(duì)一個(gè) API 配置了多個(gè)規(guī)則時(shí),靠前的規(guī)則,會(huì)優(yōu)先匹配,當(dāng)一條規(guī)則被命中,后面的規(guī)則將不會(huì)再被執(zhí)行。

可以通過(guò)拖拽的形式,改變規(guī)則的優(yōu)先順序,得到想要的 Mock 結(jié)果。

# 多層級(jí)參數(shù)匹配

如果匹配的參數(shù)類(lèi)型不是一個(gè)基本類(lèi)型,而是一個(gè) Object 參數(shù)下的某個(gè)屬性,這時(shí)需要用到多層級(jí)匹配。

例如:當(dāng)wx.request調(diào)用的data參數(shù)帶有一個(gè)名為mock的屬性值為true的時(shí)候,才通過(guò) Mock 規(guī)則返回結(jié)果,參數(shù)匹配規(guī)則應(yīng)填寫(xiě):

多層級(jí)參數(shù)匹配

上述例子中的wx.request調(diào)用,需要修改成:

wx.request({
  url: 'https://example.com/ajax?dataType=member',
  data: {         // \
    mock: true	  // - 添加這三行
  },              // /
  dataType: 'json',
  success(res) {
    console.log(res)
  }
})

才能命中此規(guī)則。

# 使用數(shù)據(jù)模板

當(dāng)需要模擬的數(shù)據(jù)比較復(fù)雜的時(shí)候,可以使用數(shù)據(jù)模板快速生成符合你要求的數(shù)據(jù)。

數(shù)據(jù)模板的語(yǔ)法采用自開(kāi)源庫(kù) Mock.js,詳細(xì)的語(yǔ)法可以在該項(xiàng)目文檔中查看。

例如:上面的例子,想要返回的 list 包含 10 項(xiàng)不同的數(shù)據(jù),可以在“數(shù)據(jù)生成”中選擇“數(shù)據(jù)模板”,填入如下模板:

{
  "data": {
    "list|10": [
      {"id|+1": 1, "name": "@FIRST"}
    ]
  },
  "statusCode": 200,
  "header": {
    "content-type": "application/json; charset=utf-8"
  }
}

模板編輯器下方會(huì)根據(jù)模板實(shí)時(shí)生成數(shù)據(jù)預(yù)覽,方便確認(rèn)模板的正確性。

數(shù)據(jù)模板

重新調(diào)用上面的代碼,將返回:

數(shù)據(jù)模板返回

# 規(guī)則導(dǎo)入導(dǎo)出

當(dāng)需要與項(xiàng)目中其他成員共享規(guī)則時(shí),可以在 Mock 中導(dǎo)出規(guī)則配置,再把配置文件發(fā)送給其他成員導(dǎo)入即可,操作入口如圖:

導(dǎo)入導(dǎo)出

# 注意事項(xiàng)

  • 規(guī)則匹配中的正則表達(dá)式均不區(qū)分大小寫(xiě);
  • wx.request中暫時(shí)無(wú)法使用dataType參數(shù)進(jìn)行匹配;
  • 在匹配規(guī)則中的參數(shù)名中,“.”屬于特殊字符,如果要匹配的參數(shù)名中包含“.”將無(wú)法匹配成功,例如
      {
        "propName": {
          "key": "value",
          // 通過(guò) propName.namespace1.key 無(wú)法匹配到此參數(shù),應(yīng)盡量避免這種情況。
          "namespace1.key": "value1"
        }
      }
    
  • 藍(lán)牙模塊相關(guān)的 API,實(shí)際調(diào)用中需要先調(diào)用wx.openBluetoothAdapter進(jìn)行初始化,但是在 Mock 的規(guī)則命中后將沒(méi)有這些限制,需要注意
    • getBLEDeviceServices
    • getBLEDeviceCharacteristics
    • createBLEConnection
    • closeBLEConnection
    • writeBLECharacteristicValue
    • startBluetoothDevicesDiscovery
    • stopBluetoothDevicesDiscovery
    • getConnectedBluetoothDevices
    • getBluetoothDevices
    • getBluetoothAdapterState
    • closeBluetoothAdapter
  • 目前支持Mock 的 API 列表:
    • request
    • downloadFile
    • getLocation
    • checkSession
    • requestPayment
    • startSoterAuthentication
    • checkIsSupportSoterAuthentication
    • checkIsSoterEnrolledInDevice
    • startBeaconDiscovery
    • stopBeaconDiscovery
    • getBeacons
    • startWifi
    • stopWifi
    • getConnectedWifi
    • connectWifi
    • getBLEDeviceServices
    • getBLEDeviceCharacteristics
    • createBLEConnection
    • closeBLEConnection
    • writeBLECharacteristicValue
    • startBluetoothDevicesDiscovery
    • stopBluetoothDevicesDiscovery
    • openBluetoothAdapter
    • getConnectedBluetoothDevices
    • getBluetoothDevices
    • getBluetoothAdapterState
    • closeBluetoothAdapter
    • stopHCE
    • startHCE
    • sendHCEMessage
    • getHCEState
    • setBackgroundFetchToken
    • getBackgroundFetchToken
    • getBackgroundFetchData