更新时间:2024-03-14 07:01:23下载pdf
本文介绍如何管理密码。
接口说明
ILockDevice # void getPasswordList(PasswordListParams params, IThingResultCallback<PasswordListResp> callback);
参数说明
参数 | 说明 |
---|---|
params | 获取密码列表参数 Bean |
params.groupId | 当前设备所在站点的 ID |
params.deviceId | 设备 ID |
params.periodType | 检索条件,默认传空 |
pageNo | 当前请求的页数 |
pageSize | 每页请求的数量 |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).getPasswordList(params, new IThingResultCallback<PasswordListResp>() {
@Override
public void onSuccess(PasswordListResp result) {
// Got password list successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
// Failed to get password list
}
});
接口说明
ILockDevice # void getPasswordDetail(long siteId, String passwordId, IThingResultCallback<PasswordBean> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
passwordId | 密码 ID |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).getPasswordDetail(siteId, passwordId, new IThingResultCallback<PasswordBean>() {
@Override
public void onSuccess(PasswordBean result) {
//Got password details successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to get password details
}
});
接口说明
ILockDevice # void createOncePassword(OncePasswordCreateParams params, IThingResultCallback<PasswordResp> callback);
参数说明
参数 | 说明 |
---|---|
params | 创建单次离线密码参数 Bean |
params.groupId | 当前设备所在站点的 ID |
params.deviceId | 门锁设备 ID |
params.passwordName | 密码用户名 |
callback | 结果回调 |
示例代码
OncePasswordCreateParams oncePasswordCreateParams = new OncePasswordCreateParams();
oncePasswordCreateParams.passwordName = "once password name";
oncePasswordCreateParams.groupId = siteId;
oncePasswordCreateParams.deviceId = deviceId;
ThingOSLock.newLockInstance(deviceId).createOncePassword(oncePasswordCreateParams, new IThingResultCallback<PasswordResp>() {
@Override
public void onSuccess(PasswordResp result) {
//Created one-time offline password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to create one-time offline password
}
});
接口说明
ILockDevice # void createPermanentPassword(long siteId, String name, IThingResultCallback<PasswordResp> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
name | 密码用户名 |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).createPermanentPassword(siteId, "permanent password", new IThingResultCallback<PasswordResp>() {
@Override
public void onSuccess(PasswordResp result) {
//Create permanent password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to create permanent password
}
});
创建永久在线密码时,必须确保设备处于在线状态。
接口说明
ILockDevice # void createOfflinePassword(OfflinePasswordCreateParams params, IThingResultCallback<PasswordResp> callback);
参数说明
参数 | 说明 |
---|---|
params | 创建限时离线密码参数 Bean |
params.groupId | 门锁设备所在站点的 ID |
params.deviceId | 门锁设备 ID |
params.passwordName | 密码用户名 |
passwordType | 密码类型,固定传入 PasswordType.TIME_LIMIT_OFFLINE |
params.effectiveTime | 密码生效开始时间戳,单位为毫秒 |
params.invalidTime | 密码失效时间戳,单位为毫秒 |
params.timeZoneId | 时区,可不传(SDK 内部会进行赋值) |
callback | 结果回调 |
示例代码
OfflinePasswordCreateParams params = new OfflinePasswordCreateParams();
params.groupId = siteId;
params.deviceId = deviceId;
params.passwordName = "Password Name";
params.effectiveTime = effectiveTime;
params.invalidTime = invalidTime;
params.passwordType = PasswordType.TIME_LIMIT_OFFLINE;
params.timeZoneId = ThingOSUser.getUserInstance().getUser().getTimezoneId();
ThingOSLock.newLockInstance(deviceId).createOfflinePassword(params, new IThingResultCallback<PasswordResp>() {
@Override
public void onSuccess(PasswordResp result) {
//Created time-limited offline passwordd successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to create time-limited offline password
}
});
接口说明
ILockDevice # void createLimitOnlinePassword(long siteId, String name, long effectiveTime, long invalidTime,
String workingDay, String startMinuteFormat, String endMinuteFormat, IThingResultCallback<PasswordResp> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
name | 密码名称 |
params.effectiveTime | 密码生效开始时间戳,单位为毫秒 |
params.invalidTime | 密码失效时间戳,单位为毫秒 |
params.workingDay | 循环周期,是一个长度为 7 的只包含 0 和 1 的字符串。0 表示当天不参与循环,1 表示当天参与循环。字符串中从 1 位到 7 位分别对应从周日到周六 |
params.startMinuteFormat | 电子钥匙生效时间段,是一个格式为 hh:mm 的字符串,例如 03:30,表示从 3 点 30 分开始生效 |
params.endMinuteFormat | 电子钥匙失效时间段,是一个格式为 hh:mm 的字符串,例如 18:30,表示到 18 点 30 分后失效 |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).createLimitOnlinePassword(siteId, "Password Name",
effectiveTime, invalidTime, getWorkingDay(),
"03:30",
"19:50", new IThingResultCallback<PasswordResp>() {
@Override
public void onSuccess(PasswordResp result) {
//Create time-limited online password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to create time-limited online password
}
});
接口说明
ILockDevice # void removeOnceOfflinePassword(long siteId, String passwordId, IThingResultCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
passwordId | 密码 ID |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).removeOnceOfflinePassword(siteId, passwordId, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Removed one-time offline password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to remove one-time offline password
}
});
接口说明
ILockDevice # void removeOnlinePassword(long siteId, String passwordId, String lockId, IThingResultCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
passwordId | 密码 ID |
lockId | 写入到门锁设备的虚拟 ID,从密码详情中获取 |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).removeOnlinePassword(siteId, passwordId, passwordBean.lockId, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Removed permanent online password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to remove permanent online password
}
});
接口说明
ILockDevice # void removeLimitOfflinePassword(long siteId, String passwordId, IThingResultCallback<String> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的站点 ID |
passwordId | 密码 ID |
callback | 结果回调。注意返回一个 String 类型的值,该返回值为清空码,用户需要在门锁设备上手动输入清空码才可将之前创建的限时离线密码清除,否则该限时离线密码将继续可用 |
示例代码
ThingOSLock.newLockInstance(deviceId).removeLimitOfflinePassword(siteId, passwordId, new IThingResultCallback<String>() {
@Override
public void onSuccess(String result) {
//Removed time-limited offline password successfully
//A clearing code is returned. Enter the clearing code in lock device
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to remove time-limited offline password
}
});
接口说明
ILockDevice # void removeOnlinePassword(long siteId, String passwordId, String lockId, IThingResultCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
siteId | 门锁设备所在站点的 ID |
passwordId | 密码 ID |
lockId | 写入到门锁设备的虚拟 ID,从密码详情中获取 |
callback | 结果回调 |
示例代码
ThingOSLock.newLockInstance(deviceId).removeOnlinePassword(siteId, passwordId, passwordBean.lockId, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Removed time-limited online password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to remove time-limited online password
}
});
接口说明
ILockDevice # void modifyPassword(PasswordUpdateParams params, IThingResultCallback<Boolean> callback);
参数说明
参数 | 说明 |
---|---|
params | 修改密码参数 Bean |
params.passwordId | 密码 ID |
params.passwordName | 密码名称 |
params.deviceId | 门锁设备 ID |
params.groupId | 站点 ID |
callback | 结果回调 |
示例代码
PasswordUpdateParams params = new PasswordUpdateParams();
params.deviceId = deviceId;
params.groupId = siteId;
params.passwordId = passwordId;
params.passwordName = "new name";
ThingOSLock.newLockInstance(deviceId).modifyPassword(params, new IThingResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Modified password successfully
}
@Override
public void onError(String errorCode, String errorMessage) {
//Failed to modify password
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈