Appearance
微信小程序插件
本插件是将星寓互联蓝牙锁特有的功能通过js进行封装。方便其他小程序快速集成。
注: 1、插件不能独立运行,请嵌入相应小程序中使用; 2、小程序开通访问蓝牙、收集你的位置信息隐私; 3、服务器域名添加 https://openapi.xyiot.link; 4、特殊版本介绍:1.0.3是测试版本 5、STOP_DISCOVER可用于销毁插件蓝牙连接,可解决安卓短时间内无法二次连接问题。
小程序引入方式
线上环境 "plugins": { "contactPlugin": { "version": "1.0.8", //线上版本 "provider": "wx243e37340c7208af" } }
测试环境 "plugins": { "contactPlugin": { "version": "dev-47ca42f11adc9a07bc98307b4ec7fe34", // dev- + 开发版插件引用ID "provider": "wx243e37340c7208af" } }
"plugins": { "contactPlugin": { "version": "1.0.3", // 特殊测试版本 "provider": "wx243e37340c7208af" } }
xOpenClientId获取 来自星寓互联小程序,我的,个人信息clientlD字段
deviceId格式 蓝牙地址,格式为:50:54:7b:86:c4:a8
一、功能列表
| 功能模块 | 功能说明 | 实现版本 |
|---|---|---|
| 发现周围设备 | 发现周围星寓门锁 | 1.0.0 |
| 初始化设备信息 | 初始化设备信息 | 1.0.0 |
| WIFI配网 | WIFI配网 | 1.0.0 |
| 数据同步 | 数据同步 | 1.0.0 |
| 设置管理员密码 | 设置管理员密码 | 1.0.2 |
| 蓝牙开门 | 蓝牙开门 | 1.0.0 |
| 密码同步 | 密码同步 | 1.0.0 |
| 添加门卡 | 添加门卡 | 1.0.0 |
| 门卡信息更新 | 门卡信息更新 | 1.0.0 |
| 添加指纹 | 添加指纹 | 1.0.0 |
| 指纹信息更新 | 指纹信息更新 | 1.0.0 |
| 解绑 | 解绑 | 1.0.1 |
二、锁控制
1.功能点
对锁进行相关行为控制,包含如下控制动作:
功能 枚举值 发现周围设备 DISCOVER 停止发现周围设备 STOP_DISCOVER 初始化设备信息 INITIALIZE WIFI配网 WIFI_CONFIG 数据同步 DATA_SYNC 设置管理员密码 SET_ADMIN_PWD 蓝牙开门 UNLOCK 密码同步 PWD_SYNC 添加门卡 ADD_CARD 门卡信息更新 MODIFY_CARD 添加指纹 ADD_FP 指纹信息更新 MODIFY_FP 解绑 LOCK_UNBIND
插件导出相关枚举如下:
javascript
export const LOCK_ACTION ={
DISCOVER: 'DISCOVER', // 发现门锁
STOP_DISCOVER: 'STOP_DISCOVER', // 停止发现门锁
INITIALIZE: 'INITIALIZE', // 设备初始化
WIFI_CONFIG: 'WIFI_CONFIG', // WIFI配网
SET_ADMIN_PWD: 'SET_ADMIN_PWD', // 设置管理员密码
DATA_SYNC: 'DATA_SYNC', // 数据同步
UNLOCK: 'UNLOCK', // 开锁
PWD_SYNC: 'PWD_SYNC', // 密码同步
ADD_CARD: 'ADD_CARD', // 添加门卡
MODIFY_CARD: 'MODIFY_CARD', // 修改门卡
ADD_FP: 'ADD_FP', // 添加指纹
MODIFY_FP: 'MODIFY_FP', // 修改指纹
LOCK_UNBIND: 'LOCK_UNBIND', // 解绑
}2.控制方法
javascript
Plugin.controlLock(Plugin.LOCK_ACTION.UNLOCK, 锁基本信息,控制动作相关参数)3.基本信息说明
typescript
{
id: String, // 锁ID
sn: String, // 设备名称 用于发现附近设备后进行匹配
deviceId: String, // 设备ID 设备mac信息
immediate: Boolean, // 是否立即连接
xOpenClientId: String, // 账号授权clientId
}4.控制动作相关参数说明
typescript
{
extraParam: Object, // 控制动作额外参数,例如配网时的ssid、password
success: Function, // 成功回调
error: Function, // 失败回调
}三、锁控制接口
1、发现周围设备
功能描述
发现附近星寓蓝牙锁
注:使用完成后应及时配合调用停止发现周围设备方法,减少额外开销
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
success回调(res)
| 属性 | 类型 | 说明 |
|---|---|---|
| isBound | Number | 是否已绑定,1:已绑定、0:未绑定 |
| localName | String | 设备名称 |
返回码
| Code | 说明 |
|---|---|
| -1 | 设备非星寓锁 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.DISCOVER, {xOpenClientId: ''}, {
success: (res) => {
console.log(res, 'FIND SUCCESS')
},
error: (err) => {
console.log(err, 'FIND ERROR')
}
})2、初始化设备信息
功能描述
初始化星寓蓝牙锁
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.INITIALIZE, {xOpenClientId: '', sn: ''}, {
success: (res) => {
console.log(res, 'INITIALIZE SUCCESS')
},
error: (err) => {
console.log(err, 'INITIALIZE ERROR')
}
})3、WIFI配网
功能描述
对星寓WIFI锁进行配网
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| extraParam | Object | - | 是 | 额外参数信息 |
javascript
{
ssid : '', // Wi-Fi名称
password : '', // Wi-Fi密码
}| success | Function | - | 否 | 操作成功回调 |
|---|---|---|---|---|
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.WIFI_CONFIG, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
extraParam: {
ssid : '',
password : '',
},
success: (res) => {
console.log(res, 'WIFI_CONFIG SUCCESS')
},
error: (err) => {
console.log(err, 'WIFI_CONFIG ERROR')
}
})4、数据同步
功能描述
对星寓WIFI锁进行数据同步操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.DATA_SYNC, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'DATA_SYNC SUCCESS')
},
error: (err) => {
console.log(err, 'DATA_SYNC ERROR')
}
})5、设置管理员密码
功能描述
对星寓锁进行设置密码(非实时锁直接更新,若实时锁未设置成功,可以通过数据同步)
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
| adminPwd | String | - | 是 | 必须是6位数字 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.SET_ADMIN_PWD, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'SET_ADMIN_PWD SUCCESS')
},
error: (err) => {
console.log(err, 'SET_ADMIN_PWD ERROR')
}
})6、蓝牙开门
功能描述
对星寓蓝牙锁进行开门操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.UNLOCK, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'UNLOCK SUCCESS')
},
error: (err) => {
console.log(err, 'UNLOCK ERROR')
}
})7、密码同步
功能描述
对星寓蓝牙锁进行密码同步操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.PWD_SYNC, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'PWD_SYNC SUCCESS')
},
error: (err) => {
console.log(err, 'PWD_SYNC ERROR')
}
})8、添加门卡
功能描述
对星寓锁进行添加门卡操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| extraParam | Object | - | 是 | 额外参数信息 |
javascript
{
lockId : '', // 锁ID 必填
usageLimit : '', // 门卡类型 必填 1:周期 2:永久
ownerName: '', // 卡拥有者姓名 非必填
ownerPhone: '', // 卡拥有者电话 必填
startTime: '', // 授权开始时间 必填
endTime: '', // 授权结束时间 门卡类型为周期时,必填
}| success | Function | - | 否 | 操作成功回调 |
|---|---|---|---|---|
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.ADD_CARD, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
extraParam: {
"lockId": "",
"usageLimit": "1",
"endTime": 1697012640000,
"ownerName": "",
"ownerPhone": "",
"startTime": 1697009040000
},
success: (res) => {
console.log(res, 'ADD_CARD SUCCESS')
},
error: (err) => {
console.log(err, 'ADD_CARD ERROR')
}
})9、门卡信息更新
功能描述
对星寓蓝牙锁进行门卡信息更新操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.MODIFY_CARD, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'MODIFY_CARD SUCCESS')
},
error: (err) => {
console.log(err, 'MODIFY_CARD ERROR')
}
})10、添加指纹
功能描述
对星寓锁进行添加指纹操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| extraParam | Object | - | 是 | 额外参数信息 |
javascript
{
lockId : '', // 锁ID 必填
usageLimit : '', // 指纹类型 必填 1:周期 2:永久
ownerName: '', // 指纹拥有者姓名 非必填
ownerPhone: '', // 指纹拥有者电话 必填
startTime: '', // 授权开始时间 必填
endTime: '', // 授权结束时间 指纹类型为周期时,必填
}| success | Function | - | 否 | 操作成功回调 |
|---|---|---|---|---|
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.ADD_FP, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
extraParam: {
"lockId": "",
"usageLimit": "1",
"endTime": 1697012640000,
"ownerName": "",
"ownerPhone": "",
"startTime": 1697009040000
},
success: (res) => {
console.log(res, 'ADD_FP SUCCESS')
},
error: (err) => {
console.log(err, 'ADD_FP ERROR')
}
})11、指纹信息更新
功能描述
对星寓蓝牙锁进行指纹信息更新操作
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.MODIFY_FP, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'MODIFY_FP SUCCESS')
},
error: (err) => {
console.log(err, 'MODIFY_FP ERROR')
}
})12、解绑
功能描述
门锁解绑
参数
锁基本信息
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| xOpenClientId | String | - | 是 | 账户授权ID |
| id | String | - | 是 | 锁ID |
| deviceId | String | - | 是 | 设备ID 设备mac信息 |
| sn | String | - | 是 | 设备名称。例:XYL_12345678或12345678 |
动作参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| success | Function | - | 否 | 操作成功回调 |
| error | Function | - | 否 | 操作失败回调 |
示例代码
javascript
customPlugin.controlLock(customPlugin.LOCK_ACTION.LOCK_UNBIND, {xOpenClientId: '', id: '', deviceId: '', sn: ''}, {
success: (res) => {
console.log(res, 'unBindLock SUCCESS')
},
error: (err) => {
console.log(err, 'unBindLock ERROR')
}
})