通通锁蓝牙模块通信插件是基于微信小程序接口开发的蓝牙模块插件,使用时需配合通通锁开放平台接口使用。
通通锁开放平台
2.x版本接口适配开放平台Cloud API V3版本接口,相对1.x版本的接口有很大改动,升级时请特别注意
2.x版本不再兼容1.x版本接口
- 添加智能锁:调用开放平台/oauth2/token接口登录 -> 小程序initLock接口 -> 开放平台锁初始化接口/v3/lock/initialize
注意:若未上传服务器可能导致智能锁数据丢失,只能物理重置智能锁 - 开锁:调用获取锁的普通钥匙列表(其余获取钥匙的接口均可) -> 小程序controlLock接口开锁
注意:小程序接口不主动上传操作记录,如需上传请自行调用开放平台接口上传记录 - 校准锁时间:调用获取锁的普通钥匙列表(其余获取钥匙的接口均可) -> 获取服务器时间 -> 小程序setLockTime接口校准锁时间
LOCK_BLE_UUID
- 2.0.0
- 沿用1.4.1版本,无特殊改动
LOCK_TYPE_V3
- 2.0.0
- 沿用1.4.1版本,无特殊改动
CONTROL_ACTION_OPEN
- 控制锁类型,固定值3,用于开锁/闭锁接口传参
- 2.0.0
- 2.0.0版本新增,开锁/闭锁接口参数类型
CONTROL_ACTION_CLOSE
- 控制锁类型,固定值6,用于开锁/闭锁接口传参
- 2.0.0
- 2.0.0版本新增,开锁/闭锁接口参数类型
RECORD_TYPE_ALL
- 锁记录类型,固定值1,用于读取锁操作记录传参,表示读取全部操作记录
- 2.0.0
- 2.0.0版本新增
RECORD_TYPE_NEW
- 锁记录类型,固定值2,用于读取锁操作记录传参,表示读取锁内未读取的操作记录
- 2.0.0
- 2.0.0版本新增
function getLockType(lockVersion)
- lockVersion:为锁版本信息json,添加锁时会返回该字段
- 0 -不开放或已不支持的锁类型 3 -二代门锁 4 -二代锁(带永久密码功能) 5 -三代锁
- 2.0.0
- 沿用1.4.1版本,无特殊改动
function isRemoteUnlockEnabled(specialValue)
- specialValue:锁的特征值
- Boolean
- 2.0.0
- 沿用1.4.1版本,无特殊改动
function setShowLog(showLog: Boolean)
- showLog: 是否打印调试日志,默认为false
- 无
-
2.0.1
- 修复调试默认值与文档说明不符的问题
-
2.0.0
- 沿用1.4.1版本,无特殊改动
function getDeviceMacAddress(deviceFromWx: Object)
- deviceFromWx: 对象为微信小程序 蓝牙扫描接口返回的device对象
- lockMac: String || null -返回当前锁的mac地址, 格式
AA:AA:AA:BB:BB:BB
, 参数错误时返回null
- 2.0.0
- 沿用1.4.1版本,无特殊改动
function startScanBleDevice(callBack: Function, failCallback: Function)
- callBack扫描接口成功获取设备回调, 扫描成功该方法可能执行多次,请不要在该循环执行添加锁等操作,返回参数信息
callback(BleDevice: Option, BleDeviceList: Array)
- BleDevice为扫描到的单把锁信息, 同一把锁可能返回多次, 说明:
{
lockName: "", -锁蓝牙名称
deviceId: "", -锁ID
rssi: 0, -蓝牙当前信号强度, 该参数, 1.3.0版本新增特殊返回值0, 表示该设备已掉线
lockMac: "", -当前的锁MAC值
protocolType: 0, -锁协议类型
protocolVersion: 0, -锁协议版本
scene: 0, -场景值
isSettingMode: false,-是否是可初始化模式,只有处于可初始化模式才能初始化锁, 1.3.0版本以前无蓝牙超时处理, 设备超时无回调
electricQuantity: 0, -电池电量
}
+ BleDeviceList说明: 1.3.0版本新增, **为当前扫描状态下周围锁信息列表, 以添加状态、蓝牙信号强度排序**, 参数信息参考BleDevice
-
failCallback: 1.3.0版本新增,用于开启蓝牙扫描失败回调, 返回参数形式:
failCallBack(err: Option)
- err说明:
{
errorCode: 错误码,
errorMsg: 错误信息,
description: 蓝牙失败原因描述
}
- 在callBack和failCallback回调中返回
- 2.0.0
- 沿用1.4.1版本,无特殊改动
function stopScanBleDevice(callBack: Function, failCallback: Function)
- callback为蓝牙停止扫描成功接口回调, 返回参数形式:
callback(res: Option)
- res说明:
{
errorCode: 0, -错误码
errorMsg: "操作成功" -错误信息
}
- failCallback -蓝牙停止扫描失败接口回调, 返回参数形式:
failCallback(err: Option)
- err说明:
{
errorCode: 错误码,
errorMsg: 错误信息,
description: 蓝牙失败原因描述
}
- 在callBack和failCallback回调中返回
- 2.0.0
- 沿用1.4.1版本,无特殊改动
function initLock(device: Object, callBack: Function, vendor: String)
- device为蓝牙扫描接口startScanBleDevice方法返回的单个对象, 仅isSettingMode=true的锁可进行初始化
- callBack为蓝牙停止扫描成功接口回调, 返回参数形式:
callback(initLockResult: Option)
- initLockResult说明:
{
errorCode: 0 -错误码
errorMsg:"", -错误信息
lockData:"" -为锁初始化数据的字符串,对应于开放平台服务器锁初始化接口(V3)中的lockData字段
}
- verdor 2.1.0版本新增, 为定制智能锁板约定字符串, 常规智能锁不传入该值
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加vendor参数,用于定制版智能锁添加
- 修改调试文本输出
- 增加部分错误码
-
2.0.2
- 优化蓝牙操作效率
- 修改调试文本输出
- 增加部分错误码
-
2.0.0
- 名称沿用1.4.1版本
- 修改参数名称bleDevice为device
- 返回值lockData修改为加密字符串
function resetLock(lockData: String, callBack: Function)
- lockData: 管理员钥匙数据字符串
- callBack:锁重置结果回调(由调用者传入,传入方法需有一个返回数据对象),返回参数形式:
callback(resetLockResult: Option)
- resetLockResult说明:
{
errorCode: 0, -错误码
errorMsg: "" -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加vendor参数,用于定制版智能锁添加
- 修改调试文本输出
- 增加部分错误码
-
2.0.2
- 优化蓝牙操作效率
- 修改调试文本输出
- 增加部分错误码
-
2.0.0
- 钥匙数据改为传入加密字符串lockData
function controlLock(controlAction: Number, lockData: String, callBack: Function, floorList: Array)
- controlAction: 操作类型,3 -蓝牙开锁,6 -蓝牙闭锁,目前仅支持3和6,可使用参数CONTROL_ACTION_OPEN和CONTROL_ACTION_CLOSE
- lockData: 钥匙数据字符串
- callBack:钥匙开锁/闭锁后的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容 返回参数形式:
callBack(controlLockResult: Option)
- controlLockResult说明:
{
lockTime: 锁中当前时间的时间戳, (!!仅在开锁成功后返回)
errorCode: 0, -错误码
errorMsg: "", -错误提示
battery: 12, -锁电量 范围 0-100, (!!仅在开锁成功后返回)
controlAction: 3, -操作类型
uniqueid: 123456789 -唯一标识
}
- floorList: 非必填仅在梯控开锁时传入需要点亮的楼层编号列表,有且至少传入一个楼层编号,如[1,2,3],单个楼层编号为[1, 127]闭区间的正整数,非梯控开锁时,该参数不填
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增,开锁功能继承1.x中UnlockBleLock接口
- 钥匙数据为传入加密字符串lockData, 去掉锁时间参数
- 增加controlAction参数控制开闭锁
- 增加返回值controlAction、uniqueid, 修改返回值lockDate为lockTime, 修改返回值electricQuantity为battery
- 为兼容离线版,开锁接口不再包含校准锁时间功能,需校准锁时间请调用setLockTime接口
function setLockTime(timestamp: Number, lockData: String, callBack: Function)
-
timestamp: 当前时间戳
-
lockData: 钥匙数据字符串
-
callBack:钥匙开门后的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(setLockTimeResult: Option)
- setLockTimeResult说明:
{
errorCode: 0, -错误码
errorMsg: "" -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增,开锁功能继承1.x中CorrectBleLockTime接口
- 钥匙数据为传入加密字符串lockData
- 接口名称改为setLockTime
- 删除返回值electricQuantity
function getOperationLog(logType: Number, lockData: String, callBack: Function)
-
logType: 记录类型,1 -ALL 锁内所有记录, 2 -NEW 锁内未读取的记录
-
lockData: 钥匙数据字符串
-
callBack:读取操作记录的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码(1.3.2版本新增)
errorMsg: "" -错误信息(1.3.2版本新增)
log: -锁内操作记录的json字符串
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function createCustomPasscode(passcode: String, startDate: Number, endDate: Number, lockData: String, callBack: Function)
-
passcode: 添加的密码字符串,由0-9组成的4-9位长度数字字符串,如"0123456"
-
startDate: 密码有效期开始时间,整点的时间戳
-
endDate: 密码有效期结束时间,整点时间戳
-
lockData: 锁数据字符串
-
callBack:添加密码的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码(1.3.2版本新增)
errorMsg: "" -错误信息(1.3.2版本新增)
passcode: -写入锁内的密码
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function modifyPasscode(originalCode: String, newCode: String, startDate: Number, endDate: Number, lockData: String, callBack: Function)
-
originalCode: 待修改的原始密码字符串, 由0-9组成的4-9位长度数字字符串,如"0123456"
-
newCode: 修改后的密码字符串,由0-9组成的4-9位长度数字字符串,如"0123456"
-
startDate: 新密码有效期开始时间,整点的时间戳
-
endDate: 新密码有效期结束时间,整点时间戳
-
lockData: 锁数据字符串
-
callBack:修改密码的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "" -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function deletePasscode(passcode: String, lockData: String, callBack: Function)
-
passcode: 待删除的密码字符串,由0-9组成的4-9位长度数字字符串,如"0123456"
-
lockData: 锁数据字符串
-
callBack:删除密码的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "" -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function addFingerprint(startDate: Number, endDate: Number, lockData: String, callBack: Function)
-
startDate: 指纹有效期开始时间,时间戳,精确到分钟
-
endDate: 指纹有效期结束时间,时间戳,精确到分钟
-
lockData: 锁数据字符串
-
callBack:添加指纹的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
type: 1, -回调类型, 当type为1时表示回调: 1 -指纹完成添加,操作结束; 2 -已进入添加模式; 3 -录入指纹步骤回调; 未返回 -操作失败,errorCode不为0
fingerprintNum: 1234567890, -添加成功的指纹号,仅type=1时返回
totalCount: 3, -录入指纹的总次数,仅type=2时返回
description: "已进入添加模式", -操作描述
currentCount: 1 -当前录入指纹的次数, 仅type=3时返回
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function modifyFingerprintValidityPeriod(startDate: Number, endDate: Number, fingerprintNum: Number, lockData: String, callBack: Function)
-
startDate: 指纹有效期开始时间,时间戳,精确到分钟
-
endDate: 指纹有效期结束时间,时间戳,精确到分钟
-
fingerprintNum: 待修改的指纹号
-
lockData: 锁数据字符串
-
callBack:修改指纹的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function deleteFingerprint(fingerprintNum: Number, lockData: String, callBack: Function)
-
fingerprintNum: 待删除的指纹号
-
lockData: 锁数据字符串
-
callBack:修改指纹的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function addICCard(startDate: Number, endDate: Number, lockData: String, callBack: Function)
-
startDate: IC卡有效期开始时间,精确到分钟的时间戳
-
endDate: IC卡有效期结束时间,精确到分钟的时间戳
-
lockData: 锁数据字符串
-
callBack:添加IC卡的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
type: 1, -回调类型, 当type为1时表示回调: 1 -IC卡完成添加,操作结束; 2 -已进入添加模式; 未返回 -操作失败,errorCode不为0
cardNum: 123456, -添加成功的IC卡号,仅type=1时返回
description: "已进入添加模式", -操作描述
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function modifyICCardValidityPeriod(startDate: Number, endDate: Number, cardNum: Number, lockData: String, callBack: Function)
-
startDate: 新IC卡有效期开始时间,精确到分钟的时间戳
-
endDate: 新IC卡有效期结束时间,精确到分钟的时间戳
-
cardNum: 待修改的IC卡卡号, 如123456
-
lockData: 锁数据字符串
-
callBack:修改IC卡有效期的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function deleteICCard(cardNum: Number, lockData: String, callBack: Function)
-
cardNum: 待删除的IC卡卡号, 如123456
-
lockData: 锁数据字符串
-
callBack:删除IC卡的回调(由调用者传入,传入方法需有一个返回数据对象),以下为回调中返回的数据对象内容,返回参数形式:
callback(result: Option)
- result说明:
{
errorCode: 0, -错误码
errorMsg: "", -错误信息
}
- 在callBack回调中返回
-
2.1.1
- 修改调试文本输出
- 增加部分错误码
-
2.1.0
- 增加梯控传参floorList
- 增加用户参数判定
-
2.0.2
- 优化蓝牙交互效率,降低交互时间
- 修改调试日志输出文本
- 修改断开连接时机
-
2.0.0
- 2.0.0版本新增
function parseSpecialValues(specialValue: Number)
- specialValue: 智能锁特征值
- JsonObject
- passcode:Boolean 是否支持密码
- ICCard:Boolean 是否支持IC卡
- fingerprint:Boolean 是否支持指纹
- wristband:Boolean 是否支持手环
- autoLock:Boolean 是否支持自动闭锁
- delPasscode:Boolean 是否支持删除密码功能
- mngPasscode:Boolean 是否支持密码管理功能
- locking:Boolean 是否支持闭锁功能
- passcodeVisible:Boolean 是否支持密码显示或隐藏功能
- gatewayUnlock:Boolean 是否支持网关开锁
- gatewayFreeze:Boolean 是否支持网关冻结、解冻
- cyclePasscode:Boolen 是否支持循环密码功能
- doorSensor:Boolean 门磁
- remoteUnlockSwitch:Boolean 远程开锁设置
- audioSwitch:Boolean 支持启用或禁用语音提示管理
- NBIoT:Boolean 是否支持NB-ioT
- getAdminPasscode:Boolean 是否支持读取管理员密码
- hotelCard:Boolean 是否支持酒店锁卡系统
- noClock:Boolean 锁没有时钟芯片
- noBleUnlock:Boolean 不支持蓝牙开锁
- passageMode:Boolean 是否支持常开模式
- autoLockInPassageMode:Boolean 常开模式下是否支持关闭自动闭锁
- wirelessKeypad:Boolean 无线键盘
- lightTimeSetting:Boolean 照明灯时间配置
- hotelCardBlacklist:Boolean 允许酒店挂失功能
- IDCard:Boolean 身份证开锁
- tamperSwitch:Boolean 防撬开关
- resetButton:Boolean 重置键配置
- privacyLock:Boolean 反锁功能
- deadLock:Boolean 死锁功能
- cyclicCardOrFingerprint:Boolean 循环指纹或循环IC卡功能
- fingerVein:Boolean 指静脉
- ble5G:Boolean 5G蓝牙
- NBAwake:Boolean NB激活配置
- 2.1.0
- 2.1.0版本新增
括号内为中文描述及相关处理方案,实际操作中不会返回
- 0 -OK (操作成功)
- 1 -CRC error(CRC校验出错,请重试)
- 2 -Not administrator, has no permission.
- 3 -Wrong administrator password.
- 5 -lock is in setting mode
- 6 -lock has no administrator
- 7 -Non-setting mode
- 8 -invalid dynamic code
- 10 -run out of battery
- 11 -initialize keyboard password failed
- 13 -invalid ekey, lock flag position is low
- 14 -ekey expired
- 15 -invalid password length
- 16 -admin super password is same with delete password
- 17 -ekey hasn't become effective
- 18 -user not login
- 19 -Failed. Undefined error.
- 20 -password already exists.
- 21 -password not exists or never be used
- 22 -out of memory
- 23 -no defined error
- 24 -Card number not exist.
- 26 -Finger print not exist.
- 27 -Invalid command(智能锁不支持该操作或参数不符合要求)
- 28 -lock frozen
- 29 -invalid vendor string
- 30 -门已反锁
- 31 -record not exist
- 10000 -钥匙或者锁时间不正确
- 10001 -锁可能被重置,请重新添加
- 10002 -锁连接超时,请确认是否在锁附近或者稍后重试
- 10003 -锁连接已断开
- 10004 -蓝牙数据发送失败,请稍后重试
- 10005 -无效钥匙,请检查钥匙数据是否正确
- 10006 -钥匙数据解析失败,请重试
- 10007 -建立蓝牙连接失败或连接已中断
- 10008 -停止蓝牙扫描失败
- 10009 -不支持的锁类型
- 10010 -锁未进入可添加模式
- 10030 -启动蓝牙适配器失败
- 10031 -停止蓝牙扫描失败
- 10032 -启用蓝牙特征值监控失败,请重试
- 10033 -蓝牙通信失败,请重试
- 10034 -设备通信错误
- 10035 -锁初始化失败
- 10036 -搜索不到设备,已停止搜索,请确认是否在锁附近或稍后重试
- 11001 -暂不支持该操作
- 11002 -设备或平台不支持蓝牙功能调试2.0.2新增
- 11003 -参数错误2.1.0新增
- 11004 -智能锁不支持该操作2.1.0新增
- 11005 -非管理员用户,无权操作2.1.0新增
- 11006 -无效的锁数据2.1.0新增
- 11007 -无效的锁时间2.1.0新增
- 11008 -无效的楼层编号列表2.1.0新增
- 11009 -密码为4-9位数字字符串2.1.0新增
- 11010 -时间不在有效期内2.1.0新增
- 11011 -结束时间不能早于开始时间2.1.1新增