# 说明 星云SDK-Web版是一款专为web开发者打造的智能锁SDK,旨在简化与智能锁与星云平台的交互。通过封装底层操作,使接入者无需关注锁的操作逻辑,能够将更多精力集中在业务开发中。 # 引用 ```git npm install star-cloud-web ``` # 公共参数 ## Result 方法的统一返回结构 ```javascript // Result类是所有有返回结果的方法,统一的返回结构,以下接口文档的返回只列出data中的数据结构 import { Result } from 'star-cloud-web' // Result.Success中code=0,message='成功',data根据不同方法返回不同数据,默认为{} const { code, data, message } = Result.Success // 常用判断方式 if (code === Result.Success.code) { // 逻辑代码 } else { // 错误处理 } ``` | code | 变量名 | 描述(message) | |------|-------------------------------------------|----------------------------------| | 0 | Success | 成功 | | -1 | Fail | 失败 | | -10 | NotMoreData | 没有更多数据 | | -20 | NotAvailableBluetooth | 蓝牙尚未打开,请先打开蓝牙 | | -21 | NotAvailableBluetoothPermission | 小程序蓝牙功能被禁用,请打开小程序蓝牙权限 | | -22 | NotAvailableWeChatNearbyDevicesPermission | 蓝牙功能需要附近设备权限,请前往设置开启微信的附近设备权限后再试 | | -23 | NotAvailableWeChatLocationPermission | 蓝牙功能需要定位权限,请前往设置开启微信的定位权限后再试 | | -24 | NotAvailableWeChatNearbyDevicesEmpty | 蓝牙功能需要定位服务,请前往设置开启定位服务后再试 | | -25 | NotAvailableWeChatBluetoothPermission | 微信的蓝牙权限被禁用,请前往设置开启微信的蓝牙权限后再试 | | -30 | DeviceHasBeenReset | 设备已被重置 | | 251 | ReadyHasPassword | 该密码已存在 | ## AccountInfo 账号信息 | 参数名称 | 数据类型 | 描述 | |----------|--------|-------| | uid | Number | 用户uid | | username | String | 用户名 | | password | String | 密码 | # 初始化 ## 初始化星云 **调用方法** ```javascript import { init } from 'star-cloud-web' init(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |--------------|----------------------|-----|-----------------------------------------| | clientId | String | Y | 客户端Id | | clientSecret | String | Y | 客户端密码 | | env | String | Y | 环境('SKY':斯凯环境 'XHJ':鑫泓佳环境 'LOCAL': 本地环境) | | clientUrl | String | Y | 客户端URL env等于LOCAL环境必传 其他默认设空字符 | | accounts | Array\ | Y | 账号列表,后续方法中需传入uid,若未传入则默认使用第一个账号 | **返回** 无 # 用户 ## 注册 **调用方法** ```javascript import { register } from 'star-cloud-web' register() ``` **入参** 无 **返回** | 参数名称 | 数据类型 | 描述 | |----------|--------|-------| | username | String | 用户名 | | password | String | 密码 | | uid | Number | 用户uid | ## 退出登录 **调用方法** ```javascript import { logout } from 'star-cloud-web' logout(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |------|--------|----|-------| | uid | Number | Y | 用户uid | **返回** 无 # 锁基本功能 ## 获取锁支持功能 **调用方法** ```javascript import { getLockSupportFeatures } from 'star-cloud-web' getLockSupportFeatures(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |--------|--------|----|-------| | uid | Number | N | 用户uid | | lockId | Number | Y | 锁 Id | **返回** 以下所有功能字段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 | 是否支持离线密码最大个数 | # 密码 ## 获取离线密码 **调用方法** ```javascript import { getOfflinePassword } from 'star-cloud-web' getOfflinePassword(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |----------|-----------------|----|-------| | uid | Number | N | 用户uid | | password | OfflinePassword | Y | 密码信息 | OfflinePassword 密码信息 | 属性 | 数据类型 | 必须 | 描述 | |-----------------|--------|----|--------------------| | lockId | Number | Y | 锁 Id | | keyboardPwdName | String | Y | 密码名称 | | keyboardPwdType | Number | Y | 密码类型 | | isCoerced | Number | Y | 是否胁迫模式 1:胁迫 2:非胁迫 | | startDate | Number | Y | 开始日期时间戳(毫秒,永久默认为0) | | endDate | Number | Y | 结束日期时间戳(毫秒,永久默认为0) | | hoursStart | Number | Y | 开始时间(小时, 不需要时传0) | | hoursEnd | Number | Y | 结束时间(小时, 不需要时传0) | keyboardPwdType 密码类型 | 状态 | 状态说明 | |----|-------| | 1 | 单次 | | 2 | 永久 | | 3 | 限时 | | 4 | 删除 | | 5 | 周末循环 | | 6 | 每日循环 | | 7 | 工作日循环 | | 8 | 周一循环 | | 9 | 周二循环 | | 10 | 周三循环 | | 11 | 周四循环 | | 12 | 周五循环 | | 13 | 周六循环 | | 14 | 周天循环 | **返回** | 属性 | 数据类型 | 描述 | |-------------------|--------|-----------------------| | keyboardPwd | Number | 密码 | | keyboardPwdId | Number | 密码ID | | keyboardPwdStatus | Number | 密码状态 1:正常 2:已过期 3:待生效 | # 其他 ## 获取服务器时间 **调用方法** ```javascript import { getServerTime } from 'star-cloud-web' getServerTime() ``` **入参** 无 **返回** | 参数名称 | 数据类型 | 描述 | |------|--------|---------| | date | Number | 时间戳(毫秒) | ## 移除坏锁 **调用方法** ```javascript import { removeBadLock } from 'star-cloud-web' removeBadLock(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |---------|----------------|----|-------| | uid | Number | N | 用户uid | | lockIds | Array. | Y | 锁Id列表 | **返回** 无 # 电表 ## 电表-更新电表信息 **调用方法** ```javascript import { refreshElecInfo } from 'star-cloud-web' refreshElecInfo(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |---------|----------------|----|------| | uid | Number | N | 用户uid | | elecId | Number | N | 电表ID | **返回** 无 ## 电表-更新电表设置 **调用方法** ```javascript import { updateElecSetting } from 'star-cloud-web' updateElecSetting(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |---------|----------------|----|------| | uid | Number | N | 用户uid | | elecId | Number | N | 电表ID | | elecName | String | N | 电表名称 | | loadLimit | Number | N | 最大负荷:0~99999| **返回** 无 # 冷电表 ## 冷电表-更新冷水表信息 **调用方法** ```javascript import { refreshColdWaterInfo } from 'star-cloud-web' refreshColdWaterInfo(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |---------|----------------|----|-------| | uid | Number | N | 用户uid | | waterId | Number | N | 冷水表ID | **返回** 无 # 热电表 ## 热电表-更新热水表信息 **调用方法** ```javascript import { refreshHotWaterInfo } from 'star-cloud-web' refreshHotWaterInfo(params) ``` **入参** | 参数名称 | 数据类型 | 必须 | 描述 | |---------|----------------|----|-------| | uid | Number | N | 用户uid | | waterId | Number | N | 热水表ID | **返回** 无