diff --git a/api.js b/api.js index f2a5ad2..58a9882 100644 --- a/api.js +++ b/api.js @@ -170,3 +170,12 @@ export function getLockSettingDataRequest(data) { data }) } + +// 检查密码和密码名称是否已存在 +export function checkPasswordRequest(data) { + return request({ + url: '/v1/keyboardPwd/checkKeyboardpwdName', + method: 'POST', + data + }) +} diff --git a/starCloud.js b/starCloud.js index 44202ce..358fea7 100644 --- a/starCloud.js +++ b/starCloud.js @@ -5,6 +5,7 @@ import { addCustomPasswordRequest, bindLockRequest, changeAdminKeyboardPwdRequest, + checkPasswordRequest, deleteLockRequest, deletePasswordRequest, getLastRecordTimeRequest, @@ -551,6 +552,23 @@ export const useStarCloudStore = defineStore('starCloud', { if (result.code !== Result.Success.code) { return result } + + requestParams = password + let { pwdNo, operate, keyboardPwd, startDate, endDate, pwdRight } = password + + if (operate === 0 || operate === 1) { + const checkPasswordResult = await this.checkPasswordRequest({ + lockId: this.lockInfo.lockId, + keyboardPwd + }) + if (checkPasswordResult.code === -3) { + return Result.ReadyHasPassword + } + if (checkPasswordResult.code !== Result.Success.code) { + return result + } + } + // 确认设备连接正常 if (!params.connected) { const searchResult = await searchAndConnectDevice( @@ -568,9 +586,6 @@ export const useStarCloudStore = defineStore('starCloud', { return checkResult } - requestParams = password - let { pwdNo, operate, keyboardPwd, startDate, endDate, pwdRight } = password - const uid = this.accountInfo.uid.toString() const keyId = this.lockInfo.keyId.toString() const isAdmin = pwdRight @@ -2079,6 +2094,10 @@ export const useStarCloudStore = defineStore('starCloud', { // 断开与设备的连接 async disconnectDevice() { return await closeBLEConnection(this.lockInfo.deviceId) + }, + // 检查密码名称与密码是否已存在 + async checkPasswordRequest(params) { + return await checkPasswordRequest(params) } } })