AI_UIAutomation/config/wifi.config.ts

34 lines
1.4 KiB
TypeScript

/**
* WiFi 配网凭据 —— 用于 Hub Mini 等需要连 WiFi 的设备添加流程。
*
* 分平台配置(Android / iOS 可用不同 WiFi)。取值优先级:
* 平台专用 env(WIFI_SSID_ANDROID / WIFI_SSID_IOS) > 通用 env(WIFI_SSID) > 默认(woanmarket/woankeji)
* 密码同理(WIFI_PASSWORD_ANDROID / WIFI_PASSWORD_IOS > WIFI_PASSWORD > woankeji)。
*
* 示例(.env 或 shell):
* WIFI_SSID_ANDROID=woanmarket WIFI_PASSWORD_ANDROID=woankeji
* WIFI_SSID_IOS=woanmarket_5g WIFI_PASSWORD_IOS=xxxx
* 当前两端默认相同(woanmarket/woankeji);后续要分开只需在 .env 设平台专用变量。
*/
export interface WifiCredentials {
ssid: string;
password: string;
}
const DEFAULT_SSID = 'woanmarket';
const DEFAULT_PASSWORD = 'woankeji';
function pick(platformVar: string, genericVar: string, def: string): string {
return process.env[platformVar] || process.env[genericVar] || def;
}
/** 取当前(或指定)平台的 WiFi 凭据。platform 缺省读 PLATFORM env(android/ios)。 */
export function getWifiCredentials(platform?: 'android' | 'ios'): WifiCredentials {
const isIos = (platform || process.env.PLATFORM || 'android').toLowerCase() === 'ios';
const suffix = isIos ? 'IOS' : 'ANDROID';
return {
ssid: pick(`WIFI_SSID_${suffix}`, 'WIFI_SSID', DEFAULT_SSID),
password: pick(`WIFI_PASSWORD_${suffix}`, 'WIFI_PASSWORD', DEFAULT_PASSWORD),
};
}