更新记录

1.0.1(2026-08-11)

新增安卓和IOS支持 添加/重置锁、蓝牙开门、获取/校准门锁时间、获取操作记录、获取电量、自定义密码增删改查


平台兼容性

uni-app(4.84)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - 5.0 12 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

开始使用

下载导入项目后,直接在文件内导入即可

import * as LockApi from '@/uni_modules/x-ttlock'

注入开始方法:

onLoad() {
  // 加载时调用----IOS会在这一步请求权限,安卓会在执行具体方法前校验
  LockApi.initBLE();
}

1. 开始扫描

LockApi.startScan(cb: (res: any[])=> void)
LockApi.startScan(cb: (jsonStr: string)=> void)

扫描方法会一直刷新,但是列表可能没有变化,每次可能返回同一个设备
res / jsonStr:当次扫描到的设备
deviceFromScanList:当前最新的设备列表
具体设备对象内的字段可实际测试时打印查看
由于通通锁官方SDK对于安卓和IOS返回的字段不同,所以扫描设备时,需要兼容一下字段保证两端代码通用
具体兼容代码如下:

// #ifdef APP-IOS 该注解只在UTS和UNIAPP X 下生效 普通uniapp项目可以这么写 if (uni.getSystemInfoSync().platform == "ios") {}
let list = []
jsonStr.forEach((item) => {
  let device = JSON.parse(item)
  list.push(device)
})
deviceFromScanList = list
// #endif

兼容后会统一输出三个字段:

  • name:设备名称
  • isSettingMode:是否为初始化状态
  • mAddress:蓝牙MAC地址

2. 停止扫描

LockApi.stopScan()

3. 初始化锁 并且设置扇区

LockApi.initLock(item.mAddress, data.hotelInfo, buildingNumber, floorNumber, sector, async (lockData) => {})

4. 锁数据绑定

因为锁的操作是单线程的,一次只能响应一个指令,同时后续所有操作都需要用到lockDatamac两个参数, 所以这里抽出了统一设置的方法,设置过之后,后续所有锁操作都无需关心这俩参数,只传输业务数据即可。

// 设置锁数据
LockApi.setLockData(lockData)
// 获取锁数据
LockApi.getLockData(mAddress)

5. 蓝牙开门

LockApi.openLock((res: boolean) => {})

7. 重置锁

LockApi.resetLock((res: boolean) => {})

将锁重置为初始化状态,等待重新绑定

8. 获取锁内日期

LockApi.getTime((res: number) => {})

返回锁内的时间,格式为时间戳

9. 校准锁时间

const timestamp = Date.now()
LockApi.setTime(timestamp, (res: boolean) => {})

10. 获取锁内操作记录

LockApi.getLog((res: string) => {})

ios版不支持,测试会闪退

11. 获取锁电量

LockApi.getBattery(async (res: number) => {})

获取锁当前剩余电量

12. 创建密码

LockApi.setPassword(pwd, start, end, (res: boolean) => {})

蓝牙创建密码
pwd: 密码数字 4-9位
start: 开始时间-时间戳
end: 结束时间-时间戳

13. 修改密码

LockApi.egitPassword(oldPwd, newPwd, start, end, (res: boolean) => {})

修改指定密码 oldPwd: 旧密码
newPwd: 新密码数字 4-9位
start: 开始时间-时间戳
end: 结束时间-时间戳

14. 删除密码

LockApi.deletePasscode(oldPwd, (res: boolean) => {})

删除已有密码oldPwd

15. 获取锁内有效密码

LockApi.getAllPasscode((res: string) => {})

返回锁内所有有效的密码
返回值为JSONArray字符串,需格式化后使用

补充说明

安卓和ios都是使用下载sdk引入 还有一些网关类的接口,没有使用过,可以自己试一试 希望该插件可以给你带来帮助。购买源码前,如有疑问可以先联系***

参考文档

UTS 语法 UTS API插件 UTS 组件插件 Hello UTS

隐私、权限声明

1. 本插件需要申请的系统权限列表:

蓝牙

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: