feat:增加配网后将配网信息上报服务器的步骤

This commit is contained in:
liyi 2025-07-01 10:28:43 +08:00
parent 2cd828e7cf
commit be37ae28be
3 changed files with 348 additions and 345 deletions

632
api.js
View File

@ -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
})
}

View File

@ -4,6 +4,7 @@ import {
} from "../format.js";
import {cmdIds, Result} from "../constant.js";
import {searchAndConnectDevice, writeBLECharacteristicValue} from "../uni/basic.js";
import {getGatewayConfig} from "../api.js";
/**
* 开始搜索wifi
@ -72,6 +73,14 @@ export async function connectWiFi(params) {
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}`);
}
console.log(config)
let {
ssid,
password,
@ -91,7 +100,7 @@ export async function connectWiFi(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
}

View File

@ -403,55 +403,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)
}