Compare commits
10 Commits
2cd828e7cf
...
e351a939f6
| Author | SHA1 | Date | |
|---|---|---|---|
| e351a939f6 | |||
| f4062cf306 | |||
| f1285cb2e6 | |||
| 9f79c6c712 | |||
| d6e99b7d3e | |||
| 25dbcf006f | |||
| 9adac23116 | |||
| dabdb8acf8 | |||
| 5a773fe04d | |||
| be37ae28be |
632
api.js
632
api.js
@ -1,221 +1,220 @@
|
||||
import { request } from './export'
|
||||
import {request} from './export'
|
||||
|
||||
// 创建账号
|
||||
export function starCloudCreateUser(data) {
|
||||
return request({
|
||||
url: '/createUser',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/createUser',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取访问令牌
|
||||
export function getStarCloudToken(data) {
|
||||
return request({
|
||||
url: '/oauth2/token',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/oauth2/token',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新锁用户
|
||||
export function updateLockUserNoRequest(data) {
|
||||
return request({
|
||||
url: '/v1/key/updateLockUserNo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/key/updateLockUserNo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取所有锁用户
|
||||
export function getUserNoListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/key/getUserNoList',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/key/getUserNoList',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取手机联网token
|
||||
export function getLockNetTokenRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/getLockNetToken',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/getLockNetToken',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取服务器时间
|
||||
export function getServerDatetimeRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/queryDate',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/queryDate',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取锁详情
|
||||
export function getLockDetailRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/detail',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/detail',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取离线密码
|
||||
export function getOfflinePasswordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/get',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/get',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 添加自定义密码
|
||||
export function addCustomPasswordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新密码
|
||||
export function updatePasswordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除密码
|
||||
export function deletePasswordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 绑定智能锁
|
||||
export function bindLockRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/initialize',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/initialize',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 移除坏锁
|
||||
export function removeBadLockRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/removeBadLock',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/removeBadLock',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除锁
|
||||
export function deleteLockRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 更新锁电量
|
||||
export function updateElectricQuantityRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/updateElectricQuantity',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/updateElectricQuantity',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改管理员密码
|
||||
export function changeAdminKeyboardPwdRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/changeAdminKeyboardPwd',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/changeAdminKeyboardPwd',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取操作记录的最后上传时间
|
||||
export function getLastRecordTimeRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lockRecord/getLastRecordTime',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lockRecord/getLastRecordTime',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 上传操作记录
|
||||
export function uploadRecordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lockRecord/upload',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lockRecord/upload',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取锁应用设置
|
||||
export function getLockSettingDataRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/getLockSettingData',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/getLockSettingData',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 检查密码和密码名称是否已存在
|
||||
export function checkPasswordRequest(data) {
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/checkKeyboardpwdName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/keyboardPwd/checkKeyboardpwdName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//电表-刷新电表数据
|
||||
export function elecRefreshElecInfoRequest(data) {
|
||||
return request({
|
||||
url: '/v1/elec/refreshElecInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/elec/refreshElecInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function updateElecSettingRequest(data) {
|
||||
return request({
|
||||
url: '/v1/elec/updateElecSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/elec/updateElecSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
//冷水表-刷新水表数据
|
||||
export function coldWaterRefreshWaterInfoRequest(data) {
|
||||
return request({
|
||||
url: '/v1/coldWater/refreshWaterInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/coldWater/refreshWaterInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//热水表-刷新水表数据
|
||||
export function hotWaterRefreshWaterInfoRequest(data) {
|
||||
return request({
|
||||
url: '/v1/hotWater/refreshWaterInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/hotWater/refreshWaterInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -236,11 +235,11 @@ export function hotWaterRefreshWaterInfoRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function addIcCardRequest(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -256,11 +255,11 @@ export function addIcCardRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateIcCardRequest(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -270,11 +269,11 @@ export function updateIcCardRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function deleteIcCardRequest(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -283,11 +282,11 @@ export function deleteIcCardRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function clearAllIcCard(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -297,11 +296,11 @@ export function clearAllIcCard(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function checkRepeatCardName(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/checkIdentityCardName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/checkIdentityCardName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -313,15 +312,14 @@ export function checkRepeatCardName(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getIcCardListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/identityCard/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/identityCard/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 指纹-添加(永久/限时/单次/循环)
|
||||
*
|
||||
@ -339,11 +337,11 @@ export function getIcCardListRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function addFingerprintRequest(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -359,11 +357,11 @@ export function addFingerprintRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateFingerprintRequest(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -377,11 +375,11 @@ export function updateFingerprintRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function deleteFingerprintRequest(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -390,11 +388,11 @@ export function deleteFingerprintRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function clearAllFingerprint(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -404,11 +402,11 @@ export function clearAllFingerprint(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function checkRepeatFingerprintName(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/checkFingerprintName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/checkFingerprintName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -420,11 +418,11 @@ export function checkRepeatFingerprintName(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getFingerprintListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/fingerprint/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/fingerprint/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -445,11 +443,11 @@ export function getFingerprintListRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function addFaceRequest(data) {
|
||||
return request({
|
||||
url: '/v1/face/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -467,11 +465,11 @@ export function addFaceRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateFaceRequest(data) {
|
||||
return request({
|
||||
url: '/v1/face/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -481,11 +479,11 @@ export function updateFaceRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function deleteFaceRequest(data) {
|
||||
return request({
|
||||
url: '/v1/face/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -494,11 +492,11 @@ export function deleteFaceRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function clearAllFace(data) {
|
||||
return request({
|
||||
url: '/v1/face/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -508,11 +506,11 @@ export function clearAllFace(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function checkRepeatFaceName(data) {
|
||||
return request({
|
||||
url: '/v1/face/checkFaceName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/checkFaceName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -524,11 +522,11 @@ export function checkRepeatFaceName(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getFaceListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/face/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/face/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -549,11 +547,11 @@ export function getFaceListRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function addPalmVeinRequest(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -571,11 +569,11 @@ export function addPalmVeinRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updatePalmVeinRequest(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -585,11 +583,11 @@ export function updatePalmVeinRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function deletePalmVeinRequest(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -598,11 +596,11 @@ export function deletePalmVeinRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function clearAllPalmVein(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -612,11 +610,11 @@ export function clearAllPalmVein(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function checkRepeatPalmVeinName(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/checkPalmVeinName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/checkPalmVeinName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -628,15 +626,14 @@ export function checkRepeatPalmVeinName(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getPalmVeinListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/palmVein/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/palmVein/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 遥控-添加(永久/限时/循环)
|
||||
*
|
||||
@ -654,11 +651,11 @@ export function getPalmVeinListRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function addRemoteRequest(data) {
|
||||
return request({
|
||||
url: '/v1/remote/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/add',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -676,11 +673,11 @@ export function addRemoteRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateRemoteRequest(data) {
|
||||
return request({
|
||||
url: '/v1/remote/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -690,11 +687,11 @@ export function updateRemoteRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function deleteRemoteRequest(data) {
|
||||
return request({
|
||||
url: '/v1/remote/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/delete',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -703,11 +700,11 @@ export function deleteRemoteRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function clearAllRemote(data) {
|
||||
return request({
|
||||
url: '/v1/remote/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/clear',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -717,11 +714,11 @@ export function clearAllRemote(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function checkRepeatRemoteName(data) {
|
||||
return request({
|
||||
url: '/v1/remote/checkRemoteName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/checkRemoteName',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -733,11 +730,11 @@ export function checkRepeatRemoteName(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getRemoteListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/remote/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/remote/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -746,11 +743,11 @@ export function getRemoteListRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function remoteUnLockRequest(data) {
|
||||
return request({
|
||||
url: '/v1/gateway/unlock',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/gateway/unlock',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -760,11 +757,11 @@ export function remoteUnLockRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getLockSettingRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lockSetting/getLockSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lockSetting/getLockSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -773,11 +770,11 @@ export function getLockSettingRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateLockSettingRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lockSetting/updateLockSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lockSetting/updateLockSetting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@ -786,10 +783,57 @@ export function updateLockSettingRequest(data) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getUserLockListRequest(data) {
|
||||
return request({
|
||||
url: '/v1/lock/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/v1/lock/list',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取网关配置
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getGatewayConfig(data) {
|
||||
return request({
|
||||
url: '/v1/gateway/getGatewayConfig',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取设备配网信息
|
||||
* @param data.deviceType 设备类型:1-wifi网关 2-wifi锁
|
||||
* @param data.deviceMac 网关/锁MAC地址
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function getDeviceNetworkInfo(data) {
|
||||
return request({
|
||||
url: '/v1/deviceNetwork/getNetworkInfo',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新设备配网信息
|
||||
* @param data.deviceType 设备类型:1-wifi网关 2-wifi锁
|
||||
* @param data.deviceMac 网关/锁MAC地址
|
||||
* @param data.wifiName wifi名称
|
||||
* @param data.networkMac 网络mac地址
|
||||
* @param data.secretKey secretKey
|
||||
* @param data.peerId 设备peerId
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export function updateDeviceNetworkInfo(data) {
|
||||
return request({
|
||||
url: '/v1/deviceNetwork/setting',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
36
common.js
36
common.js
@ -3,7 +3,7 @@ import {
|
||||
arrayToTimestamp,
|
||||
convertWeekdaysToNumber,
|
||||
createPackageEnd,
|
||||
md5Encrypt, parseWifiList,
|
||||
md5Encrypt, parseNetworkJsonFromDecrypted, parseWifiList,
|
||||
removeTrailingZeros,
|
||||
timestampToArray,
|
||||
uint8ArrayToString
|
||||
@ -30,7 +30,7 @@ import {
|
||||
getLastRecordTimeRequest,
|
||||
getLockNetTokenRequest,
|
||||
getStarCloudToken,
|
||||
getUserNoListRequest,
|
||||
getUserNoListRequest, updateDeviceNetworkInfo,
|
||||
updateElectricQuantityRequest,
|
||||
updateFaceRequest,
|
||||
updateFingerprintRequest,
|
||||
@ -1020,7 +1020,7 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
cardRight: this.requestParams.isAdmin,
|
||||
lockId: this.lockInfo.lockId,
|
||||
cardNumber: decrypted[6] * 256 + decrypted[7],
|
||||
cardUserNo: this.requestParams.cardUserNo
|
||||
cardUserNo: decrypted[6] * 256 + decrypted[7]
|
||||
})
|
||||
if (addResult.code === Result.Success.code) {
|
||||
// 增加返回一个卡序号
|
||||
@ -1106,7 +1106,7 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
fingerRight: this.requestParams.isAdmin,
|
||||
lockId: this.lockInfo.lockId,
|
||||
fingerprintNumber: decrypted[6] * 256 + decrypted[7],
|
||||
fingerprintUserNo: this.requestParams.fingerprintUserNo
|
||||
fingerprintUserNo: decrypted[6] * 256 + decrypted[7]
|
||||
})
|
||||
if (addResult.code === Result.Success.code) {
|
||||
// 增加返回一个指纹序号
|
||||
@ -1191,7 +1191,7 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
fingerRight: this.requestParams.isAdmin,
|
||||
lockId: this.lockInfo.lockId,
|
||||
faceNumber: decrypted[6] * 256 + decrypted[7],
|
||||
faceUserNo: this.requestParams.faceUserNo
|
||||
faceUserNo: decrypted[6] * 256 + decrypted[7]
|
||||
})
|
||||
if (addResult.code === Result.Success.code) {
|
||||
// 增加返回一个序号
|
||||
@ -1268,7 +1268,7 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
palmVeinRight: this.requestParams.isAdmin,
|
||||
lockId: this.lockInfo.lockId,
|
||||
palmVeinNumber: decrypted[6] * 256 + decrypted[7],
|
||||
palmVeinUserNo: this.requestParams.palmVeinUserNo
|
||||
palmVeinUserNo: decrypted[6] * 256 + decrypted[7]
|
||||
})
|
||||
if (addResult.code === Result.Success.code) {
|
||||
// 增加返回一个卡序号
|
||||
@ -1343,7 +1343,7 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
remoteRight: this.requestParams.isAdmin,
|
||||
lockId: this.lockInfo.lockId,
|
||||
remoteNumber: decrypted[6] * 256 + decrypted[7],
|
||||
remoteUserNo: this.requestParams.remoteUserNo
|
||||
remoteUserNo: decrypted[6] * 256 + decrypted[7]
|
||||
})
|
||||
if (addResult.code === Result.Success.code) {
|
||||
// 增加返回一个卡序号
|
||||
@ -1494,7 +1494,27 @@ export async function parsingCharacteristicValue(binaryData) {
|
||||
break;
|
||||
case cmdIds.configureNetworkResult:
|
||||
if (decrypted[2] === Result.Success.code) {
|
||||
this.characteristicValueCallback(new Result(decrypted[2], null, "配网成功"))
|
||||
// 提取配网信息
|
||||
const {
|
||||
peerId,
|
||||
wifiName,
|
||||
secretKey,
|
||||
deviceMac,
|
||||
networkMac
|
||||
} = parseNetworkJsonFromDecrypted(decrypted);
|
||||
const {code, message} = await updateDeviceNetworkInfo({
|
||||
deviceType: 2, // 1-wifi网关 2-wifi锁
|
||||
deviceMac: deviceMac || this.lockInfo.mac,
|
||||
wifiName: wifiName || this.requestParams.wifiName,
|
||||
networkMac: networkMac || this.requestParams.wifiName,
|
||||
secretKey,
|
||||
peerId
|
||||
});
|
||||
if (code === Result.Success.code) {
|
||||
this.characteristicValueCallback(new Result(decrypted[2], null, "配网成功"))
|
||||
} else {
|
||||
this.characteristicValueCallback(code, null, message);
|
||||
}
|
||||
} else {
|
||||
this.characteristicValueCallback(new Result(decrypted[2], null, "配网失败"))
|
||||
}
|
||||
|
||||
4
env.js
4
env.js
@ -1,7 +1,7 @@
|
||||
// uni版本号
|
||||
export const uniVersion = '1.0.18'
|
||||
export const uniVersion = '1.0.23'
|
||||
// uni构建号
|
||||
export const uniBuildNumber = 19
|
||||
export const uniBuildNumber = 24
|
||||
|
||||
// web版本号
|
||||
export const webVersion = '1.0.1'
|
||||
|
||||
42
format.js
42
format.js
@ -217,4 +217,46 @@ function _bytesToString(bytes) {
|
||||
str += String.fromCharCode(bytes[i]);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 解析decrypted中的json数据,返回对象
|
||||
export function parseNetworkJsonFromDecrypted(decrypted) {
|
||||
let peerId, wifiName, secretKey, deviceMac, networkMac;
|
||||
try {
|
||||
const secretKeyJsonLength = (decrypted[4] << 8) + decrypted[3];
|
||||
const secretKeyList = decrypted.slice(5, 5 + secretKeyJsonLength);
|
||||
let result;
|
||||
if (typeof TextDecoder !== 'undefined') {
|
||||
result = new TextDecoder('utf-8').decode(secretKeyList);
|
||||
} else {
|
||||
// 兼容性处理
|
||||
result = uint8ArrayToString(secretKeyList);
|
||||
}
|
||||
const jsonMap = JSON.parse(result);
|
||||
peerId = jsonMap.peerId;
|
||||
wifiName = jsonMap.wifiName;
|
||||
secretKey = jsonMap.secretKey;
|
||||
deviceMac = jsonMap.deviceMac;
|
||||
networkMac = jsonMap.networkMac;
|
||||
console.log('解析配网信息:', jsonMap);
|
||||
} catch (e) {
|
||||
console.error('解析配网信息失败:', e);
|
||||
}
|
||||
return { peerId, wifiName, secretKey, deviceMac, networkMac };
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成随机长度字符串
|
||||
* @param length
|
||||
* @returns {string}
|
||||
*/
|
||||
export function generateRandomString(length) {
|
||||
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||||
let result = '';
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += chars[Math.floor(Math.random() * chars.length)];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "star-cloud-uni",
|
||||
"version": "1.0.18",
|
||||
"version": "1.0.23",
|
||||
"type": "module",
|
||||
"main": "./uni/index.js",
|
||||
"author": "zzc059",
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
import {
|
||||
checkRequiredFields,
|
||||
createPackageEnd,
|
||||
createPackageEnd, generateRandomString,
|
||||
} from "../format.js";
|
||||
import {cmdIds, Result} from "../constant.js";
|
||||
import {searchAndConnectDevice, writeBLECharacteristicValue} from "../uni/basic.js";
|
||||
import {getDeviceNetworkInfo, getGatewayConfig} from "../api.js";
|
||||
|
||||
/**
|
||||
* 开始搜索wifi
|
||||
@ -66,32 +67,39 @@ export async function startSearchWiFi(params = {}) {
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
export async function connectWiFi(params) {
|
||||
const cardRequiredFields = ['ssid', 'password'];
|
||||
const cardRequiredFields = ['ssid', 'password', 'clientId', 'starLockPeerId'];
|
||||
const missingField = checkRequiredFields(params, cardRequiredFields);
|
||||
if (missingField) {
|
||||
return new Result(Result.codes.NotMoreData, null, `参数信息不完整: ${missingField}`);
|
||||
}
|
||||
|
||||
// 获取网关配置
|
||||
const config = await getGatewayConfig();
|
||||
if (config.code !== Result.Success.code) {
|
||||
return new Result(Result.codes.Fail, null, `获取网关配置失败: ${config.message}`);
|
||||
}
|
||||
|
||||
const clientId = params.clientId;
|
||||
const starLockPeerId = params.starLockPeerId;
|
||||
let {
|
||||
ssid,
|
||||
password,
|
||||
configureJson = JSON.stringify({
|
||||
starcloudRpcPeerId: "6HnEcGnXMUcLQoE7rnC4aXMVJmojMnKAjqKHrt4TmN1U",
|
||||
starcloudReportPeerId: "G3ehYz8djE35CTE2LWn5xe2nD51UpjC4hWd3vqVmXViE",
|
||||
starcloudUrl: "http://cloud.skychip.top",
|
||||
userPeerId: "C2HjHNy9LsjxW2QEmceiNDTN6XSXFDUZ3fYsnBigVQXA",
|
||||
scdUrl: "http://scd.skychip.top:8710",
|
||||
starlockPeerId: "0b3bd6327daafe2da24fdd0cae76c71477f32e3ef8ab",
|
||||
clientId: "sBfWAwdMqVKIMBj4dPuRextHViC266aE",
|
||||
secretKey: "zNn1AluC6sTVAtA4dX",
|
||||
userPeerld: "zC2HjHNy9LsjxW2QEmceiNDTN6XSXFDUZ3fYsnBigVQX"
|
||||
starcloudRpcPeerId: config.data.starcloudRpcPeerId,
|
||||
starcloudReportPeerId: config.data.starcloudReportPeerId,
|
||||
starcloudUrl: config.data.starcloudUrl,
|
||||
userPeerId: config.data.userPeerId,
|
||||
scdUrl: config.data.scdUrl,
|
||||
starlockPeerId: starLockPeerId,
|
||||
clientId: clientId,
|
||||
secretKey: generateRandomString(18),
|
||||
})
|
||||
} = params
|
||||
|
||||
|
||||
const uid = this.accountInfo.uid.toString()
|
||||
// 设置执行账号
|
||||
const result = await this.login(params.uid)
|
||||
const result = await this.login(uid)
|
||||
if (result.code !== Result.Success.code) {
|
||||
return result
|
||||
}
|
||||
@ -168,4 +176,30 @@ export async function connectWiFi(params) {
|
||||
return writeResult
|
||||
}
|
||||
return this.getWriteResult(this.connectWiFi, params)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取锁配网信息
|
||||
* @param params
|
||||
* @param {Number} params.uid uid
|
||||
* @param {Number} params.deviceMac 锁mac地址
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function getLockNetworkInfo(params) {
|
||||
const cardRequiredFields = ['uid', 'deviceMac'];
|
||||
const missingField = checkRequiredFields(params, cardRequiredFields);
|
||||
if (missingField) {
|
||||
return new Result(Result.codes.NotMoreData, null, `参数信息不完整: ${missingField}`);
|
||||
}
|
||||
// 设置执行账号
|
||||
const result = await this.login(params.uid)
|
||||
if (result.code !== Result.Success.code) {
|
||||
return result
|
||||
}
|
||||
|
||||
return await getDeviceNetworkInfo({
|
||||
deviceType: 2,
|
||||
deviceMac: params.deviceMac,
|
||||
})
|
||||
}
|
||||
@ -66,6 +66,9 @@ export async function selectLock(params) {
|
||||
*/
|
||||
export async function openDoor(params) {
|
||||
const {type} = params
|
||||
// ⏱️ 记录开始时间
|
||||
const startTime = Date.now();
|
||||
|
||||
log.info({
|
||||
...new Result(
|
||||
Result.Success.code,
|
||||
@ -102,7 +105,8 @@ export async function openDoor(params) {
|
||||
|
||||
// 确认设备连接正常
|
||||
if (!params.connected) {
|
||||
const searchResult = await searchAndConnectDevice(this.lockInfo.bluetooth.bluetoothDeviceName)
|
||||
const searchResult = await searchAndConnectDevice(this.lockInfo.bluetooth.bluetoothDeviceName, true, this.lockInfo.bluetooth.bluetoothDeviceId)
|
||||
|
||||
log.info({
|
||||
...new Result(
|
||||
searchResult.code,
|
||||
@ -266,8 +270,16 @@ export async function openDoor(params) {
|
||||
),
|
||||
name: 'openDoor'
|
||||
})
|
||||
// 获取最终结果
|
||||
const finalResult = this.getWriteResult(this.openDoor, params);
|
||||
|
||||
return this.getWriteResult(this.openDoor, params)
|
||||
// ⏱️ 计算耗时
|
||||
const endTime = Date.now();
|
||||
const duration = endTime - startTime;
|
||||
|
||||
console.log(`开门耗时:${duration}`)
|
||||
|
||||
return finalResult;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -373,10 +385,16 @@ export async function getLockSupportFeatures(params) {
|
||||
/**
|
||||
* 远程开锁
|
||||
* @param params
|
||||
* @param {Number} params.uid uid
|
||||
* @param {Number} params.lockId 锁 Id
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function remoteUnLock(params) {
|
||||
const cardRequiredFields = ['uid', 'lockId'];
|
||||
const missingField = checkRequiredFields(params, cardRequiredFields);
|
||||
if (missingField) {
|
||||
return new Result(Result.codes.NotMoreData, null, `参数信息不完整: ${missingField}`);
|
||||
}
|
||||
// 设置执行账号
|
||||
const result = await this.login(params.uid)
|
||||
if (result.code !== Result.Success.code) {
|
||||
@ -403,55 +421,5 @@ export async function getLockList(params) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 搜索wifi列表
|
||||
* @param params
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function searchWifiList(params) {
|
||||
// 需要校验的参数
|
||||
const baseRequiredFields = [
|
||||
'uid',
|
||||
];
|
||||
const missingField = checkRequiredFields(params, baseRequiredFields);
|
||||
if (missingField) {
|
||||
return new Result(Result.NotMoreData, null, `参数信息不完整: ${missingField}`);
|
||||
}
|
||||
|
||||
// 确认设备连接正常
|
||||
if (!params.connected) {
|
||||
const searchResult = await searchAndConnectDevice(this.lockInfo.bluetooth.bluetoothDeviceName)
|
||||
if (searchResult.code !== Result.Success.code) {
|
||||
return searchResult
|
||||
}
|
||||
this.updateLockInfo(searchResult.data)
|
||||
}
|
||||
|
||||
const {uid} = params
|
||||
const length = 2 + 20
|
||||
const headArray = this.createPackageHeader(3, length)
|
||||
|
||||
const contentArray = new Uint8Array(length)
|
||||
contentArray[0] = cmdIds.getWifiList / 256
|
||||
contentArray[1] = cmdIds.getWifiList % 256
|
||||
for (let i = 0; i < uid.length; i++) {
|
||||
contentArray[i + 2] = uid.charCodeAt(i)
|
||||
}
|
||||
console.log('加密前:', Array.from(contentArray))
|
||||
|
||||
const cebArray = sm4.encrypt(contentArray, this.lockInfo.bluetooth.privateKey, {
|
||||
mode: 'ecb',
|
||||
output: 'array'
|
||||
})
|
||||
|
||||
const packageArray = createPackageEnd(headArray, cebArray)
|
||||
|
||||
await writeBLECharacteristicValue(this.lockInfo.deviceId,
|
||||
this.lockInfo.serviceId,
|
||||
this.lockInfo.writeCharacteristicId,
|
||||
packageArray)
|
||||
|
||||
return this.getWriteResult(this.searchWifiList, params)
|
||||
}
|
||||
|
||||
|
||||
|
||||
33
uni/basic.js
33
uni/basic.js
@ -8,13 +8,18 @@ import {Result} from '../constant'
|
||||
*/
|
||||
|
||||
// 查找设备并连接
|
||||
export function searchAndConnectDevice(name, reset = true) {
|
||||
export function searchAndConnectDevice(name, reset = true, deviceId = null) {
|
||||
// 循环查找设备
|
||||
let timer
|
||||
// 超时计时器
|
||||
let timeoutTimer
|
||||
|
||||
return new Promise(async resolve => {
|
||||
// 如果提供了deviceId,则直接连接
|
||||
if (deviceId) {
|
||||
const connectResult = await createBLEConnection(deviceId)
|
||||
resolve(connectResult)
|
||||
}
|
||||
const result = await startBluetoothDevicesDiscovery()
|
||||
if (result.code === Result.Success.code) {
|
||||
let searchFlag = false
|
||||
@ -189,28 +194,16 @@ export function createBLEConnection(deviceId, reconnectNumber = 0) {
|
||||
res.data.serviceId,
|
||||
res.data.notifyCharacteristicId
|
||||
)
|
||||
// 使用同步方法获取系统信息
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
|
||||
if (systemInfo.platform === 'android') {
|
||||
// 如果是Android机型,则设置BLE MTU
|
||||
uni.setBLEMTU({
|
||||
deviceId: deviceId,
|
||||
mtu: 512,
|
||||
fail: res => {
|
||||
// console.log('mtu fail', res);
|
||||
},
|
||||
success: res => {
|
||||
// console.log('mtu success', res);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// 对于非Android设备,可以在这里添加其他逻辑或者直接忽略
|
||||
// console.log('当前设备不是Android,跳过设置BLE MTU');
|
||||
}
|
||||
resolve(res)
|
||||
},
|
||||
async fail(err) {
|
||||
if (err.errno === 1500101) {
|
||||
// 未初始化,初始化成功后在重连
|
||||
const result = await openBluetoothAdapter()
|
||||
if (result.code === Result.Success.code) {
|
||||
resolve(await createBLEConnection(deviceId, reconnectNumber + 1))
|
||||
}
|
||||
}
|
||||
if (err.errno === 1509007) {
|
||||
const res = await getBLEDeviceServicesAndCharacteristics(deviceId)
|
||||
await notifyBLECharacteristicValueChange(
|
||||
|
||||
11
uni/index.js
11
uni/index.js
@ -433,4 +433,15 @@ export const startSearchWiFi = async params => {
|
||||
*/
|
||||
export const connectWiFi = async params => {
|
||||
return await starCloudInstance.connectWiFi(params)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取设备配网信息
|
||||
* @param params.uid uid
|
||||
* @param params.deviceMac 锁mac地址
|
||||
* @returns {Promise<*>}
|
||||
*/
|
||||
export const getLockNetworkInfo = async params => {
|
||||
return await starCloudInstance.getLockNetworkInfo(params)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user