feat:增加配网后将配网信息上报服务器的步骤
This commit is contained in:
parent
2cd828e7cf
commit
be37ae28be
52
api.js
52
api.js
@ -1,4 +1,4 @@
|
||||
import { request } from './export'
|
||||
import {request} from './export'
|
||||
|
||||
// 创建账号
|
||||
export function starCloudCreateUser(data) {
|
||||
@ -199,7 +199,6 @@ export function updateElecSettingRequest(data) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
//冷水表-刷新水表数据
|
||||
export function coldWaterRefreshWaterInfoRequest(data) {
|
||||
return request({
|
||||
@ -321,7 +320,6 @@ export function getIcCardListRequest(data) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 指纹-添加(永久/限时/单次/循环)
|
||||
*
|
||||
@ -636,7 +634,6 @@ export function getPalmVeinListRequest(data) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 遥控-添加(永久/限时/循环)
|
||||
*
|
||||
@ -793,3 +790,50 @@ export function getUserLockListRequest(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
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user