import UIAbility from '@ohos.app.ability.UIAbility'; import hilog from '@ohos.hilog'; import window from '@ohos.window'; import { GlobalConfig } from '../config/global'; import Want from '@ohos.app.ability.Want'; import AbilityConstant from '@ohos.app.ability.AbilityConstant'; import { BaseInfoType, CarInfoType, EnvironmentConfigurationType, ExaminerInfoType } from '../model'; import DB from '../utils/DbSql'; import { DrivingDataStorage } from '../utils/business/DrivingDataStorage'; import { InitTable } from '../utils/table/Operation'; import FileUtils from '../utils/FileUtils'; export default class EntryAbility extends UIAbility { async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { try { await DB.init(this.context) await InitTable() let fileUtil = new FileUtils(this.context) const data = await fileUtil.readFile(GlobalConfig.commonFileWriteAddress + '/config/ipConfig.txt'); console.log("读取配置", data) if (data !== '' && data !== undefined) { console.log("配置设置") const result: EnvironmentConfigurationType = JSON.parse(data) AppStorage.setOrCreate("EnvironmentConfiguration", result) const host=`http://${result.centerIp}:${result.centerPort}` console.log("host",host) AppStorage.setOrCreate("host",host) } } catch (e) { console.error('sql first error', e) } hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); } onDestroy() { const arrClose = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00] // TODO UDP缺失 // lightUDPClient.sendMsg(new Uint8Array(arrClose).buffer) DrivingDataStorage.close() hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); } async onWindowStageCreate(windowStage: window.WindowStage) { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); const windowClass = await windowStage.getMainWindow(); let rect = windowClass.getWindowProperties().windowRect let width = rect.width let height = rect.height console.log("log", width, height) AppStorage.setOrCreate('carInfo', {}) AppStorage.setOrCreate('examinerInfo', {}) AppStorage.setOrCreate('lsh', '0000000000000') AppStorage.setOrCreate('statue', "1") //考试状态 AppStorage.setOrCreate('signNum', 0) //心跳指令编号 AppStorage.setOrCreate('deviceNo', "") //设备号 AppStorage.setOrCreate('baseInfo', { hasAuth: false, version: GlobalConfig.version.jn.km3[0] || "", judgeVersion: GlobalConfig.version.jn.km3[1] || "", tcpSendNum: 0, videoVersion: '1.0', ratio: width / height, //适配比例 pathDir: this.context.filesDir, context: this.context, isJudgeInitBool: false, }) AppStorage.setOrCreate('windowClass', windowClass) await windowClass.setWindowLayoutFullScreen(true) await windowClass.setWindowSystemBarEnable([]) //全屏 windowStage.loadContent('pages/Index', (err, data) => { if (err.code) { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); }); this.createFiles(); } onWindowStageDestroy() { // Main window is destroyed, release UI related resources hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); } onForeground() { // Ability has brought to foreground hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); } onBackground() { // Ability has back to background hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); } createFiles() { } }