feat: 1. 添加获取锁支持项方法 2. 获取离线密码入参添加 lockId

This commit is contained in:
范鹏 2024-12-09 15:00:13 +08:00
parent cc84733f9a
commit c45e0c57f7

View File

@ -1,5 +1,10 @@
## 星云SDK
# 说明
星云SDK是一款专为微信小程序开发者打造的智能锁插件旨在简化与智能锁与星云平台的交互。通过封装底层操作使接入者无需关注锁的操作逻辑能够将更多精力集中在业务开发中。
# 版本
当前最新版本 1.1.0
# 引用
APPID: **wxf2c491f734bbf82f**
1. 登录小程序后台-选择设置->第三方设置->插件管理->点击“添加插件”->搜索对应APPID->添加插件->等待审核通过
2. 项目中引用需在app.json文件中添加
@ -7,7 +12,7 @@ APPID: **wxf2c491f734bbf82f**
{
"plugins": {
"starCloud": {
"version": "1.0.1",
"version": "1.1.0",
"provider": "wxf2c491f734bbf82f"
}
}
@ -19,13 +24,12 @@ APPID: **wxf2c491f734bbf82f**
const plugin = requirePlugin('starCloud')
```
## 公共参数
# 公共参数
## Result 方法的统一返回结构
> 返回结果
{.is-success}
```javascript
// Result类
// 除初始化星云外,所有方法的统一返回结构
// Result 类是所有有返回结果的方法,统一的返回结构
const { Result } = requirePlugin('starCloud')
// code对应报错码有三部分组合构成锁端报错码+星云服务端报错码+自定义报错码
const { code, data, message } = Result.Success
@ -51,11 +55,7 @@ if (code === Result.Success.code) {
|-30|DeviceHasBeenReset|设备已被重置|
|251|ReadyHasPassword|该密码已存在|
> 账号信息 AccountInfo
{.is-success}
```javascript
AccountInfo accountInfo
```
## AccountInfo 账号信息
|名称|类型|描述|
| -- | -- | -- |
@ -63,11 +63,7 @@ AccountInfo accountInfo
|username|String|用户名|
|password|String|密码|
> 锁信息 LockInfo
{.is-success}
```javascript
LockInfo lock
```
## LockInfo 锁信息
| 名称 | 类型 | 描述 |
|---------------------------|--------|----------------------------|
@ -86,11 +82,7 @@ LockInfo lock
| bluetooth | Bluetooth | 蓝牙信息 |
| lockConfig | LockConfig | 锁配置信息 |
> 蓝牙信息 Bluetooth
{.is-success}
```javascript
Bluetooth bluetooth
```
## Bluetooth 蓝牙信息
| 名称 | 类型 | 描述 |
|------------------------|--------|----------------|
@ -100,11 +92,7 @@ Bluetooth bluetooth
| privateKey | Array.\<Number> | 私钥 |
| signKey | Array.\<Number> | 签名密钥 |
> 锁配置信息 LockConfig
{.is-success}
```javascript
LockConfig lockConfig
```
## LockConfig 锁配置信息
| 名称 | 类型 | 描述 |
|-----------------------|--------|----------------------------|
@ -125,16 +113,16 @@ LockConfig lockConfig
| mac | String | MAC 地址 |
| timezoneOffset | Number | 时区偏移(秒) |
## 初始化
> 初始化星云
{.is-success}
# 初始化
## 初始化星云
1. 调用方法
```javascript
/**
* 初始化星云
*/
plugin.initStarCloud(params)
plugin.init(params)
```
2. 入参
@ -149,10 +137,9 @@ plugin.initStarCloud(params)
3. 返回
## 账户相关
# 用户
> 注册
{.is-success}
## 注册
1. 调用方法
```javascript
@ -175,8 +162,8 @@ const result = await plugin.register()
|uid|Number|用户uid|
> 退出登录
{.is-success}
## 退出登录
1. 调用方法
```javascript
/**
@ -197,10 +184,9 @@ const result = await plugin.logout(params)
3. 返回
## 设备相关
# 设备
> 搜索设备
{.is-success}
## 搜索设备
1. 调用方法
```javascript
@ -233,8 +219,7 @@ const callback = async result => {
|localName|String|当前蓝牙设备的广播数据段中的 LocalName 数据段|
|name|String|蓝牙设备名称,某些设备可能没有|
> 停止搜索设备
{.is-success}
## 停止搜索设备
1. 调用方法
```javascript
@ -251,8 +236,7 @@ const result = await stopSearchDevice()
3. 返回
> 绑定设备
{.is-success}
## 绑定设备
1. 调用方法
```javascript
@ -284,10 +268,10 @@ if(result.code === Result.Success.code) {
| -- | -- | -- |
|lock|LockInfo|锁信息|
## 锁基础功能
> 选择锁(对锁进行操作前调用)
{.is-success}
# 锁基本功能
## 选择锁(对锁进行操作前调用)
1. 调用方法
```javascript
/**
@ -310,8 +294,8 @@ const result = await plugin.selectLock(params)
3. 返回
> 开关门
{.is-success}
## 开关门
1. 调用方法
```javascript
/**
@ -336,8 +320,8 @@ const result = await plugin.openDoor(params)
3. 返回
> 删除锁
{.is-success}
## 删除锁
1. 调用方法
```javascript
/**
@ -358,10 +342,99 @@ const result = await plugin.deleteLock(params)
3. 返回
## 锁密码相关
## 获取锁支持功能
> 获取离线密码
{.is-success}
1. 调用方法
```javascript
/**
* 获取锁支持项
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {Number} params.lockId 锁 Id
* @returns Result
*/
const result = await plugin.getLockSupportFeatures(params)
```
2. 入参
|名称|类型|描述|
| -- | -- | -- |
|accountInfo|AccountInfo|账号信息|
|lockId|Number|锁 Id|
3. 返回
以下所有功能字段0代表不支持1代表支持
| 名称 | 类型 | 描述 |
|---------------------------|--------|----------------------------|
| password | Number | 是否支持密码 |
| icCard | Number | 是否支持 IC 卡 |
| fingerprint | Number | 是否支持指纹 |
| fingerVein | Number | 是否支持指静脉 |
| palmVein | Number | 是否支持掌静脉 |
| d3Face | Number | 是否支持 3D 人脸 |
| qrCode | Number | 是否支持二维码 |
| bluetoothRemoteControl | Number | 是否支持蓝牙遥控器 |
| wirelessKey | Number | 是否支持无线钥匙 |
| gatewayUnlock | Number | 是否支持网关开锁 |
| lockCommand | Number | 是否支持闭锁指令 |
| firmwareUpgrade | Number | 是否支持固件升级设置指令 |
| passwordIssue | Number | 是否支持密码下发 |
| cardIssue | Number | 是否支持卡片下发 |
| fingerprintIssue | Number | 是否支持指纹下发 |
| fingerVeinIssue | Number | 是否支持指静脉下发 |
| palmVeinIssue | Number | 是否支持掌静脉下发 |
| d3FaceIssue | Number | 是否支持 3D 人脸下发 |
| lockFreeze | Number | 是否支持冻结/解冻锁 |
| readAdminPassword | Number | 是否支持读取管理员密码 |
| passwordManagement | Number | 是否支持密码管理功能 |
| passwordWithDelete | Number | 是否支持密码带删除功能 |
| remoteUnlock | Number | 是否支持配置远程开锁 |
| autoLock | Number | 是否支持自动闭锁设置 |
| antiPrySwitch | Number | 是否支持防撬开关配置 |
| resetSwitch | Number | 是否支持重置键配置 |
| lockSwitch | Number | 是否支持反锁功能配置 |
| lockSound | Number | 是否支持语音提示管理 |
| languageSetting | Number | 是否支持语言设置 |
| realTimeClock | Number | 是否支持实时时钟 |
| wifi | Number | 是否支持 WIFI |
| videoIntercom | Number | 是否支持可视对讲 |
| cyclePassword | Number | 是否支持循环密码 |
| cycleFingerprintCard | Number | 是否支持循环指纹/卡 |
| doubleAuthentication | Number | 是否支持双重认证 |
| openDirection | Number | 是否支持开门方向设置 |
| proximitySensing | Number | 是否支持接近感应 |
| doorStatus | Number | 是否支持门磁状态 |
| wiredDoorMagnet | Number | 是否支持有线门磁 |
| wirelessDoorMagnet | Number | 是否支持无线门磁 |
| doorNotClosedAlarm | Number | 是否支持门未关报警 |
| unlockReminder | Number | 是否支持开锁提醒 |
| wirelessKeyboard | Number | 是否支持无线键盘 |
| lightingTime | Number | 是否支持照明灯时间配置 |
| passageMode | Number | 是否支持常开模式 |
| hotelLockCardSystem | Number | 是否支持酒店锁卡系统 |
| appUnlockOnline | Number | 是否支持 APP 开锁需联网 |
| bluetoothBroadcast | Number | 是否支持蓝牙广播 |
| attendance | Number | 是否支持考勤 |
| motorTorsion | Number | 是否支持电机扭力 |
| stayWarn | Number | 是否支持逗留警告 |
| abnormalWarn | Number | 是否支持异常警告 |
| isSupportIris | Number | 是否支持虹膜识别 |
| isSupportCatEye | Number | 是否支持猫眼 |
| deviceEnMultiLanguage | Number | 是否支持设备支持的多国语言 |
| isNoSupportedBlueBroadcast | Number | 是否不支持蓝牙广播 |
| isSupportAutoLight | Number | 是否支持自动亮屏 |
| isSupportBackupBattery | Number | 是否支持备用电池 |
| isSupportForcedOpen | Number | 是否支持胁迫开门 |
| isSupportOpen | Number | 是否支持开门器开锁 |
| isSupportPush | Number | 是否支持推送 |
| offlinePasswordEncryption | Number | 是否支持密码算法 |
| offlinePasswordNumMax | Number | 是否支持离线密码最大个数 |
# 密码
## 获取离线密码
1. 调用方法
```javascript
@ -380,6 +453,7 @@ OfflinePassword 密码信息
| 属性 | 类型 | 描述 |
|-------------------|----------|-------------------|
| lockId | Number | 锁 Id |
| keyboardPwdName | String | 密码名称 |
| keyboardPwdType | Number | 密码类型 |
| isCoerced | Number | 是否胁迫模式 1:胁迫 2:非胁迫 |
@ -414,8 +488,7 @@ keyboardPwdType 密码类型
| keyboardPwdId | Number | 密码 |
> 修改超级管理员密码
{.is-success}
## 修改超级管理员密码
1. 调用方法
```javascript
@ -441,10 +514,8 @@ const result = await plugin.updateAdminPassword(params)
3. 返回
## 锁记录相关
> 同步开门记录
{.is-success}
# 记录
## 同步开门记录
1. 调用方法
```javascript
@ -468,11 +539,8 @@ const result = await plugin.syncOpenDoorRecord()
3. 返回
## 其他
> 获取服务器时间
{.is-success}
# 其他
## 获取服务器时间
1. 调用方法
```javascript
@ -492,8 +560,7 @@ const result = await plugin.getServerTime()
| -- | -- | -- |
|date|Number|时间戳(毫秒)|
> 移除坏锁
{.is-success}
## 移除坏锁
1. 调用方法
```javascript
@ -516,4 +583,3 @@ const result = await plugin.removeBadLock(params)
3. 返回