# ibeacon

iBeacon模块用于搜索附件的iBeacon设备。

## 方法：

- startBeaconDiscovery: 开始搜索附近的iBeacon设备
- stopBeaconDiscovery: 停止搜索附近的iBeacon设备
- getBeacons: 获取已搜索到的iBeacon设备
- onBeaconUpdate: 监听iBeacon设备更新
- onBeaconServiceChange: 监听iBeacon服务状态变化

## 对象：

- IBeaconInfo: iBeacon设备信息

## 回调方法：

- IBeaconSuccessCallback: 成功回调函数
- IBeaconFailCallback: 失败回调函数
- IBeaconCompleteCallback: 操作完成回调函数
- IBeaconUpdateCallback: 获取iBeacon设备信息回调函数
- IBeaconServiceChangeCallback: iBeacon服务状态变化回调函数

## 权限：

5+功能模块（permissions）

    {
    // ...
    "permissions":{
    	// ...
    	"iBeacon": {
    		"description": "iBeacon"
    	}
    }
    }

# IBeaconInfo

iBeacon设备信息

    interface IBeaconInfo {
    	readonly attribute String uuid;
    	readonly attribute String major;
    	readonly attribute String minor;
    	readonly attribute Number proximity;
    	readonly attribute Number accuracy;
    	readonly attribute Number rssi;
    }

## 属性：

- uuid: (String 类型 )iBeacon设备广播的uuid
- major: (String 类型 )iBeacon设备的主id
- minor: (String 类型 )iBeacon设备的次id
- proximity: (Number 类型 )iBeacon设备的距离
- accuracy: (Number 类型 )iBeacon设备的距离精度信息
- rssi: (String 类型 )iBeacon设备的信号强度

# IBeaconSuccessCallback

成功回调函数

    void onSuccess(event){
    }

## 说明：

不同接口触发的成功回调参数event包含的属性存在差异，具体参考对应的接口描述说明。

## 参数：

- event: ( json ) 必选 回调参数
  回调参数包含的属性由调用接口决定，具体参考对应的接口描述说明。

## 返回值：

void : 无

# IBeaconFailCallback

失败回调函数

    function void onFail(DOMException error){
    	// Handle error
    	var code = error.code; // 错误编码
    	var message = error.message; // 错误描述信息
    }

## 参数：

- error: ( DOMException ) 必选 回调参数，错误信息
  可通过error.code（Number类型）获取错误编码； 可通过error.message（String类型）获取错误描述信息。

## 返回值：

void : 无

# IBeaconCompleteCallback

操作完成回调函数

    function void onComplete(event){
    }

## 说明：

调用成功或失败都会触发此回调。

## 参数：

- event: ( json ) 可选 回调参数
  调用成功时回调参数与IBeaconSuccessCallback一致，调用失败时回调参数与IBeaconFailCallback一致。

## 返回值：

void : 无

# IBeaconUpdateCallback

获取iBeacon设备信息回调函数

    void onSuccess(event){
    	// 通过beacons获取iBeacon设备列表信息
    	var beacons = event.beacons;
    }

## 参数：

- event: ( JSON ) 必选 设备信息
  可通过event.beacons（Array<IBeaconInfo>类型）获取iBeacon设备列表信息。

## 返回值：

void : 无

# IBeaconServiceChangeCallback

iBeacon服务状态变化回调函数

    void onSuccess(event){
    	// 通过available、discovering获取iBeacon服务状态
    	var available = event.available;
    	var discovering = event.discovering;
    }

## 参数：

- event: ( JSON ) 必选 iBeacon服务状态信息
  可通过event.available（Boolean类型）获取iBeacon服务目前是否可用； 可通过event.discovering（Boolean类型）获取是否处于搜索iBeacon设备状态。

## 返回值：

void : 无