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) {
|
export function starCloudCreateUser(data) {
|
||||||
@ -199,7 +199,6 @@ export function updateElecSettingRequest(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//冷水表-刷新水表数据
|
//冷水表-刷新水表数据
|
||||||
export function coldWaterRefreshWaterInfoRequest(data) {
|
export function coldWaterRefreshWaterInfoRequest(data) {
|
||||||
return request({
|
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";
|
} from "../format.js";
|
||||||
import {cmdIds, Result} from "../constant.js";
|
import {cmdIds, Result} from "../constant.js";
|
||||||
import {searchAndConnectDevice, writeBLECharacteristicValue} from "../uni/basic.js";
|
import {searchAndConnectDevice, writeBLECharacteristicValue} from "../uni/basic.js";
|
||||||
|
import {getGatewayConfig} from "../api.js";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始搜索wifi
|
* 开始搜索wifi
|
||||||
@ -72,6 +73,14 @@ export async function connectWiFi(params) {
|
|||||||
return new Result(Result.codes.NotMoreData, null, `参数信息不完整: ${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}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(config)
|
||||||
|
|
||||||
let {
|
let {
|
||||||
ssid,
|
ssid,
|
||||||
password,
|
password,
|
||||||
@ -91,7 +100,7 @@ export async function connectWiFi(params) {
|
|||||||
|
|
||||||
const uid = this.accountInfo.uid.toString()
|
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) {
|
if (result.code !== Result.Success.code) {
|
||||||
return result
|
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