ibeacon.md 3.4 KB
Newer Older
Q
qiang 已提交
1 2
**iBeacon API 平台差异说明**

P
PerfectPan 已提交
3 4 5
|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序|飞书小程序|QQ小程序|快手小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|x|x|√|x|x|
Q
qiang 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

### uni.onBeaconServiceChange(CALLBACK)

监听 iBeacon 服务状态变化事件

**CALLBACK 返回参数**

|属性|类型|说明|
|:-|:-|:-|
|available|boolean|服务目前是否可用|
|discovering|boolean|目前是否处于搜索状态|

### uni.onBeaconUpdate(CALLBACK)

监听 iBeacon 设备更新事件

**CALLBACK 返回参数**

|属性|类型|说明|
|:-|:-|:-|
|beacons|Array<[IBeaconInfo](/api/system/ibeacon?id=ibeaconinfo)>|当前搜寻到的所有 iBeacon 设备列表|

### uni.getBeacons(OBJECT)

获取所有已搜索到的 iBeacon 设备

**OBJECT 参数说明**

|属性|类型|默认值|必填|说明|
|:-|:-|:-|:-|:-|
|success|function||否|接口调用成功的回调函数|
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|

**success 返回参数说明:**

|属性|类型|说明|
|:-|:-|:-|
|beacons|Array<[IBeaconInfo](/api/system/ibeacon?id=ibeaconinfo)>|iBeacon 设备列表|

#### 错误

|错误码|错误信息|说明|
|:-|:-|:-|
|0|ok|正常|
|11000|unsupport|系统或设备不支持|
|11001|bluetooth service unavailable|蓝牙服务不可用|
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|

### uni.startBeaconDiscovery(OBJECT)

开始搜索附近的 iBeacon 设备

**OBJECT 参数说明**

|属性|类型|默认值|必填|说明|
|:-|:-|:-|:-|:-|
|uuids|Array<String>||是|iBeacon 设备广播的 uuid 列表|
|ignoreBluetoothAvailable|boolean|false|否|是否校验蓝牙开关,仅在 iOS 下有效|
|success|function||否|接口调用成功的回调函数|
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|

#### 错误

|错误码|错误信息|说明|
|:-|:-|:-|
|0|ok|正常|
|11000|unsupport|系统或设备不支持|
|11001|bluetooth service unavailable|蓝牙服务不可用|
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|

#### 示例代码

```js
uni.startBeaconDiscovery({
  success(res) { }
})
```

### uni.stopBeaconDiscovery(OBJECT)

停止搜索附近的 iBeacon 设备

**OBJECT 参数说明**

|属性|类型|默认值|必填|说明|
|:-|:-|:-|:-|:-|
|success|function||否|接口调用成功的回调函数|
|fail|function||否|接口调用失败的回调函数|
|complete|function||否|接口调用结束的回调函数(调用成功、失败都会执行)|

#### 错误

|错误码|错误信息|说明|
|:-|:-|:-|
|0|ok|正常|
|11000|unsupport|系统或设备不支持|
|11001|bluetooth service unavailable|蓝牙服务不可用|
|11002|location service unavailable|位置服务不可用|
|11003|already start|已经开始搜索|

### IBeaconInfo

|属性|类型|说明|
|:-|:-|:-|
|uuid|string|iBeacon 设备广播的 uuid|
|major|string|iBeacon 设备的主 id|
|minor|string|iBeacon 设备的次 id|
|proximity|number|表示设备距离的枚举值|
|accuracy|number|iBeacon 设备的距离|
|rssi|number|表示设备的信号强度|


### 注意事项

* 未启用定位将影响 iBeacon 的正常使用。(相关反馈:[#2027](https://github.com/dcloudio/uni-app/issues/2027)