fix:增加测试代码、更新插件说明文档
This commit is contained in:
parent
eb7fe0769e
commit
3e4ce7b476
@ -1,13 +1,18 @@
|
||||
# 说明
|
||||
|
||||
星云SDK是一款专为微信小程序开发者打造的智能锁插件,旨在简化与智能锁与星云平台的交互。通过封装底层操作,使接入者无需关注锁的操作逻辑,能够将更多精力集中在业务开发中。
|
||||
|
||||
# 版本
|
||||
|
||||
当前最新版本 1.1.0
|
||||
|
||||
# 引用
|
||||
|
||||
APPID: **wxf2c491f734bbf82f**
|
||||
|
||||
1. 登录小程序后台-选择设置->第三方设置->插件管理->点击“添加插件”->搜索对应APPID->添加插件->等待审核通过
|
||||
2. 项目中引用需在app.json文件中添加
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": {
|
||||
@ -18,7 +23,9 @@ APPID: **wxf2c491f734bbf82f**
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
3. 页面中引用
|
||||
|
||||
```javascript
|
||||
// 引用插件
|
||||
const plugin = requirePlugin('starCloud')
|
||||
@ -42,7 +49,7 @@ if (code === Result.Success.code) {
|
||||
```
|
||||
|
||||
| code | 变量名 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|------|-------------------------------------------|----------------------------------|
|
||||
| 0 | Success | 成功 |
|
||||
| -1 | Fail | 失败 |
|
||||
| -10 | NotMoreData | 没有更多数据 |
|
||||
@ -58,7 +65,7 @@ if (code === Result.Success.code) {
|
||||
## AccountInfo 账号信息
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|----------|--------|-------|
|
||||
| uid | Number | 用户uid |
|
||||
| username | String | 用户名 |
|
||||
| password | String | 密码 |
|
||||
@ -66,7 +73,7 @@ if (code === Result.Success.code) {
|
||||
## LockInfo 锁信息
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
|---------------------------|--------|----------------------------|
|
||||
|------------------------|-----------------|-----------|
|
||||
| deviceId | String | 设备 ID |
|
||||
| serviceId | String | 服务 ID |
|
||||
| notifyCharacteristicId | String | 通知特征值 ID |
|
||||
@ -85,7 +92,7 @@ if (code === Result.Success.code) {
|
||||
## Bluetooth 蓝牙信息
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
|------------------------|--------|----------------|
|
||||
|---------------------|-----------------|---------|
|
||||
| bluetoothDeviceId | String | 蓝牙设备 ID |
|
||||
| bluetoothDeviceName | String | 蓝牙设备名称 |
|
||||
| publicKey | Array.\<Number> | 公钥 |
|
||||
@ -95,7 +102,7 @@ if (code === Result.Success.code) {
|
||||
## LockConfig 锁配置信息
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
|-----------------------|--------|----------------------------|
|
||||
|-------------------------|--------|------------|
|
||||
| vendor | String | 厂商 |
|
||||
| product | Number | 产品号 |
|
||||
| model | String | 型号 |
|
||||
@ -113,11 +120,12 @@ if (code === Result.Success.code) {
|
||||
| mac | String | MAC 地址 |
|
||||
| timezoneOffset | Number | 时区偏移(秒) |
|
||||
|
||||
|
||||
# 初始化
|
||||
|
||||
## 初始化星云
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 初始化星云
|
||||
@ -128,7 +136,7 @@ plugin.init(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|--------------|---------|-------------|
|
||||
| clientId | String | 客户端Id |
|
||||
| clientSecret | String | 客户端密码 |
|
||||
| env | String | 环境(SKY,XHJ) |
|
||||
@ -142,6 +150,7 @@ plugin.init(params)
|
||||
## 注册
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 注册
|
||||
@ -156,15 +165,15 @@ const result = await plugin.register()
|
||||
3. 返回
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|----------|--------|-------|
|
||||
| username | String | 用户名 |
|
||||
| password | String | 密码 |
|
||||
| uid | Number | 用户uid |
|
||||
|
||||
|
||||
## 退出登录
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 退出登录
|
||||
@ -178,7 +187,7 @@ const result = await plugin.logout(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-----|--------|-------|
|
||||
| uid | Number | 用户uid |
|
||||
|
||||
3. 返回
|
||||
@ -189,6 +198,7 @@ const result = await plugin.logout(params)
|
||||
## 搜索设备
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 搜索蓝牙设备
|
||||
@ -210,7 +220,7 @@ const callback = async result => {
|
||||
3. 返回
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|----------------------|------------------|--------------------------------------|
|
||||
| deviceId | String | 蓝牙设备 id |
|
||||
| RSSI | Number | 当前蓝牙设备的信号强度,单位 dBm |
|
||||
| connectable | Boolean | 当前蓝牙设备是否可连接( Android 8.0 以下不支持返回该值 ) |
|
||||
@ -222,6 +232,7 @@ const callback = async result => {
|
||||
## 停止搜索设备
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 停止搜索
|
||||
@ -239,6 +250,7 @@ const result = await stopSearchDevice()
|
||||
## 绑定设备
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 绑定设备
|
||||
@ -258,21 +270,22 @@ if(result.code === Result.Success.code) {
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| name | String | 设备名称 |
|
||||
|
||||
3. 返回
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|------|----------|-----|
|
||||
| lock | LockInfo | 锁信息 |
|
||||
|
||||
|
||||
# 锁基本功能
|
||||
|
||||
## 选择锁(对锁进行操作前调用)
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 选择锁
|
||||
@ -287,7 +300,7 @@ const result = await plugin.selectLock(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| lockId | Number | 锁ID |
|
||||
|
||||
@ -297,6 +310,7 @@ const result = await plugin.selectLock(params)
|
||||
## 开关门
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 开门
|
||||
@ -312,7 +326,7 @@ const result = await plugin.openDoor(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|-----------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| type | String | 开门方式 |
|
||||
| disconnect | Boolean | 操作后是否断开连接 |
|
||||
@ -323,6 +337,7 @@ const result = await plugin.openDoor(params)
|
||||
## 删除锁
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 删除锁
|
||||
@ -336,7 +351,7 @@ const result = await plugin.deleteLock(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
|
||||
3. 返回
|
||||
@ -345,6 +360,7 @@ const result = await plugin.deleteLock(params)
|
||||
## 获取锁支持功能
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 获取锁支持项
|
||||
@ -359,7 +375,7 @@ const result = await plugin.getLockSupportFeatures(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| lockId | Number | 锁 Id |
|
||||
|
||||
@ -368,7 +384,7 @@ const result = await plugin.getLockSupportFeatures(params)
|
||||
以下所有功能字段0代表不支持,1代表支持
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
|---------------------------|--------|----------------------------|
|
||||
|----------------------------|--------|----------------|
|
||||
| password | Number | 是否支持密码 |
|
||||
| icCard | Number | 是否支持 IC 卡 |
|
||||
| fingerprint | Number | 是否支持指纹 |
|
||||
@ -434,9 +450,11 @@ const result = await plugin.getLockSupportFeatures(params)
|
||||
| offlinePasswordNumMax | Number | 是否支持离线密码最大个数 |
|
||||
|
||||
# 密码
|
||||
|
||||
## 获取离线密码
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 获取离线密码
|
||||
@ -452,7 +470,7 @@ const result = await plugin.getOfflinePassword(params)
|
||||
OfflinePassword 密码信息
|
||||
|
||||
| 属性 | 类型 | 描述 |
|
||||
|-------------------|----------|-------------------|
|
||||
|-----------------|--------|--------------------|
|
||||
| lockId | Number | 锁 Id |
|
||||
| keyboardPwdName | String | 密码名称 |
|
||||
| keyboardPwdType | Number | 密码类型 |
|
||||
@ -483,14 +501,14 @@ keyboardPwdType 密码类型
|
||||
3. 返回
|
||||
|
||||
| 属性 | 类型 | 描述 |
|
||||
|-------------------|----------|-------------------|
|
||||
|---------------|--------|----|
|
||||
| keyboardPwd | Number | 密码 |
|
||||
| keyboardPwdId | Number | 密码 |
|
||||
|
||||
|
||||
## 修改超级管理员密码
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 修改管理员密码
|
||||
@ -506,7 +524,7 @@ const result = await plugin.updateAdminPassword(params)
|
||||
2. 入参
|
||||
|
||||
| 属性 | 类型 | 描述 |
|
||||
|-------------------|----------|-------------------|
|
||||
|-------------|-------------|-----------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| adminPwd | String | 管理员密码 |
|
||||
| disconnect | Boolean | 操作后是否断开连接 |
|
||||
@ -515,9 +533,11 @@ const result = await plugin.updateAdminPassword(params)
|
||||
无
|
||||
|
||||
# 记录
|
||||
|
||||
## 同步开门记录
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 同步全部开门记录
|
||||
@ -532,17 +552,273 @@ const result = await plugin.syncOpenDoorRecord()
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|-------------|-----------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| disconnect | Boolean | 操作后是否断开连接 |
|
||||
|
||||
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. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 获取服务器时间
|
||||
@ -557,12 +833,13 @@ const result = await plugin.getServerTime()
|
||||
3. 返回
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|------|--------|---------|
|
||||
| date | Number | 时间戳(毫秒) |
|
||||
|
||||
## 移除坏锁
|
||||
|
||||
1. 调用方法
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* 移除坏锁
|
||||
@ -577,7 +854,7 @@ const result = await plugin.removeBadLock(params)
|
||||
2. 入参
|
||||
|
||||
| 名称 | 类型 | 描述 |
|
||||
| -- | -- | -- |
|
||||
|-------------|------------------|-------|
|
||||
| accountInfo | AccountInfo | 账号信息 |
|
||||
| lockIds | Array.\<Nmuber\> | 锁Id列表 |
|
||||
|
||||
|
||||
@ -1,23 +1,71 @@
|
||||
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({
|
||||
data: {
|
||||
list: [],
|
||||
accountInfo: {},
|
||||
lock: null
|
||||
lock: null,
|
||||
cardId: -1,
|
||||
cardNumber: 0,
|
||||
fingerprintId: -1,
|
||||
fingerprintNumber: 0,
|
||||
eventChannel: null
|
||||
},
|
||||
async onLoad() {
|
||||
init({
|
||||
clientId: 'Tmj4XoB9dkXjD7t7OHKHl564rJdmvPm9',
|
||||
clientSecret: 'g1VvSbN0Ya3IqPkA8j9Xn54PE1L8zGiy',
|
||||
env: 'SKY',
|
||||
isReportLog: true
|
||||
isReportLog: true,
|
||||
accounts: []
|
||||
})
|
||||
const result = await register()
|
||||
if (result.code === Result.Success.code) {
|
||||
this.setData({
|
||||
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() {
|
||||
@ -121,4 +169,79 @@ Page({
|
||||
})
|
||||
console.log('锁离线密码', result)
|
||||
},
|
||||
// ...其他代码
|
||||
icCardOperate(e) {
|
||||
const operate = e.currentTarget.dataset.operate;
|
||||
this._icCardOperate(Number(operate)); // 调用实际的逻辑函数
|
||||
},
|
||||
async _icCardOperate(operate) {
|
||||
console.log('this.data', this.data)
|
||||
const parms = {
|
||||
type: 'card',
|
||||
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',
|
||||
cardId: this.data.cardId,
|
||||
cardNumber: this.data.cardNumber,
|
||||
cardName: '测试卡片1',
|
||||
cardType: 1,
|
||||
cardUserNo: 999
|
||||
};
|
||||
if (operate === 1) {
|
||||
parms.cardName = '测试卡片2'
|
||||
}
|
||||
const registerExtendedProductsResult = await registerExtendedProducts(parms)
|
||||
console.log('registerExtendedProductsResult', registerExtendedProductsResult);
|
||||
},
|
||||
fingerprintOperate(e) {
|
||||
const operate = e.currentTarget.dataset.operate;
|
||||
this._fingerprintOperate(Number(operate)); // 调用实际的逻辑函数
|
||||
},
|
||||
async _fingerprintOperate(operate) {
|
||||
console.log('this.data', this.data)
|
||||
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="getLockSupportFeatures">获取锁支持项</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>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user