diff --git a/format.js b/format.js index 557478c..b9acb1d 100644 --- a/format.js +++ b/format.js @@ -245,4 +245,18 @@ export function parseNetworkJsonFromDecrypted(decrypted) { 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; } \ No newline at end of file diff --git a/star-cloud/configureNetwork.js b/star-cloud/configureNetwork.js index c156ebc..6ccd68a 100644 --- a/star-cloud/configureNetwork.js +++ b/star-cloud/configureNetwork.js @@ -1,6 +1,6 @@ import { checkRequiredFields, - createPackageEnd, + createPackageEnd, generateRandomString, } from "../format.js"; import {cmdIds, Result} from "../constant.js"; import {searchAndConnectDevice, writeBLECharacteristicValue} from "../uni/basic.js"; @@ -67,7 +67,7 @@ export async function startSearchWiFi(params = {}) { * @returns {Promise} */ export async function connectWiFi(params) { - const cardRequiredFields = ['ssid', 'password']; + const cardRequiredFields = ['ssid', 'password', 'clientId']; const missingField = checkRequiredFields(params, cardRequiredFields); if (missingField) { return new Result(Result.codes.NotMoreData, null, `参数信息不完整: ${missingField}`); @@ -79,6 +79,7 @@ export async function connectWiFi(params) { return new Result(Result.codes.Fail, null, `获取网关配置失败: ${config.message}`); } + const clientId = params.clientId; let { ssid, password, @@ -88,10 +89,10 @@ export async function connectWiFi(params) { starcloudUrl: config.data.starcloudUrl, userPeerId: config.data.userPeerId, scdUrl: config.data.scdUrl, - starlockPeerId: "0b3bd6327daafe2da24fdd0cae76c71477f32e3ef8ab", - clientId: "sBfWAwdMqVKIMBj4dPuRextHViC266aE", - secretKey: "zNn1AluC6sTVAtA4dX", - userPeerld: "zC2HjHNy9LsjxW2QEmceiNDTN6XSXFDUZ3fYsnBigVQX" + starlockPeerId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + clientId: clientId, + secretKey: generateRandomString(18), + userPeerld: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }) } = params