更新记录
1.0.2(2023-10-27)
修复ios绑卡错误
1.0.1(2023-08-16)
在原通通蓝牙锁插件下,支持了通通网关功能
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 11.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:12 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
重要提示
集成了通通锁sdk与网关sdk,如果不需要网关功能,购买单独的 通通锁插件即可.
锁sdk使用方法
const TTLock = uni.requireNativePlugin("ainuo-ttlock")
TTLock.isBLEEnabled()
全局监听方法
1.lock_add_card 监听添加卡事件
2.lock_add_fingerprint 监听添加指纹事件
var globalEvent = uni.requireNativePlugin('globalEvent');
onLoad(params) {
globalEvent.addEventListener('lock_add_card', (e)=> {});
globalEvent.addEventListener('lock_add_fingerprint', (e)=> {});
}
callback返回结构
参数 | 对应值 |
---|---|
status | 状态 |
...others | 其他返回参数如lockData |
存在错误时会返回通通锁errorCode
参数 | 对应值 |
---|---|
errorCode | 通通锁返回错误状态码 |
errorMsg | 通通锁返回错误描述 |
重要
插件默认不会申请任何权限,再确认打开蓝牙启动查找设备时,确认app已获取位置权限 或者可以使用uni.getLocation来获得位置权限
uni.getLocation({
type: 'wgs84',
geocode: true,
success: (res) =>{
TTLock.startScanLock((data) => {
})
},
fail(e) {
console.log(e)
}
});
接口列表
本插件封装处通通锁所有接口名称与参数与官方保持一至
用于判断蓝牙是否可用
isBLEEnabled()
请求打开蓝牙
requestBleEnable()
蓝牙操作前的准备工作
prepareBTService()
停止蓝牙服务并且释放资源
stopBTService()
启动扫描锁 调用该方法会持续查找附件设备信息
startScanLock((device)=>{})
停止扫描
topScanLock()
初始化锁 初始化成功后返回lockData,每个锁只能初一始化一次,lockData需要存储
initLock(String lockMac, callback)
重置电子钥匙 重置电子钥匙,成功之后, lockFlagPos将会发生改变,需要向自己服务端更新lockData。
resetEkey(String lockData,String lockMac, callback)
重置锁 重置锁意味着恢复出厂设置,如果你想要再次使用该锁,你需要重新初始化该锁。
resetLock(String lockData,String lockMac, , callback)
开关锁操作(ControlAction.LOCK and ControlAction.UNLOCK) action=3 开锁 action=6 闭锁
controlLock(int action, String lockData, String lockMac,, callback)
获取音频的开关状态
getMuteModeState(
String lockData,
String lockMac,
callback)
设置音频开关状态 true – on, false – off
setMuteMode(
boolean enable,
String lockData,
String lockMac,
callback)
校准锁时间
setLockTime(
long timestamp,
String lockData,
String lockMac,
callback)
获取锁时间 getLockTime( String lockData, String lockMac, callback) 获取锁日志 logType=0 – 获取最新的操作记录,既上次获取之后新增的。
logType=1 – 锁里面存储的完整记录。
getOperationLog(
int logType,
String lockData,
String lockMac,
callback)
获取锁电量
getBatteryLevel(
String lockData,
String lockMac,
callback)
设置自定义密码(4 – 9位密码)
createCustomPasscode(
String passcode,
long startDate,
long endDate,
String lockData,
String lockMac,
callback)
修改密码 newPasscode为空表示不修改密码。
startDate 和endDate都为0表示不修改有效期。
modifyPasscode(
String originalCode,
String newCode,
long startDate,
long endDate,
String lockData,
String lockMac,
callback)
删除密码
deletePasscode(
String passcode,
String lockData,
String lockMac,
callback)
重置密码(之前生成的密码都将失效)
resetPasscode(
String lockData,
String lockMac,
callback)
获取锁里所有的有效密码
getAllValidPasscodes(
String lockData,
String lockMac,
callback)
修改管理码
modifyAdminPasscode(
String newPasscode,
String lockData,
String lockMac,
callback)
添加IC卡 startDate和endDate都为0表示添加永久期限的IC卡。 addICCard通过全局事件lock_add_card监听
addICCard(
long startDate,
long endDate,
String lockData,
String lockMac)
修改IC卡有效期
modifyICCardValidityPeriod(
long startDate,
long endDate,
String cardNum,
String lockData,
String lockMac,
callback)
获取所有有效的IC卡
getAllValidICCards(
String lockData,
String lockMac,
callback)
删除IC卡
deleteICCard(
String cardNum,
String lockData,
String lockMac,
callback)
清空IC卡
clearAllICCard(
String lockData,
String lockMac,
callback)
添加指纹 startDate 和endDate都为0意味着添加永久指纹。
addFingerprint通过全局事件lock_add_fingerprint监听
addFingerprint(
long startDate,
long endDate,
String lockData,
String lockMac)
获取所有有效的指纹
getAllValidFingerprints(
String lockData,
String lockMac,
callback)
删除指纹
deleteFingerprint(
String fingerprintNum,
String lockData,
String lockMac,
callback)
清空所有指纹
clearAllFingerprints(
String lockData,
String lockMac,
callback)
修改指纹有效期
modifyFingerprintValidityPeriod(
long startDate,
long endDate,
String fingerprintNum,
String lockData,
String lockMac,
callback)
连接锁 该接口可以用于判断用户在没在锁附近
connectLock(String lockMac,callback)
断开连接
disconnect()
获取锁状态
getLockStatus(String lockData, String lockMac,callback)
设置锁酒店
options={
buildNumber,
floorNumber,
hotelInfo
}
setHotelData(JSONObject options, String lockData,callback)
设置锁扇区
sectorStr 1,2,3 表示 扇区 1 2 3
setHotelCardSector(String sectorStr, String lockData,callback)
设置闭锁时间
setAutomaticLockingPeriod(int seconds, String lockData, String lockMac,callback)
获取闭锁时间
getAutomaticLockingPeriod(String lockData,callback)
设置远程开锁开关
setRemoteUnlockSwitchState( boolean enable,String lockData,String lockMac,callback)
获取远程开锁开关状态
getRemoteUnlockSwitchState(String lockData,String lockMac,callback)
获取常开模式数据
getPassageMode(String lockData,String lockMac,callback)
设置常开模式数据
const modeData={
modeType:0/1,
startDate:8*60, //am 8:00
endDate:18*60, //pm 16:00
days:1,2,3,4,5
}
setPassageMode(Object modeData,String lockData,String lockMac,callback)
删除常开模式
const deletePassageMode={
modeType:0/1,
startDate:8*60, //am 8:00
endDate:18*60, //pm 16:00
days:1,2,3,4,5
}
deletePassageMode(Object modeData,String lockData,String lockMac,callback)
清空常开模式
clearPassageMode(String lockData,String lockMac,callback)
wifi锁扫描附近可用wifi
scanWifi(String lockData,callback)
配置wifi锁连接的wifi
configWifi(String wifiName, String wifiPassword, String lockData,callback)
配置wifi锁连接的服务器
configServer(String serverAddress, int portNumber, String lockData, callback)
获取wifi锁的wifi信息
getWifiInfo(String lockData, callback)
wifi锁 ip设置
wifi锁需要支持静态ip的设置才可以使用该接口
即调用 isSupportFeature(lockData,58)返回true即支持;
ipSets={
/**
* 0 -固定ip
* 1 -DHCP 自动获取ip地址
*/
int type;
/**
* 静态ip
*/
String ipAddress;
/**
* 子网掩码
*/
String subnetMask;
/**
* 默认网关
*/
String router;
/**
* 首选dns
*/
String preferredDns;
/**
* 备用dns
*/
String alternateDns;
}
configIp(Object ipSets,String lockData,callback)
检测锁是否支持某特性
参数value为sdk中的特性值
boolean resukt=isSupportFeature(lockData,int value)
锁音量设置
soundVolume值范围 -2-5,-2为ON,-1关闭,其他值为音量大小
setLockSoundWithSoundVolume(int soundVolume,String lockData,callback)
锁音量查询
getLockSoundWithSoundVolume(String lockData, callback)
锁开关设置
setLockConfig(String configType,boolean switchOn, String lockData, callback)
网关使用方法
const TTLockGate = uni.requireNativePlugin("ainuo-ttlockGate")
## callback返回结构
| 参数 | 对应值 |
| ---- | ---- |
| status | 状态 |
| ...others | 其他返回参数如mac地址 |
存在错误时会返回通通锁errorCode
| 参数 | 对应值 |
| ---- | ---- |
| errorCode | 通通锁返回错误状态码 |
| errorMsg | 通通锁返回错误描述 |
## 重要
插件默认不会申请任何权限,再确认打开蓝牙启动查找设备时,确认app已获取位置权限
或者可以使用uni.getLocation来获得位置权限
uni.getLocation({ type: 'wgs84', geocode: true, success: (res) =>{
},
fail(e) {
console.log(e)
}
});
## 接口列表
本插件封装处通通锁所有接口名称与参数与官方保持一至
用于判断蓝牙是否可用
isBLEEnabled()
请求打开蓝牙
requestBleEnable()
蓝牙操作前的准备工作
prepareBTService()
启动扫描网关
调用该方法会持续查找附件设备信息
startScanGateway(()=>{})
停止扫描
stopScanGateway()
连接网关
connectGateway(String lockMac,()=>{})
断开
disconnectGateway()
初始化网关
options={ public String ssid = "ssid"; public String wifiPwd = "wifipwd"; public int uid; public String userPwd; public String gatewayName; } ` initGateway(Object options,()=>{})
扫描附近网关可用的wifi列表
scanWiFiByGateway(String mac,()=>{})
48.ip设置
ipSets={ /**
- 0 -固定ip
-
1 -DHCP 自动获取ip地址 */ int type;
/**
- 静态ip */ String ipAddress; /**
- 子网掩码 */ String subnetMask; /**
-
默认网关 */ String router;
/**
-
首选dns */ String preferredDns;
/**
- 备用dns
*/
String alternateDns;
}
configIp(Object ipSets,String lockData,callback)