fix:增加测试代码、更新插件说明文档
This commit is contained in:
parent
eb7fe0769e
commit
3e4ce7b476
@ -1,13 +1,18 @@
|
|||||||
# 说明
|
# 说明
|
||||||
|
|
||||||
星云SDK是一款专为微信小程序开发者打造的智能锁插件,旨在简化与智能锁与星云平台的交互。通过封装底层操作,使接入者无需关注锁的操作逻辑,能够将更多精力集中在业务开发中。
|
星云SDK是一款专为微信小程序开发者打造的智能锁插件,旨在简化与智能锁与星云平台的交互。通过封装底层操作,使接入者无需关注锁的操作逻辑,能够将更多精力集中在业务开发中。
|
||||||
|
|
||||||
# 版本
|
# 版本
|
||||||
|
|
||||||
当前最新版本 1.1.0
|
当前最新版本 1.1.0
|
||||||
|
|
||||||
# 引用
|
# 引用
|
||||||
|
|
||||||
APPID: **wxf2c491f734bbf82f**
|
APPID: **wxf2c491f734bbf82f**
|
||||||
|
|
||||||
1. 登录小程序后台-选择设置->第三方设置->插件管理->点击“添加插件”->搜索对应APPID->添加插件->等待审核通过
|
1. 登录小程序后台-选择设置->第三方设置->插件管理->点击“添加插件”->搜索对应APPID->添加插件->等待审核通过
|
||||||
2. 项目中引用需在app.json文件中添加
|
2. 项目中引用需在app.json文件中添加
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"plugins": {
|
"plugins": {
|
||||||
@ -18,7 +23,9 @@ APPID: **wxf2c491f734bbf82f**
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 页面中引用
|
3. 页面中引用
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// 引用插件
|
// 引用插件
|
||||||
const plugin = requirePlugin('starCloud')
|
const plugin = requirePlugin('starCloud')
|
||||||
@ -30,94 +37,95 @@ const plugin = requirePlugin('starCloud')
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// Result 类是所有有返回结果的方法,统一的返回结构
|
// Result 类是所有有返回结果的方法,统一的返回结构
|
||||||
const { Result } = requirePlugin('starCloud')
|
const {Result} = requirePlugin('starCloud')
|
||||||
// code对应报错码有三部分组合构成,锁端报错码+星云服务端报错码+自定义报错码
|
// code对应报错码有三部分组合构成,锁端报错码+星云服务端报错码+自定义报错码
|
||||||
const { code, data, message } = Result.Success
|
const {code, data, message} = Result.Success
|
||||||
// 常用判断方式
|
// 常用判断方式
|
||||||
if (code === Result.Success.code) {
|
if (code === Result.Success.code) {
|
||||||
// 逻辑代码
|
// 逻辑代码
|
||||||
} else {
|
} else {
|
||||||
// 错误处理
|
// 错误处理
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|code|变量名|描述|
|
| code | 变量名 | 描述 |
|
||||||
| -- | -- | -- |
|
|------|-------------------------------------------|----------------------------------|
|
||||||
|0|Success|成功|
|
| 0 | Success | 成功 |
|
||||||
|-1|Fail|失败|
|
| -1 | Fail | 失败 |
|
||||||
|-10|NotMoreData|没有更多数据|
|
| -10 | NotMoreData | 没有更多数据 |
|
||||||
|-20|NotAvailableBluetooth|蓝牙尚未打开,请先打开蓝牙|
|
| -20 | NotAvailableBluetooth | 蓝牙尚未打开,请先打开蓝牙 |
|
||||||
|-21|NotAvailableBluetoothPermission|小程序蓝牙功能被禁用,请打开小程序蓝牙权限|
|
| -21 | NotAvailableBluetoothPermission | 小程序蓝牙功能被禁用,请打开小程序蓝牙权限 |
|
||||||
|-22|NotAvailableWeChatNearbyDevicesPermission|蓝牙功能需要附近设备权限,请前往设置开启微信的附近设备权限后再试|
|
| -22 | NotAvailableWeChatNearbyDevicesPermission | 蓝牙功能需要附近设备权限,请前往设置开启微信的附近设备权限后再试 |
|
||||||
|-23|NotAvailableWeChatLocationPermission|蓝牙功能需要定位权限,请前往设置开启微信的定位权限后再试|
|
| -23 | NotAvailableWeChatLocationPermission | 蓝牙功能需要定位权限,请前往设置开启微信的定位权限后再试 |
|
||||||
|-24|NotAvailableWeChatNearbyDevicesEmpty|蓝牙功能需要定位服务,请前往设置开启定位服务后再试|
|
| -24 | NotAvailableWeChatNearbyDevicesEmpty | 蓝牙功能需要定位服务,请前往设置开启定位服务后再试 |
|
||||||
|-25|NotAvailableWeChatBluetoothPermission|微信的蓝牙权限被禁用,请前往设置开启微信的蓝牙权限后再试|
|
| -25 | NotAvailableWeChatBluetoothPermission | 微信的蓝牙权限被禁用,请前往设置开启微信的蓝牙权限后再试 |
|
||||||
|-30|DeviceHasBeenReset|设备已被重置|
|
| -30 | DeviceHasBeenReset | 设备已被重置 |
|
||||||
|251|ReadyHasPassword|该密码已存在|
|
| 251 | ReadyHasPassword | 该密码已存在 |
|
||||||
|
|
||||||
## AccountInfo 账号信息
|
## AccountInfo 账号信息
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|----------|--------|-------|
|
||||||
|uid|Number|用户uid|
|
| uid | Number | 用户uid |
|
||||||
|username|String|用户名|
|
| username | String | 用户名 |
|
||||||
|password|String|密码|
|
| password | String | 密码 |
|
||||||
|
|
||||||
## LockInfo 锁信息
|
## LockInfo 锁信息
|
||||||
|
|
||||||
| 名称 | 类型 | 描述 |
|
| 名称 | 类型 | 描述 |
|
||||||
|---------------------------|--------|----------------------------|
|
|------------------------|-----------------|-----------|
|
||||||
| deviceId | String | 设备 ID |
|
| deviceId | String | 设备 ID |
|
||||||
| serviceId | String | 服务 ID |
|
| serviceId | String | 服务 ID |
|
||||||
| notifyCharacteristicId | String | 通知特征值 ID |
|
| notifyCharacteristicId | String | 通知特征值 ID |
|
||||||
| writeCharacteristicId | String | 写入特征值 ID |
|
| writeCharacteristicId | String | 写入特征值 ID |
|
||||||
| pwdTimestamp | Number | 密码时间戳(毫秒) |
|
| pwdTimestamp | Number | 密码时间戳(毫秒) |
|
||||||
| featureValue | String | 功能值 |
|
| featureValue | String | 功能值 |
|
||||||
| featureSettingValue | String | 功能设置值 |
|
| featureSettingValue | String | 功能设置值 |
|
||||||
| featureSettingParams | Array.\<Number> | 功能设置参数 |
|
| featureSettingParams | Array.\<Number> | 功能设置参数 |
|
||||||
| lockUserNo | Number | 锁用户编号 |
|
| lockUserNo | Number | 锁用户编号 |
|
||||||
| lockId | Number | 锁 ID |
|
| lockId | Number | 锁 ID |
|
||||||
| keyId | Number | 钥匙 ID |
|
| keyId | Number | 钥匙 ID |
|
||||||
| adminPwd | String | 管理密码 |
|
| adminPwd | String | 管理密码 |
|
||||||
| bluetooth | Bluetooth | 蓝牙信息 |
|
| bluetooth | Bluetooth | 蓝牙信息 |
|
||||||
| lockConfig | LockConfig | 锁配置信息 |
|
| lockConfig | LockConfig | 锁配置信息 |
|
||||||
|
|
||||||
## Bluetooth 蓝牙信息
|
## Bluetooth 蓝牙信息
|
||||||
|
|
||||||
| 名称 | 类型 | 描述 |
|
| 名称 | 类型 | 描述 |
|
||||||
|------------------------|--------|----------------|
|
|---------------------|-----------------|---------|
|
||||||
| bluetoothDeviceId | String | 蓝牙设备 ID |
|
| bluetoothDeviceId | String | 蓝牙设备 ID |
|
||||||
| bluetoothDeviceName | String | 蓝牙设备名称 |
|
| bluetoothDeviceName | String | 蓝牙设备名称 |
|
||||||
| publicKey | Array.\<Number> | 公钥 |
|
| publicKey | Array.\<Number> | 公钥 |
|
||||||
| privateKey | Array.\<Number> | 私钥 |
|
| privateKey | Array.\<Number> | 私钥 |
|
||||||
| signKey | Array.\<Number> | 签名密钥 |
|
| signKey | Array.\<Number> | 签名密钥 |
|
||||||
|
|
||||||
## LockConfig 锁配置信息
|
## LockConfig 锁配置信息
|
||||||
|
|
||||||
| 名称 | 类型 | 描述 |
|
| 名称 | 类型 | 描述 |
|
||||||
|-----------------------|--------|----------------------------|
|
|-------------------------|--------|------------|
|
||||||
| vendor | String | 厂商 |
|
| vendor | String | 厂商 |
|
||||||
| product | Number | 产品号 |
|
| product | Number | 产品号 |
|
||||||
| model | String | 型号 |
|
| model | String | 型号 |
|
||||||
| fwVersion | String | 固件版本 |
|
| fwVersion | String | 固件版本 |
|
||||||
| hwVersion | String | 硬件版本 |
|
| hwVersion | String | 硬件版本 |
|
||||||
| serialNum0 | String | 序列号 0 |
|
| serialNum0 | String | 序列号 0 |
|
||||||
| serialNum1 | String | 序列号 1 |
|
| serialNum1 | String | 序列号 1 |
|
||||||
| btDeviceName | String | 蓝牙设备名称 |
|
| btDeviceName | String | 蓝牙设备名称 |
|
||||||
| electricQuantity | Number | 电量 |
|
| electricQuantity | Number | 电量 |
|
||||||
| electricQuantityStandby | Number | 备用电量 |
|
| electricQuantityStandby | Number | 备用电量 |
|
||||||
| restoreCount | Number | 重置次数 |
|
| restoreCount | Number | 重置次数 |
|
||||||
| restoreDate | Number | 重置日期(时间戳秒) |
|
| restoreDate | Number | 重置日期(时间戳秒) |
|
||||||
| icPartNo | String | 芯片型号 |
|
| icPartNo | String | 芯片型号 |
|
||||||
| indate | Number | 入网日期(时间戳秒) |
|
| indate | Number | 入网日期(时间戳秒) |
|
||||||
| mac | String | MAC 地址 |
|
| mac | String | MAC 地址 |
|
||||||
| timezoneOffset | Number | 时区偏移(秒) |
|
| timezoneOffset | Number | 时区偏移(秒) |
|
||||||
|
|
||||||
|
|
||||||
# 初始化
|
# 初始化
|
||||||
|
|
||||||
## 初始化星云
|
## 初始化星云
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 初始化星云
|
* 初始化星云
|
||||||
@ -127,12 +135,12 @@ plugin.init(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|--------------|---------|-------------|
|
||||||
|clientId|String|客户端Id|
|
| clientId | String | 客户端Id |
|
||||||
|clientSecret|String|客户端密码|
|
| clientSecret | String | 客户端密码 |
|
||||||
|env|String|环境(SKY,XHJ)|
|
| env | String | 环境(SKY,XHJ) |
|
||||||
|isReportLog|Boolean|是否上报日志|
|
| isReportLog | Boolean | 是否上报日志 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
@ -142,6 +150,7 @@ plugin.init(params)
|
|||||||
## 注册
|
## 注册
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 注册
|
* 注册
|
||||||
@ -155,16 +164,16 @@ const result = await plugin.register()
|
|||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|----------|--------|-------|
|
||||||
|username|String|用户名|
|
| username | String | 用户名 |
|
||||||
|password|String|密码|
|
| password | String | 密码 |
|
||||||
|uid|Number|用户uid|
|
| uid | Number | 用户uid |
|
||||||
|
|
||||||
|
|
||||||
## 退出登录
|
## 退出登录
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 退出登录
|
* 退出登录
|
||||||
@ -177,9 +186,9 @@ const result = await plugin.logout(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-----|--------|-------|
|
||||||
|uid|Number|用户uid|
|
| uid | Number | 用户uid |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
@ -189,6 +198,7 @@ const result = await plugin.logout(params)
|
|||||||
## 搜索设备
|
## 搜索设备
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 搜索蓝牙设备
|
* 搜索蓝牙设备
|
||||||
@ -196,11 +206,11 @@ const result = await plugin.logout(params)
|
|||||||
*/
|
*/
|
||||||
plugin.searchDevice(callback)
|
plugin.searchDevice(callback)
|
||||||
const callback = async result => {
|
const callback = async result => {
|
||||||
if(result.code === Result.Success.code) {
|
if (result.code === Result.Success.code) {
|
||||||
this.setData({
|
this.setData({
|
||||||
list: result.data.list
|
list: result.data.list
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -209,19 +219,20 @@ const callback = async result => {
|
|||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|----------------------|------------------|--------------------------------------|
|
||||||
|deviceId|String|蓝牙设备 id|
|
| deviceId | String | 蓝牙设备 id |
|
||||||
|RSSI|Number|当前蓝牙设备的信号强度,单位 dBm|
|
| RSSI | Number | 当前蓝牙设备的信号强度,单位 dBm |
|
||||||
|connectable|Boolean|当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 )|
|
| connectable | Boolean | 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) |
|
||||||
|advertisData|ArrayBuffer|当前蓝牙设备的广播数据段中的 ManufacturerData 数据段|
|
| advertisData | ArrayBuffer | 当前蓝牙设备的广播数据段中的 ManufacturerData 数据段 |
|
||||||
|advertisServiceUUIDs|Array.\<string\>|当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段|
|
| advertisServiceUUIDs | Array.\<string\> | 当前蓝牙设备的广播数据段中的 ServiceUUIDs 数据段 |
|
||||||
|localName|String|当前蓝牙设备的广播数据段中的 LocalName 数据段|
|
| localName | String | 当前蓝牙设备的广播数据段中的 LocalName 数据段 |
|
||||||
|name|String|蓝牙设备名称,某些设备可能没有|
|
| name | String | 蓝牙设备名称,某些设备可能没有 |
|
||||||
|
|
||||||
## 停止搜索设备
|
## 停止搜索设备
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 停止搜索
|
* 停止搜索
|
||||||
@ -239,6 +250,7 @@ const result = await stopSearchDevice()
|
|||||||
## 绑定设备
|
## 绑定设备
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 绑定设备
|
* 绑定设备
|
||||||
@ -248,31 +260,32 @@ const result = await stopSearchDevice()
|
|||||||
* @returns Result
|
* @returns Result
|
||||||
*/
|
*/
|
||||||
const result = await plugin.bindDevice(params)
|
const result = await plugin.bindDevice(params)
|
||||||
if(result.code === Result.Success.code) {
|
if (result.code === Result.Success.code) {
|
||||||
this.setData({
|
this.setData({
|
||||||
lock: result.data.lock
|
lock: result.data.lock
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|name|String|设备名称|
|
| name | String | 设备名称 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|------|----------|-----|
|
||||||
|lock|LockInfo|锁信息|
|
| lock | LockInfo | 锁信息 |
|
||||||
|
|
||||||
|
|
||||||
# 锁基本功能
|
# 锁基本功能
|
||||||
|
|
||||||
## 选择锁(对锁进行操作前调用)
|
## 选择锁(对锁进行操作前调用)
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 选择锁
|
* 选择锁
|
||||||
@ -286,10 +299,10 @@ const result = await plugin.selectLock(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|lockId|Number|锁ID|
|
| lockId | Number | 锁ID |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
@ -297,6 +310,7 @@ const result = await plugin.selectLock(params)
|
|||||||
## 开关门
|
## 开关门
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 开门
|
* 开门
|
||||||
@ -311,11 +325,11 @@ const result = await plugin.openDoor(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|-----------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|type|String|开门方式|
|
| type | String | 开门方式 |
|
||||||
|disconnect|Boolean|操作后是否断开连接|
|
| disconnect | Boolean | 操作后是否断开连接 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
@ -323,6 +337,7 @@ const result = await plugin.openDoor(params)
|
|||||||
## 删除锁
|
## 删除锁
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 删除锁
|
* 删除锁
|
||||||
@ -335,9 +350,9 @@ const result = await plugin.deleteLock(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
@ -345,6 +360,7 @@ const result = await plugin.deleteLock(params)
|
|||||||
## 获取锁支持功能
|
## 获取锁支持功能
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 获取锁支持项
|
* 获取锁支持项
|
||||||
@ -358,85 +374,87 @@ const result = await plugin.getLockSupportFeatures(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|lockId|Number|锁 Id|
|
| lockId | Number | 锁 Id |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
以下所有功能字段0代表不支持,1代表支持
|
以下所有功能字段0代表不支持,1代表支持
|
||||||
|
|
||||||
| 名称 | 类型 | 描述 |
|
| 名称 | 类型 | 描述 |
|
||||||
|---------------------------|--------|----------------------------|
|
|----------------------------|--------|----------------|
|
||||||
| password | Number | 是否支持密码 |
|
| password | Number | 是否支持密码 |
|
||||||
| icCard | Number | 是否支持 IC 卡 |
|
| icCard | Number | 是否支持 IC 卡 |
|
||||||
| fingerprint | Number | 是否支持指纹 |
|
| fingerprint | Number | 是否支持指纹 |
|
||||||
| fingerVein | Number | 是否支持指静脉 |
|
| fingerVein | Number | 是否支持指静脉 |
|
||||||
| palmVein | Number | 是否支持掌静脉 |
|
| palmVein | Number | 是否支持掌静脉 |
|
||||||
| d3Face | Number | 是否支持 3D 人脸 |
|
| d3Face | Number | 是否支持 3D 人脸 |
|
||||||
| qrCode | Number | 是否支持二维码 |
|
| qrCode | Number | 是否支持二维码 |
|
||||||
| bluetoothRemoteControl | Number | 是否支持蓝牙遥控器 |
|
| bluetoothRemoteControl | Number | 是否支持蓝牙遥控器 |
|
||||||
| wirelessKey | Number | 是否支持无线钥匙 |
|
| wirelessKey | Number | 是否支持无线钥匙 |
|
||||||
| gatewayUnlock | Number | 是否支持网关开锁 |
|
| gatewayUnlock | Number | 是否支持网关开锁 |
|
||||||
| lockCommand | Number | 是否支持闭锁指令 |
|
| lockCommand | Number | 是否支持闭锁指令 |
|
||||||
| firmwareUpgrade | Number | 是否支持固件升级设置指令 |
|
| firmwareUpgrade | Number | 是否支持固件升级设置指令 |
|
||||||
| passwordIssue | Number | 是否支持密码下发 |
|
| passwordIssue | Number | 是否支持密码下发 |
|
||||||
| cardIssue | Number | 是否支持卡片下发 |
|
| cardIssue | Number | 是否支持卡片下发 |
|
||||||
| fingerprintIssue | Number | 是否支持指纹下发 |
|
| fingerprintIssue | Number | 是否支持指纹下发 |
|
||||||
| fingerVeinIssue | Number | 是否支持指静脉下发 |
|
| fingerVeinIssue | Number | 是否支持指静脉下发 |
|
||||||
| palmVeinIssue | Number | 是否支持掌静脉下发 |
|
| palmVeinIssue | Number | 是否支持掌静脉下发 |
|
||||||
| d3FaceIssue | Number | 是否支持 3D 人脸下发 |
|
| d3FaceIssue | Number | 是否支持 3D 人脸下发 |
|
||||||
| lockFreeze | Number | 是否支持冻结/解冻锁 |
|
| lockFreeze | Number | 是否支持冻结/解冻锁 |
|
||||||
| readAdminPassword | Number | 是否支持读取管理员密码 |
|
| readAdminPassword | Number | 是否支持读取管理员密码 |
|
||||||
| passwordManagement | Number | 是否支持密码管理功能 |
|
| passwordManagement | Number | 是否支持密码管理功能 |
|
||||||
| passwordWithDelete | Number | 是否支持密码带删除功能 |
|
| passwordWithDelete | Number | 是否支持密码带删除功能 |
|
||||||
| remoteUnlock | Number | 是否支持配置远程开锁 |
|
| remoteUnlock | Number | 是否支持配置远程开锁 |
|
||||||
| autoLock | Number | 是否支持自动闭锁设置 |
|
| autoLock | Number | 是否支持自动闭锁设置 |
|
||||||
| antiPrySwitch | Number | 是否支持防撬开关配置 |
|
| antiPrySwitch | Number | 是否支持防撬开关配置 |
|
||||||
| resetSwitch | Number | 是否支持重置键配置 |
|
| resetSwitch | Number | 是否支持重置键配置 |
|
||||||
| lockSwitch | Number | 是否支持反锁功能配置 |
|
| lockSwitch | Number | 是否支持反锁功能配置 |
|
||||||
| lockSound | Number | 是否支持语音提示管理 |
|
| lockSound | Number | 是否支持语音提示管理 |
|
||||||
| languageSetting | Number | 是否支持语言设置 |
|
| languageSetting | Number | 是否支持语言设置 |
|
||||||
| realTimeClock | Number | 是否支持实时时钟 |
|
| realTimeClock | Number | 是否支持实时时钟 |
|
||||||
| wifi | Number | 是否支持 WIFI |
|
| wifi | Number | 是否支持 WIFI |
|
||||||
| videoIntercom | Number | 是否支持可视对讲 |
|
| videoIntercom | Number | 是否支持可视对讲 |
|
||||||
| cyclePassword | Number | 是否支持循环密码 |
|
| cyclePassword | Number | 是否支持循环密码 |
|
||||||
| cycleFingerprintCard | Number | 是否支持循环指纹/卡 |
|
| cycleFingerprintCard | Number | 是否支持循环指纹/卡 |
|
||||||
| doubleAuthentication | Number | 是否支持双重认证 |
|
| doubleAuthentication | Number | 是否支持双重认证 |
|
||||||
| openDirection | Number | 是否支持开门方向设置 |
|
| openDirection | Number | 是否支持开门方向设置 |
|
||||||
| proximitySensing | Number | 是否支持接近感应 |
|
| proximitySensing | Number | 是否支持接近感应 |
|
||||||
| doorStatus | Number | 是否支持门磁状态 |
|
| doorStatus | Number | 是否支持门磁状态 |
|
||||||
| wiredDoorMagnet | Number | 是否支持有线门磁 |
|
| wiredDoorMagnet | Number | 是否支持有线门磁 |
|
||||||
| wirelessDoorMagnet | Number | 是否支持无线门磁 |
|
| wirelessDoorMagnet | Number | 是否支持无线门磁 |
|
||||||
| doorNotClosedAlarm | Number | 是否支持门未关报警 |
|
| doorNotClosedAlarm | Number | 是否支持门未关报警 |
|
||||||
| unlockReminder | Number | 是否支持开锁提醒 |
|
| unlockReminder | Number | 是否支持开锁提醒 |
|
||||||
| wirelessKeyboard | Number | 是否支持无线键盘 |
|
| wirelessKeyboard | Number | 是否支持无线键盘 |
|
||||||
| lightingTime | Number | 是否支持照明灯时间配置 |
|
| lightingTime | Number | 是否支持照明灯时间配置 |
|
||||||
| passageMode | Number | 是否支持常开模式 |
|
| passageMode | Number | 是否支持常开模式 |
|
||||||
| hotelLockCardSystem | Number | 是否支持酒店锁卡系统 |
|
| hotelLockCardSystem | Number | 是否支持酒店锁卡系统 |
|
||||||
| appUnlockOnline | Number | 是否支持 APP 开锁需联网 |
|
| appUnlockOnline | Number | 是否支持 APP 开锁需联网 |
|
||||||
| bluetoothBroadcast | Number | 是否支持蓝牙广播 |
|
| bluetoothBroadcast | Number | 是否支持蓝牙广播 |
|
||||||
| attendance | Number | 是否支持考勤 |
|
| attendance | Number | 是否支持考勤 |
|
||||||
| motorTorsion | Number | 是否支持电机扭力 |
|
| motorTorsion | Number | 是否支持电机扭力 |
|
||||||
| stayWarn | Number | 是否支持逗留警告 |
|
| stayWarn | Number | 是否支持逗留警告 |
|
||||||
| abnormalWarn | Number | 是否支持异常警告 |
|
| abnormalWarn | Number | 是否支持异常警告 |
|
||||||
| isSupportIris | Number | 是否支持虹膜识别 |
|
| isSupportIris | Number | 是否支持虹膜识别 |
|
||||||
| isSupportCatEye | Number | 是否支持猫眼 |
|
| isSupportCatEye | Number | 是否支持猫眼 |
|
||||||
| deviceEnMultiLanguage | Number | 是否支持设备支持的多国语言 |
|
| deviceEnMultiLanguage | Number | 是否支持设备支持的多国语言 |
|
||||||
| isNoSupportedBlueBroadcast | Number | 是否不支持蓝牙广播 |
|
| isNoSupportedBlueBroadcast | Number | 是否不支持蓝牙广播 |
|
||||||
| isSupportAutoLight | Number | 是否支持自动亮屏 |
|
| isSupportAutoLight | Number | 是否支持自动亮屏 |
|
||||||
| isSupportBackupBattery | Number | 是否支持备用电池 |
|
| isSupportBackupBattery | Number | 是否支持备用电池 |
|
||||||
| isSupportForcedOpen | Number | 是否支持胁迫开门 |
|
| isSupportForcedOpen | Number | 是否支持胁迫开门 |
|
||||||
| isSupportOpen | Number | 是否支持开门器开锁 |
|
| isSupportOpen | Number | 是否支持开门器开锁 |
|
||||||
| isSupportPush | Number | 是否支持推送 |
|
| isSupportPush | Number | 是否支持推送 |
|
||||||
| offlinePasswordEncryption | Number | 是否支持密码算法 |
|
| offlinePasswordEncryption | Number | 是否支持密码算法 |
|
||||||
| offlinePasswordNumMax | Number | 是否支持离线密码最大个数 |
|
| offlinePasswordNumMax | Number | 是否支持离线密码最大个数 |
|
||||||
|
|
||||||
# 密码
|
# 密码
|
||||||
|
|
||||||
## 获取离线密码
|
## 获取离线密码
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 获取离线密码
|
* 获取离线密码
|
||||||
@ -451,46 +469,46 @@ const result = await plugin.getOfflinePassword(params)
|
|||||||
|
|
||||||
OfflinePassword 密码信息
|
OfflinePassword 密码信息
|
||||||
|
|
||||||
| 属性 | 类型 | 描述 |
|
| 属性 | 类型 | 描述 |
|
||||||
|-------------------|----------|-------------------|
|
|-----------------|--------|--------------------|
|
||||||
| lockId | Number | 锁 Id |
|
| lockId | Number | 锁 Id |
|
||||||
| keyboardPwdName | String | 密码名称 |
|
| keyboardPwdName | String | 密码名称 |
|
||||||
| keyboardPwdType | Number | 密码类型 |
|
| keyboardPwdType | Number | 密码类型 |
|
||||||
| isCoerced | Number | 是否胁迫模式 1:胁迫 2:非胁迫 |
|
| isCoerced | Number | 是否胁迫模式 1:胁迫 2:非胁迫 |
|
||||||
| startDate | Number | 开始日期时间戳(毫秒,永久默认为0) |
|
| startDate | Number | 开始日期时间戳(毫秒,永久默认为0) |
|
||||||
| endDate | Number | 结束日期时间戳(毫秒,永久默认为0) |
|
| endDate | Number | 结束日期时间戳(毫秒,永久默认为0) |
|
||||||
| hoursStart | Number | 开始时间(小时, 不需要时传0) |
|
| hoursStart | Number | 开始时间(小时, 不需要时传0) |
|
||||||
| hoursEnd | Number | 结束时间(小时, 不需要时传0) |
|
| hoursEnd | Number | 结束时间(小时, 不需要时传0) |
|
||||||
|
|
||||||
keyboardPwdType 密码类型
|
keyboardPwdType 密码类型
|
||||||
| 状态 | 状态说明 |
|
| 状态 | 状态说明 |
|
||||||
|------|---------------|
|
|------|---------------|
|
||||||
| 1 | 单次 |
|
| 1 | 单次 |
|
||||||
| 2 | 永久 |
|
| 2 | 永久 |
|
||||||
| 3 | 限时 |
|
| 3 | 限时 |
|
||||||
| 4 | 删除 |
|
| 4 | 删除 |
|
||||||
| 5 | 周末循环 |
|
| 5 | 周末循环 |
|
||||||
| 6 | 每日循环 |
|
| 6 | 每日循环 |
|
||||||
| 7 | 工作日循环 |
|
| 7 | 工作日循环 |
|
||||||
| 8 | 周一循环 |
|
| 8 | 周一循环 |
|
||||||
| 9 | 周二循环 |
|
| 9 | 周二循环 |
|
||||||
| 10 | 周三循环 |
|
| 10 | 周三循环 |
|
||||||
| 11 | 周四循环 |
|
| 11 | 周四循环 |
|
||||||
| 12 | 周五循环 |
|
| 12 | 周五循环 |
|
||||||
| 13 | 周六循环 |
|
| 13 | 周六循环 |
|
||||||
| 14 | 周天循环 |
|
| 14 | 周天循环 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
| 属性 | 类型 | 描述 |
|
| 属性 | 类型 | 描述 |
|
||||||
|-------------------|----------|-------------------|
|
|---------------|--------|----|
|
||||||
| keyboardPwd | Number | 密码 |
|
| keyboardPwd | Number | 密码 |
|
||||||
| keyboardPwdId | Number | 密码 |
|
| keyboardPwdId | Number | 密码 |
|
||||||
|
|
||||||
|
|
||||||
## 修改超级管理员密码
|
## 修改超级管理员密码
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 修改管理员密码
|
* 修改管理员密码
|
||||||
@ -505,19 +523,21 @@ const result = await plugin.updateAdminPassword(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
| 属性 | 类型 | 描述 |
|
| 属性 | 类型 | 描述 |
|
||||||
|-------------------|----------|-------------------|
|
|-------------|-------------|-----------|
|
||||||
| accountInfo | AccountInfo | 账号信息 |
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
| adminPwd | String | 管理员密码 |
|
| adminPwd | String | 管理员密码 |
|
||||||
| disconnect | Boolean | 操作后是否断开连接 |
|
| disconnect | Boolean | 操作后是否断开连接 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
|
|
||||||
# 记录
|
# 记录
|
||||||
|
|
||||||
## 同步开门记录
|
## 同步开门记录
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 同步全部开门记录
|
* 同步全部开门记录
|
||||||
@ -531,18 +551,274 @@ const result = await plugin.syncOpenDoorRecord()
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|-------------|-----------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|disconnect|Boolean|操作后是否断开连接|
|
| disconnect | Boolean | 操作后是否断开连接 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
|
|
||||||
|
# 扩展功能操作(ic卡、指纹、人脸、遥控、掌静脉)
|
||||||
|
|
||||||
|
## 注册、修改、删除、 删除全部
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const result = await plugin.registerExtendedProducts(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 | 说明 |
|
||||||
|
|-------------------|---------------|----|-----------|-----------------------------------------------------------------------------------------------------------------|
|
||||||
|
| type | String | Y | 功能类型 | ['card','fingerprint','face','remote','palmVein'] 其中一个 |
|
||||||
|
| keyId | String | Y | 钥匙 ID |
|
||||||
|
| uid | String | Y | 用户uid |
|
||||||
|
| userCountLimit | Number | Y | 使用次数限制 | 0xFFFF 表示不限次数 |
|
||||||
|
| operate | Number | Y | 操作类型 | 0: 注册, 1: 修改, 2: 删除, 3: 删除全部 |
|
||||||
|
| isAdmin | Number | Y | 是否管理员 | 1 表示是,0 表示否 |
|
||||||
|
| isForce | Number | Y | 是否胁迫 | 1 表示是,0 表示否 |
|
||||||
|
| isRound | Number | Y | 是否循环 | 1 表示是,0 表示否 |
|
||||||
|
| weekDays | Array<Number> | N | 循环周期 | 0 -- 6 置位分别代表周日 -- 周六;例如:循环星期一、星期二、星期四,对应为:[1,2,4] |
|
||||||
|
| startDate | Number | Y | 生效日期 | 时间戳,永久则填0 |
|
||||||
|
| endDate | Number | Y | 失效日期 | 时间戳,永久则填0 |
|
||||||
|
| startTime | String | N | 生效时间 | 例如:'00:00' |
|
||||||
|
| endTime | String | N | 失效时间 | 例如:'00:00' |
|
||||||
|
| cardId | Number | N | 卡片Id | 添加后由监听事件返回,仅当 type 为 'card' 且operate!=1 时需要 |
|
||||||
|
| cardNumber | Number | N | 卡片序号 | 仅当 type 为 'card' 时需要 |
|
||||||
|
| cardName | String | N | 卡片名称 | 仅当 type 为 'card' 时需要 |
|
||||||
|
| cardType | Number | N | 卡片类型 | 仅当 type 为 'card' 时需要,1:永久,2:期限,4:循环, |
|
||||||
|
| cardUserNo | Number | N | 卡UserNo | 仅当 type 为 'card' 时需要 (选填) |
|
||||||
|
| fingerprintId | Number | N | 指纹Id | 添加后由监听事件返回,仅当 type 为 'fingerprint' 且operate!=1 时需要 |
|
||||||
|
| fingerprintName | String | N | 指纹序号 | 仅当 type 为 'fingerprint' 时需要 |
|
||||||
|
| fingerprintNumber | Number | N | 指纹名称 | 仅当 type 为 'fingerprint' 时需要 |
|
||||||
|
| fingerprintType | Number | N | 指纹类型 | 仅当 type 为 'fingerprint' 时需要,1:永久,2:期限,3:单次,4:循环 |
|
||||||
|
| fingerprintUserNo | Number | N | 指纹UserNo | 仅当 type 为 'fingerprint' 时需要 (选填) |
|
||||||
|
| deleteType | Number | N | 删除方式 | 仅当 type 为 'fingerprint' 时需要 1:通过APP走蓝牙删除,必需先通过APP蓝牙删除后再调用该接口,2:通过网关或WiFi锁删除,如果是WiFi锁或有连接网关,则可以传2,直接调用该接口从锁里删除指纹 |
|
||||||
|
| faceId | Number | N | 人脸Id | 添加后由监听事件返回,仅当 type 为 'face' 且operate!=1 时需要 |
|
||||||
|
| faceName | String | N | 人脸序号 | 仅当 type 为 'face' 时需要 |
|
||||||
|
| faceNumber | Number | N | 人脸名称 | 仅当 type 为 'face' 时需要 |
|
||||||
|
| faceType | Number | N | 人脸类型 | 仅当 type 为 'face' 时需要,1:永久,2:期限,4:循环 |
|
||||||
|
| faceUserNo | Number | N | 人脸UserNo | 仅当 type 为 'face' 时需要 (选填) |
|
||||||
|
| palmVeinId | Number | N | 掌静脉Id | 添加后由监听事件返回,仅当 type 为 'palmVein' 且operate!=1 时需要 |
|
||||||
|
| palmVeinName | String | N | 掌静脉序号 | 仅当 type 为 'palmVein' 时需要 |
|
||||||
|
| palmVeinNumber | Number | N | 掌静脉名称 | 仅当 type 为 'palmVein' 时需要 |
|
||||||
|
| palmVeinType | Number | N | 掌静脉类型 | 仅当 type 为 'palmVein' 时需要,1:永久,2:期限,4:循环 |
|
||||||
|
| palmVeinUserNo | Number | N | 掌静脉UserNo | 仅当 type 为 'palmVein' 时需要 (选填) |
|
||||||
|
| remoteId | Number | N | 遥控Id | 添加后由监听事件返回,仅当 type 为 'remote' 且operate!=1 时需要 |
|
||||||
|
| remoteName | String | N | 遥控序号 | 仅当 type 为 'remote' 时需要 |
|
||||||
|
| remoteNumber | Number | N | 遥控名称 | 仅当 type 为 'remote' 时需要 |
|
||||||
|
| remoteType | Number | N | 遥控类型 | 仅当 type 为 'remote' 时需要,1:永久,2:期限,4:循环 |
|
||||||
|
| remoteUserNo | Number | N | 遥控UserNo | 仅当 type 为 'remote' 时需要 (选填) |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
> Result 统一返回结果格式
|
||||||
|
>
|
||||||
|
> 收到锁版提示后,将卡片放置读卡器
|
||||||
|
|
||||||
|
|
||||||
|
**监听相关事件**
|
||||||
|
|
||||||
|
| 事件名 | 描述 | 返回值示例 |
|
||||||
|
|----------------------------|---------|-------------------------------------------------------|
|
||||||
|
| registerCardConfirm | 卡片注册成功 | {cardNumber:1,cardId:1} |
|
||||||
|
| registerFingerprintProcess | 指纹注册进度 | {status: 0,process: 0};**process总步数在上方统一`Result`中返回** |
|
||||||
|
| registerFingerprintConfirm | 指纹注册成功 | {fingerprintNumber:1,fingerprintId:1} |
|
||||||
|
| registerFaceProcess | 人脸注册进度 | {faceNumber:1,faceId:1} |
|
||||||
|
| registerFaceConfirm | 人脸注册成功 | {faceNumber:1,faceId:1} |
|
||||||
|
| registerPalmVeinConfirm | 掌静脉注册成功 | {palmVeinNumber:1,palmVeinId:1} |
|
||||||
|
| registerRemoteConfirm | 遥控注册成功 | {remoteNumber:1,remoteId:1} |
|
||||||
|
|
||||||
|
**监听事件示例**
|
||||||
|
|
||||||
|
```js
|
||||||
|
// 监听卡片注册成功事件
|
||||||
|
starEventOn('registerCardConfirm', async (data) => {
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
// 监听指纹注册进度事件
|
||||||
|
starEventOn('registerFingerprintProcess', async (data) => {
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
// 监听指纹注册成功事件
|
||||||
|
starEventOn('registerFingerprintConfirm', async (data) => {
|
||||||
|
// TODO
|
||||||
|
});
|
||||||
|
// 其他事件同理...
|
||||||
|
```
|
||||||
|
|
||||||
|
## 取消操作
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
await plugin.registerExtendedProductsCancel(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 | 说明 |
|
||||||
|
|-------|--------|----|-------|---------------------------------------------------|
|
||||||
|
| type | String | Y | 功能类型 | ['card','fingerprint','face','remote','palmVein'] |
|
||||||
|
| keyId | String | Y | 钥匙 ID |
|
||||||
|
| uid | String | Y | 用户uid |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
无
|
||||||
|
|
||||||
|
## 获取ic卡列表
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const result = await plugin.getIcCardList(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 |
|
||||||
|
|----------|--------|----|-------|
|
||||||
|
| lockId | String | Y | 锁id | |
|
||||||
|
| pageNo | String | N | 页码 |
|
||||||
|
| pageSize | String | N | 每页显示数 |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"list": [],
|
||||||
|
"pageNo": 1,
|
||||||
|
"pageSize": 0,
|
||||||
|
"pages": 0,
|
||||||
|
"total": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 获取指纹列表
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
const result = await plugin.getFingerprintList(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 |
|
||||||
|
|----------|--------|----|-------|
|
||||||
|
| lockId | String | Y | 锁id | |
|
||||||
|
| pageNo | String | N | 页码 |
|
||||||
|
| pageSize | String | N | 每页显示数 |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"list": [],
|
||||||
|
"pageNo": 1,
|
||||||
|
"pageSize": 0,
|
||||||
|
"pages": 0,
|
||||||
|
"total": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 获取人脸列表
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
import {getFaceList} from 'star-cloud-web'
|
||||||
|
|
||||||
|
getFaceList(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 |
|
||||||
|
|----------|--------|----|-------|
|
||||||
|
| lockId | String | Y | 锁id | |
|
||||||
|
| pageNo | String | N | 页码 |
|
||||||
|
| pageSize | String | N | 每页显示数 |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"list": [],
|
||||||
|
"pageNo": 1,
|
||||||
|
"pageSize": 0,
|
||||||
|
"pages": 0,
|
||||||
|
"total": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 获取掌静脉列表
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
import {getPalmVeinList} from 'star-cloud-web'
|
||||||
|
|
||||||
|
getPalmVeinList(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 |
|
||||||
|
|----------|--------|----|-------|
|
||||||
|
| lockId | String | Y | 锁id | |
|
||||||
|
| pageNo | String | N | 页码 |
|
||||||
|
| pageSize | String | N | 每页显示数 |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"list": [],
|
||||||
|
"pageNo": 1,
|
||||||
|
"pageSize": 0,
|
||||||
|
"pages": 0,
|
||||||
|
"total": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 获取遥控列表
|
||||||
|
|
||||||
|
**调用方法**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
import {getRemoteList} from 'star-cloud-web'
|
||||||
|
|
||||||
|
getRemoteList(params)
|
||||||
|
```
|
||||||
|
|
||||||
|
**入参**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 必须 | 描述 |
|
||||||
|
|----------|--------|----|-------|
|
||||||
|
| lockId | String | Y | 锁id | |
|
||||||
|
| pageNo | String | N | 页码 |
|
||||||
|
| pageSize | String | N | 每页显示数 |
|
||||||
|
|
||||||
|
**返回**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"list": [],
|
||||||
|
"pageNo": 1,
|
||||||
|
"pageSize": 0,
|
||||||
|
"pages": 0,
|
||||||
|
"total": 0
|
||||||
|
}
|
||||||
|
```
|
||||||
# 其他
|
# 其他
|
||||||
|
|
||||||
## 获取服务器时间
|
## 获取服务器时间
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 获取服务器时间
|
* 获取服务器时间
|
||||||
@ -556,13 +832,14 @@ const result = await plugin.getServerTime()
|
|||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|------|--------|---------|
|
||||||
|date|Number|时间戳(毫秒)|
|
| date | Number | 时间戳(毫秒) |
|
||||||
|
|
||||||
## 移除坏锁
|
## 移除坏锁
|
||||||
|
|
||||||
1. 调用方法
|
1. 调用方法
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
/**
|
/**
|
||||||
* 移除坏锁
|
* 移除坏锁
|
||||||
@ -576,10 +853,10 @@ const result = await plugin.removeBadLock(params)
|
|||||||
|
|
||||||
2. 入参
|
2. 入参
|
||||||
|
|
||||||
|名称|类型|描述|
|
| 名称 | 类型 | 描述 |
|
||||||
| -- | -- | -- |
|
|-------------|------------------|-------|
|
||||||
|accountInfo|AccountInfo|账号信息|
|
| accountInfo | AccountInfo | 账号信息 |
|
||||||
|lockIds|Array.\<Nmuber\>|锁Id列表|
|
| lockIds | Array.\<Nmuber\> | 锁Id列表 |
|
||||||
|
|
||||||
3. 返回
|
3. 返回
|
||||||
无
|
无
|
||||||
|
|||||||
@ -1,124 +1,247 @@
|
|||||||
const { init, Result, searchDevice, bindDevice, register, openDoor, deleteLock, stopSearchDevice, selectLock, getLockSupportFeatures, getOfflinePassword } = requirePlugin('starCloud')
|
import {getFingerprintList, getIcCardList} from "star-cloud-uni";
|
||||||
|
|
||||||
|
const {
|
||||||
|
init,
|
||||||
|
Result,
|
||||||
|
searchDevice,
|
||||||
|
bindDevice,
|
||||||
|
register,
|
||||||
|
openDoor,
|
||||||
|
deleteLock,
|
||||||
|
stopSearchDevice,
|
||||||
|
selectLock,
|
||||||
|
getLockSupportFeatures,
|
||||||
|
getOfflinePassword,
|
||||||
|
registerExtendedProducts,
|
||||||
|
starEventOn,
|
||||||
|
starEventEmit
|
||||||
|
} = requirePlugin('starCloud')
|
||||||
Page({
|
Page({
|
||||||
data: {
|
data: {
|
||||||
list: [],
|
list: [],
|
||||||
accountInfo: {},
|
accountInfo: {},
|
||||||
lock: null
|
lock: null,
|
||||||
},
|
cardId: -1,
|
||||||
async onLoad () {
|
cardNumber: 0,
|
||||||
init({
|
fingerprintId: -1,
|
||||||
clientId: 'Tmj4XoB9dkXjD7t7OHKHl564rJdmvPm9',
|
fingerprintNumber: 0,
|
||||||
clientSecret: 'g1VvSbN0Ya3IqPkA8j9Xn54PE1L8zGiy',
|
eventChannel: null
|
||||||
env: 'SKY',
|
},
|
||||||
isReportLog: true
|
async onLoad() {
|
||||||
})
|
init({
|
||||||
const result = await register()
|
clientId: 'Tmj4XoB9dkXjD7t7OHKHl564rJdmvPm9',
|
||||||
if(result.code === Result.Success.code) {
|
clientSecret: 'g1VvSbN0Ya3IqPkA8j9Xn54PE1L8zGiy',
|
||||||
this.setData({
|
env: 'SKY',
|
||||||
accountInfo: result.data
|
isReportLog: true,
|
||||||
})
|
accounts: []
|
||||||
}
|
})
|
||||||
},
|
const result = await register()
|
||||||
// 搜索设备
|
if (result.code === Result.Success.code) {
|
||||||
searchDevice() {
|
|
||||||
searchDevice(this.searchDeviceCallback)
|
|
||||||
},
|
|
||||||
// 搜索设备回调
|
|
||||||
searchDeviceCallback(result) {
|
|
||||||
if(result.code === Result.Success.code) {
|
|
||||||
this.setData({
|
|
||||||
list: result.data.list
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 绑定设备
|
|
||||||
bindDevice(e) {
|
|
||||||
const { device } = e.currentTarget.dataset
|
|
||||||
wx.showModal({
|
|
||||||
title: '提示',
|
|
||||||
content: `确定绑定${device.name}吗?`,
|
|
||||||
success: async (res) => {
|
|
||||||
if (res.confirm) {
|
|
||||||
const result = await bindDevice({
|
|
||||||
accountInfo: this.data.accountInfo,
|
|
||||||
name: device.name,
|
|
||||||
})
|
|
||||||
if(result.code === Result.Success.code) {
|
|
||||||
stopSearchDevice()
|
|
||||||
this.setData({
|
this.setData({
|
||||||
lock: result.data.lock
|
accountInfo: result.data
|
||||||
|
})
|
||||||
|
init({
|
||||||
|
clientId: 'Tmj4XoB9dkXjD7t7OHKHl564rJdmvPm9',
|
||||||
|
clientSecret: 'g1VvSbN0Ya3IqPkA8j9Xn54PE1L8zGiy',
|
||||||
|
env: 'SKY',
|
||||||
|
isReportLog: true,
|
||||||
|
accounts: [this.data.accountInfo]
|
||||||
|
})
|
||||||
|
console.log('初始化成功:', this.data.accountInfo)
|
||||||
|
}
|
||||||
|
starEventOn('registerFingerprintConfirm', async (data) => {
|
||||||
|
if (data.code === 0) {
|
||||||
|
this.fingerprintId = data.data.fingerprintId
|
||||||
|
this.fingerprintNumber = data.data.fingerprintNumber
|
||||||
|
console.log('收到指纹确认事件', data, this.fingerprintId, this.fingerprintNumber);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
starEventOn('registerCardConfirm', async (data) => {
|
||||||
|
if (data.code === 0) {
|
||||||
|
this.cardId = data.data.cardId
|
||||||
|
this.cardNumber = data.data.cardNumber
|
||||||
|
console.log('收到卡片确认事件', data, this.cardId, this.cardNumber);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
starEventOn('registerFingerprintProcess', async (data) => {
|
||||||
|
console.log('收到指纹过程事件', data);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 搜索设备
|
||||||
|
searchDevice() {
|
||||||
|
searchDevice(this.searchDeviceCallback)
|
||||||
|
},
|
||||||
|
// 搜索设备回调
|
||||||
|
searchDeviceCallback(result) {
|
||||||
|
if (result.code === Result.Success.code) {
|
||||||
|
this.setData({
|
||||||
|
list: result.data.list
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 绑定设备
|
||||||
|
bindDevice(e) {
|
||||||
|
const {device} = e.currentTarget.dataset
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: `确定绑定${device.name}吗?`,
|
||||||
|
success: async (res) => {
|
||||||
|
if (res.confirm) {
|
||||||
|
const result = await bindDevice({
|
||||||
|
accountInfo: this.data.accountInfo,
|
||||||
|
name: device.name,
|
||||||
|
})
|
||||||
|
if (result.code === Result.Success.code) {
|
||||||
|
stopSearchDevice()
|
||||||
|
this.setData({
|
||||||
|
lock: result.data.lock
|
||||||
|
})
|
||||||
|
wx.showToast({
|
||||||
|
title: '绑定成功',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 开门
|
||||||
|
async openDoor() {
|
||||||
|
await selectLock({
|
||||||
|
accountInfo: this.data.accountInfo,
|
||||||
|
lockId: this.data.lock.lockId
|
||||||
|
})
|
||||||
|
const result = await openDoor({
|
||||||
|
accountInfo: this.data.accountInfo,
|
||||||
|
disconnect: true,
|
||||||
|
type: 'open'
|
||||||
|
})
|
||||||
|
console.log('开门结果', result)
|
||||||
|
if (result.code === Result.Success.code) {
|
||||||
|
wx.showToast({
|
||||||
|
title: '开门成功',
|
||||||
|
icon: 'none',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 删除锁
|
||||||
|
async deleteLock() {
|
||||||
|
await selectLock({
|
||||||
|
accountInfo: this.data.accountInfo,
|
||||||
|
lockId: this.data.lock.lockId
|
||||||
|
})
|
||||||
|
const result = await deleteLock({
|
||||||
|
accountInfo: this.data.accountInfo,
|
||||||
|
})
|
||||||
|
console.log('删除结果', result)
|
||||||
|
if (result.code === Result.Success.code) {
|
||||||
|
this.setData({
|
||||||
|
lock: null
|
||||||
})
|
})
|
||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '绑定成功',
|
title: '删除成功',
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
})
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
})
|
// 获取锁支持项
|
||||||
},
|
async getLockSupportFeatures() {
|
||||||
// 开门
|
const result = await getLockSupportFeatures({
|
||||||
async openDoor () {
|
accountInfo: this.data.accountInfo,
|
||||||
await selectLock({
|
lockId: this.data.lock.lockId
|
||||||
accountInfo: this.data.accountInfo,
|
})
|
||||||
lockId: this.data.lock.lockId
|
console.log('锁支持项', result)
|
||||||
})
|
},
|
||||||
const result = await openDoor({
|
// 获取锁离线密码
|
||||||
accountInfo: this.data.accountInfo,
|
async getOfflinePassword() {
|
||||||
disconnect: true,
|
const result = await getOfflinePassword({
|
||||||
type: 'open'
|
accountInfo: this.data.accountInfo,
|
||||||
})
|
password: {
|
||||||
console.log('开门结果',result)
|
lockId: this.data.lock.lockId,
|
||||||
if (result.code === Result.Success.code) {
|
keyboardPwdName: `单次密码${new Date().getTime()}`,
|
||||||
wx.showToast({
|
keyboardPwdType: 1,
|
||||||
title: '开门成功',
|
isCoerced: 2,
|
||||||
icon: 'none',
|
startDate: 0,
|
||||||
})
|
endDate: 0,
|
||||||
}
|
hoursStart: 0,
|
||||||
},
|
hoursEnd: 0,
|
||||||
// 删除锁
|
}
|
||||||
async deleteLock () {
|
})
|
||||||
await selectLock({
|
console.log('锁离线密码', result)
|
||||||
accountInfo: this.data.accountInfo,
|
},
|
||||||
lockId: this.data.lock.lockId
|
// ...其他代码
|
||||||
})
|
icCardOperate(e) {
|
||||||
const result = await deleteLock({
|
const operate = e.currentTarget.dataset.operate;
|
||||||
accountInfo: this.data.accountInfo,
|
this._icCardOperate(Number(operate)); // 调用实际的逻辑函数
|
||||||
})
|
},
|
||||||
console.log('删除结果',result)
|
async _icCardOperate(operate) {
|
||||||
if (result.code === Result.Success.code) {
|
console.log('this.data', this.data)
|
||||||
this.setData({
|
const parms = {
|
||||||
lock: null
|
type: 'card',
|
||||||
})
|
keyId: String(this.data.lock.keyId),
|
||||||
wx.showToast({
|
uid: String(this.data.accountInfo.uid),
|
||||||
title: '删除成功',
|
userCountLimit: 0xFFFF,
|
||||||
icon: 'none',
|
operate: operate,
|
||||||
})
|
isAdmin: 1,
|
||||||
}
|
isForce: 0,
|
||||||
},
|
isRound: 0,
|
||||||
// 获取锁支持项
|
weekDays: [],
|
||||||
async getLockSupportFeatures() {
|
startDate: 0,
|
||||||
const result = await getLockSupportFeatures({
|
endDate: 0,
|
||||||
accountInfo: this.data.accountInfo,
|
startTime: '00:00',
|
||||||
lockId: this.data.lock.lockId
|
endTime: '00:00',
|
||||||
})
|
cardId: this.data.cardId,
|
||||||
console.log('锁支持项',result)
|
cardNumber: this.data.cardNumber,
|
||||||
},
|
cardName: '测试卡片1',
|
||||||
// 获取锁离线密码
|
cardType: 1,
|
||||||
async getOfflinePassword() {
|
cardUserNo: 999
|
||||||
const result = await getOfflinePassword({
|
};
|
||||||
accountInfo: this.data.accountInfo,
|
if (operate === 1) {
|
||||||
password: {
|
parms.cardName = '测试卡片2'
|
||||||
lockId: this.data.lock.lockId,
|
}
|
||||||
keyboardPwdName: `单次密码${new Date().getTime()}`,
|
const registerExtendedProductsResult = await registerExtendedProducts(parms)
|
||||||
keyboardPwdType: 1,
|
console.log('registerExtendedProductsResult', registerExtendedProductsResult);
|
||||||
isCoerced: 2,
|
},
|
||||||
startDate: 0,
|
fingerprintOperate(e) {
|
||||||
endDate: 0,
|
const operate = e.currentTarget.dataset.operate;
|
||||||
hoursStart: 0,
|
this._fingerprintOperate(Number(operate)); // 调用实际的逻辑函数
|
||||||
hoursEnd: 0,
|
},
|
||||||
}
|
async _fingerprintOperate(operate) {
|
||||||
})
|
console.log('this.data', this.data)
|
||||||
console.log('锁离线密码',result)
|
const parms = {
|
||||||
},
|
type: 'fingerprint',
|
||||||
|
keyId: String(this.data.lock.keyId),
|
||||||
|
uid: String(this.data.accountInfo.uid),
|
||||||
|
userCountLimit: 0xFFFF,
|
||||||
|
operate: operate,
|
||||||
|
isAdmin: 1,
|
||||||
|
isForce: 0,
|
||||||
|
isRound: 0,
|
||||||
|
weekDays: [],
|
||||||
|
startDate: 0,
|
||||||
|
endDate: 0,
|
||||||
|
startTime: '00:00',
|
||||||
|
endTime: '00:00',
|
||||||
|
fingerprintId: this.data.fingerprintId,
|
||||||
|
fingerprintNumber: this.data.fingerprintNumber,
|
||||||
|
fingerprintName: '测试指纹1',
|
||||||
|
fingerprintType: 1,
|
||||||
|
fingerprintUserNo: 999,
|
||||||
|
deleteType: 1
|
||||||
|
};
|
||||||
|
if (operate === 1) {
|
||||||
|
parms.fingerprintName = '测试指纹2'
|
||||||
|
}
|
||||||
|
console.log('parms', parms)
|
||||||
|
const registerExtendedProductsResult = await registerExtendedProducts(parms)
|
||||||
|
console.log('registerExtendedProductsResult', registerExtendedProductsResult);
|
||||||
|
},
|
||||||
|
async findAllCard() {
|
||||||
|
const result = await getIcCardList({lockId: this.lock.lockId})
|
||||||
|
console.log('findAllCard', result)
|
||||||
|
},
|
||||||
|
async findAllFingerprint() {
|
||||||
|
const result = await getFingerprintList({lockId: this.lock.lockId})
|
||||||
|
console.log('findAllFingerprint', result)
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@ -7,4 +7,16 @@
|
|||||||
<button wx:if="{{lock}}" bind:tap="deleteLock">删除设备</button>
|
<button wx:if="{{lock}}" bind:tap="deleteLock">删除设备</button>
|
||||||
<button wx:if="{{lock}}" bind:tap="getLockSupportFeatures">获取锁支持项</button>
|
<button wx:if="{{lock}}" bind:tap="getLockSupportFeatures">获取锁支持项</button>
|
||||||
<button wx:if="{{lock}}" bind:tap="getOfflinePassword">获取锁离线密码</button>
|
<button wx:if="{{lock}}" bind:tap="getOfflinePassword">获取锁离线密码</button>
|
||||||
|
|
||||||
|
<button wx:if="{{lock}}" bind:tap="icCardOperate" data-operate="0">添加卡片</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="icCardOperate" data-operate="1">修改卡片</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="icCardOperate" data-operate="2">删除卡片</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="icCardOperate" data-operate="3">删除全部卡片</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="findAllCard" >查询卡片列表</button>
|
||||||
|
|
||||||
|
<button wx:if="{{lock}}" bind:tap="fingerprintOperate" data-operate="0">添加指纹</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="fingerprintOperate" data-operate="1">修改指纹</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="fingerprintOperate" data-operate="2">删除指纹</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="fingerprintOperate" data-operate="3">删除全部指纹</button>
|
||||||
|
<button wx:if="{{lock}}" bind:tap="findAllFingerprint" >查询卡片列表</button>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user