613 lines
21 KiB
Plaintext
Raw Normal View History

2024-01-05 11:11:15 +08:00
import common from '@ohos.app.ability.common';
2024-07-02 11:39:46 +08:00
import router from '@ohos.router';
import { getCarInfo, getDeviceInfo } from '../common/service/terminalService';
import { setCurrentTime } from '../common/service/timeService';
2025-01-03 10:25:31 +08:00
import { getCurrentTime, string2Bytes } from '../common/utils/tools';
2024-05-09 13:42:56 +08:00
import { FileHelper } from '../common/service/FileHelper';
2024-07-02 11:39:46 +08:00
import { getEsCarModel, } from '../common/service/initable';
import FileUtil from '../common/utils/File';
import { getUDP, getUDP2 } from '../common/utils/GlobalUdp';
import { initJudgeUdp } from '../common/utils/UdpJudge';
2024-08-26 19:27:23 +08:00
import { judgeConfig } from './judgeSDK/utils/judgeConfig';
2024-07-02 11:39:46 +08:00
import { getTCP } from '../common/utils/GlobalTcp';
2025-01-04 13:51:34 +08:00
import { setliushuiNum, takePhotoFn, setVideoParam } from '../common/service/indexService';
2024-03-12 15:32:48 +08:00
import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl';
2024-06-27 20:53:36 +08:00
import worker, { MessageEvents } from '@ohos.worker';
2024-07-03 16:21:56 +08:00
import promptAction from '@ohos.promptAction'
2024-07-16 17:23:42 +08:00
import { voiceService } from '../common/service/voiceService';
2024-08-19 09:32:41 +08:00
import errorMsgDialog from './compontents/errorMsgDialog'
2024-08-15 13:42:36 +08:00
import { getSyncData } from '../common/service/initable';
2024-08-22 13:59:33 +08:00
import GetDistance from '../common/utils/GetDistance'
2024-10-28 13:47:03 +08:00
import UdpEvent from '../common/utils/UdpEvent'
2024-08-29 11:04:10 +08:00
import UIAbility from '@ohos.app.ability.UIAbility';
2025-01-03 10:25:31 +08:00
import {
deleteAllPicturesFn,
2025-01-03 17:24:11 +08:00
delPic,
2025-01-03 10:25:31 +08:00
endRecordVideo, getUserAlbumItemByDisplayName, saveStartRecordVideo } from '../common/service/videoService';
2024-12-30 13:20:49 +08:00
import imageBtn from './compontents/imageBtn'
2025-01-02 11:01:09 +08:00
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
2024-08-27 19:41:15 +08:00
2024-08-26 15:09:13 +08:00
// import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
2024-01-05 11:11:15 +08:00
@Entry
@Component
struct Index {
@State carNum: string = ''
@State version: string = ''
@State url: string = ''
@State hasAuth: boolean = false;
2024-08-10 14:00:18 +08:00
@State dialogVisiable: boolean = false;
2024-01-05 11:11:15 +08:00
@State isSingle: boolean = false;
@State deviceId: string = '';
@State angle: number = 0
2024-08-12 09:28:12 +08:00
@State dialogRatio: number = 0.8
2024-05-16 09:53:10 +08:00
@State ratio: number = 1700 / 960
2025-01-04 13:51:34 +08:00
@State delLoading: boolean = false
@State loading: boolean = false
2024-12-29 21:43:12 +08:00
@State initParamFlag: boolean = false
2024-01-05 11:11:15 +08:00
@State fd: number = -1;
2024-07-03 16:21:56 +08:00
@State num: number = 0;
2024-07-02 11:39:46 +08:00
fileHelper = null;
private fileUtil: FileUtil
private interval = null;
2025-01-02 11:01:09 +08:00
// private vocObj = null;
private avPlayer
2024-07-02 11:39:46 +08:00
private workerInstance = null;
2024-01-05 11:11:15 +08:00
private context = getContext(this) as common.UIAbilityContext;
2024-08-19 14:54:11 +08:00
errorDialog: CustomDialogController = new CustomDialogController({
builder: errorMsgDialog({
title: globalThis.title,
type: globalThis.type,
cancel: () => {
},
confirm: () => {
}
}),
customStyle: true,
alignment: DialogAlignment.Center,
},
)
2024-07-02 11:39:46 +08:00
2024-08-10 14:00:18 +08:00
@Styles
commStyle(){
2024-08-19 09:32:41 +08:00
.width(220 * this.ratio * this.dialogRatio)
.height(69 * this.ratio * this.dialogRatio)
2024-08-10 14:00:18 +08:00
.backgroundImage($r('app.media.button_nor'))
.backgroundImageSize({ width: '100%', height: '100%' })
2024-08-20 09:12:02 +08:00
// .margin({ bottom: 12 * this.ratio })
2024-08-10 14:00:18 +08:00
}
2024-08-19 09:32:41 +08:00
2024-01-05 11:11:15 +08:00
build() {
Column() {
Column() {
Row() {
Image($r('app.media.logo')).width('30%').height('5.5%').margin({ left: 24 })
Row() {
Image($r('app.media.btn_setting')).width('16.7%').height('12.2%')
.onClick(async () => {
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2025-01-03 10:25:31 +08:00
// deleteAllPicturesFn()
2024-01-05 11:11:15 +08:00
if (this.loading) {
return
}
router.pushUrl({
url: 'pages/Settings',
}, router.RouterMode.Single);
})
Image($r('app.media.btn_back')).width('14.4%').height('12.2%')
.onClick(() => {
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2024-08-19 09:32:41 +08:00
this.dialogVisiable = true
2024-01-05 11:11:15 +08:00
})
}
}
.width('100%')
.justifyContent(FlexAlign.SpaceBetween)
}
Column() {
Row() {
if (!this.isSingle) {
2024-12-30 13:20:49 +08:00
imageBtn({btnWidth:'28%',btnHeight:'71%',imgSrc:$r('app.media.index_lw')})
2024-08-19 09:32:41 +08:00
.margin({ left: 80 * globalThis.ratio })
.onClick(async () => {
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
// ||!this.initParamFlag
2024-08-19 09:32:41 +08:00
if (this.loading) {
2024-12-29 21:43:12 +08:00
// globalThis.title = '正在初始化请等待5s后重试'
// this.errorDialog.open()
2024-08-19 09:32:41 +08:00
return
}
2024-08-22 13:59:33 +08:00
setTimeout(() => {
this.angle = 360
}, 1000)
2024-08-19 09:32:41 +08:00
this.angle = 0
if (!globalThis.timeInfo) {
2024-08-26 15:09:13 +08:00
globalThis.type = '1'
globalThis.title = '时间同步接口连接失败'
2024-08-23 13:44:42 +08:00
this.errorDialog.open()
2024-08-19 09:32:41 +08:00
promptAction.showToast({
message: `时间同步接口连接失败`,
duration: 3000
});
this.loading = false
return
}
2024-08-21 08:53:26 +08:00
if (!globalThis.carInfo) {
promptAction.showToast({
message: `车辆信息接口获取失败`,
duration: 3000
});
2024-08-26 15:09:13 +08:00
globalThis.type = '1'
globalThis.title = '车辆信息接口获取失败'
2024-08-23 13:44:42 +08:00
this.errorDialog.open()
2024-08-21 08:53:26 +08:00
this.loading = false
return
}
2024-08-19 09:32:41 +08:00
this.testXMLToJSONInWorker()
2024-06-27 20:53:36 +08:00
2024-02-22 10:40:35 +08:00
2024-08-19 09:32:41 +08:00
})
2024-01-05 11:11:15 +08:00
}
if (this.isSingle) {
2024-12-30 13:20:49 +08:00
imageBtn({btnWidth:'28%',btnHeight:'71%',imgSrc:$r('app.media.index_dj')})
2024-08-19 09:32:41 +08:00
.margin({ left: 80 * globalThis.ratio })
.onClick(() => {
if (this.loading) {
return
2024-08-15 13:42:36 +08:00
}
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2024-08-27 19:41:15 +08:00
if (judgeConfig.isTrajectoryOpen) {
2024-08-26 19:27:23 +08:00
router.pushUrl({
url: 'pages/UserInfo',
}, router.RouterMode.Single)
return
}
2024-08-19 09:32:41 +08:00
//判断数据库是否有表数据,有则直接跳转,没有则读取本地数据
getSyncData('MA_SYSSET').then(data => {
console.log('datadata', JSON.stringify(data))
if (data?.[0]) {
router.pushUrl({
url: 'pages/UserInfo',
}, router.RouterMode.Single)
} else {
this.testXMLToJSONInWorker()
}
2024-08-22 13:59:33 +08:00
});
2024-08-19 09:32:41 +08:00
})
2024-01-05 11:11:15 +08:00
}
2024-12-30 13:20:49 +08:00
imageBtn({btnWidth:'28%',btnHeight:'71%',imgSrc:$r('app.media.index_zj')})
2024-08-19 09:32:41 +08:00
.margin({ right: 80 * globalThis.ratio })
.onClick(() => {
if (this.loading) {
return
}
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2024-08-19 09:32:41 +08:00
router.pushUrl({
url: 'pages/CarCheck'
}, router.RouterMode.Single);
})
2024-01-05 11:11:15 +08:00
}
.width('100%')
.justifyContent(FlexAlign.SpaceAround)
}
Column() {
Row() {
Column() {
2024-10-28 13:47:03 +08:00
Text('V外壳' + globalThis.version )
2024-01-05 11:11:15 +08:00
.fontColor('#CCAE7A')
2024-10-28 13:47:03 +08:00
.fontSize(18 * globalThis.ratio)
2024-01-05 11:11:15 +08:00
.width('30%')
.margin({ bottom: 10 })
2024-10-28 13:47:03 +08:00
Text('V评判' + globalThis.judgeVersion)
.fontColor('#CCAE7A')
.fontSize(18 * globalThis.ratio)
.width('30%')
.margin({ bottom: 10 })
// Text('V 1.0')
// .fontColor('#CCAE7A')
// .fontSize(22 * globalThis.ratio)
// .width('30%')
// .margin({ bottom: 10 })
2024-01-05 11:11:15 +08:00
Text('授权信息:' + (this.hasAuth ? '已授权' : '未授权'))
.fontColor('#CCAE7A')
2024-10-28 13:47:03 +08:00
.fontSize(18 * globalThis.ratio)
2024-01-05 11:11:15 +08:00
.width('30%')
}
.margin({ left: 24 })
.gesture(
GestureGroup(GestureMode.Exclusive,
2024-01-31 14:35:16 +08:00
TapGesture({ count: 2 })
2024-01-05 11:11:15 +08:00
.onAction(() => {
2024-06-27 20:53:36 +08:00
// takePhotoFn(this.context)
2024-01-05 11:11:15 +08:00
globalThis.singlePlay = !globalThis.singlePlay
this.isSingle = globalThis.singlePlay
})
)
)
2024-07-17 10:19:16 +08:00
Text('考车号:' + this.deviceId)
2024-07-02 11:39:46 +08:00
.fontColor('#CCAE7A')
.fontSize(22 * globalThis.ratio)
.margin({ right: 24 })
2024-01-05 11:11:15 +08:00
}
.width('100%')
.justifyContent(FlexAlign.SpaceBetween)
.margin({ bottom: 10 })
}
2024-07-02 11:39:46 +08:00
2024-05-09 13:42:56 +08:00
//
2024-08-10 14:00:18 +08:00
if (this.dialogVisiable) {
2024-08-19 09:32:41 +08:00
Flex({ justifyContent: FlexAlign.Center }) {
2024-08-10 14:00:18 +08:00
Text('确认是否退出应用')
2024-08-19 09:32:41 +08:00
.fontSize(28 * this.ratio * this.dialogRatio)
.margin({ top: 100 * this.ratio * this.dialogRatio })
2024-08-10 14:00:18 +08:00
Row() {
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
2024-08-19 09:32:41 +08:00
Text(' 取 消 ')
.fontSize(24 * this.ratio * this.dialogRatio)
.fontColor('#fff')
.width(100 * this.ratio * this.dialogRatio)
2024-08-10 14:00:18 +08:00
}
.commStyle()
.onClick(() => {
this.dialogVisiable = false
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2024-08-19 09:32:41 +08:00
}).margin({ right: 10 * this.ratio })
2024-08-10 14:00:18 +08:00
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
2024-08-19 09:32:41 +08:00
Text(' 确 定 ')
.fontSize(24 * this.ratio * this.dialogRatio)
.fontColor('#fff')
.width(100 * this.ratio * this.dialogRatio)
2024-08-10 14:00:18 +08:00
}
.commStyle()
.onClick(() => {
2024-12-29 21:43:12 +08:00
// this.vocObj.playAudio({
// type: 1,
// name: 'button_media.wav'
// })
2024-08-10 14:00:18 +08:00
router.back()
})
2024-08-19 09:32:41 +08:00
}.position({ y: 265 * this.ratio * this.dialogRatio, x: 115 * this.ratio * this.dialogRatio })
2024-08-10 14:00:18 +08:00
}
2024-08-19 09:32:41 +08:00
.width(660 * this.ratio * this.dialogRatio)
.height(360 * this.ratio * this.dialogRatio)
.position({ x: 220 * this.ratio, y: 98 * this.ratio - 265 / 2 * (1 - this.ratio * this.dialogRatio) })
2024-08-10 14:00:18 +08:00
.backgroundColor('#E6E3DF')
2024-08-19 09:32:41 +08:00
.borderRadius(19 * this.ratio * this.dialogRatio)
2024-08-10 14:00:18 +08:00
}
2025-01-04 13:51:34 +08:00
if (this.delLoading) {
2025-01-03 17:24:11 +08:00
Column() {
Image($r('app.media.open_loading'))
.width(200 * globalThis.ratio)
.rotate({ angle: this.angle })
.height(200 * globalThis.ratio)
.animation({
duration: 5000, // 动画时长
curve: Curve.EaseOut, // 动画曲线
delay: 500, // 动画延迟
iterations: -1, // 播放次数
playMode: PlayMode.Normal, // 动画模式
})
.margin({ top: 30 * globalThis.ratio })
2025-01-04 13:51:34 +08:00
Text('正在清理本地数据,请稍候……')
2025-01-03 17:24:11 +08:00
.fontSize(24 * globalThis.ratio)
.margin({ top: 20 * globalThis.ratio })
.fontWeight(400)
}
2025-01-04 13:51:34 +08:00
.visibility(this.delLoading ? Visibility.Visible : Visibility.Hidden)
2025-01-03 17:24:11 +08:00
.width(660 * globalThis.ratio)
.height(360 * globalThis.ratio)
.position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio })
.backgroundColor('#E6E3DF')
.borderRadius(19 * globalThis.ratio)
}
2025-01-04 13:51:34 +08:00
2024-01-05 11:11:15 +08:00
if (this.loading) {
2024-07-02 11:39:46 +08:00
Column() {
Image($r('app.media.open_loading'))
.width(200 * globalThis.ratio)
.rotate({ angle: this.angle })
.height(200 * globalThis.ratio)
.animation({
duration: 5000, // 动画时长
curve: Curve.EaseOut, // 动画曲线
delay: 500, // 动画延迟
iterations: -1, // 播放次数
playMode: PlayMode.Normal, // 动画模式
})
.margin({ top: 30 * globalThis.ratio })
Image($r('app.media.car'))
.width(80 * globalThis.ratio)
.height(80 * globalThis.ratio)
.position({ x: 288 * globalThis.ratio, y: 89 * globalThis.ratio })
Text('获取考车信息,请稍候……')
.fontSize(24 * globalThis.ratio)
.margin({ top: 20 * globalThis.ratio })
.fontWeight(400)
}
.visibility(this.loading ? Visibility.Visible : Visibility.Hidden)
.width(660 * globalThis.ratio)
.height(360 * globalThis.ratio)
.position({ x: 150 * globalThis.ratio, y: 98 * globalThis.ratio })
.backgroundColor('#E6E3DF')
.borderRadius(19 * globalThis.ratio)
2024-01-05 11:11:15 +08:00
}
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.SpaceBetween)
.backgroundImagePosition({ x: 0, y: 0 })
.backgroundImage($r('app.media.index_bg'))
.backgroundImageSize({ width: '100%', height: '100%' })
}
2024-08-22 13:59:33 +08:00
async aboutToAppear() {
2025-01-03 10:25:31 +08:00
2025-01-02 11:01:09 +08:00
console.log('diyidiy')
2025-01-04 13:51:34 +08:00
2025-01-02 11:01:09 +08:00
this.avPlayer = new VoiceAnnounce();
2024-12-29 21:43:12 +08:00
this.initParamFlag=false
2025-01-04 13:51:34 +08:00
this.delLoading=false
2024-08-19 09:32:41 +08:00
this.dialogVisiable = false
2024-01-05 11:11:15 +08:00
this.angle = 0
this.loading = false
2024-08-19 10:11:22 +08:00
globalThis.lsh = '1111111111111'
2024-08-26 15:09:13 +08:00
globalThis.errorDialog = this.errorDialog
2024-10-28 13:47:03 +08:00
globalThis.udpEvent = new UdpEvent();
2025-01-04 13:51:34 +08:00
getSyncData('MA_SYSSET').then(async data => {
console.log('datadata', JSON.stringify(data))
// @ts-ignore
// @ts-ignore
data.forEach(async sys => {
//判断是否能点开始考试
if(sys.v_no === '305'){
console.log('syssyssyssys')
// this.delLoading=true
// globalThis.param854Str=sys.v_value
delPic(Number(sys.v_value),1)
delPic(Number(sys.v_value),2)
// this.delLoading=false
}
})
});
2025-01-03 17:24:11 +08:00
2024-06-27 20:53:36 +08:00
}
2024-07-02 11:39:46 +08:00
2025-01-02 11:01:09 +08:00
aboutToDisappear() {
// this.vocObj && this.vocObj.releasePlayer()
}
2024-07-02 11:39:46 +08:00
async testXMLToJSONInWorker() {
2024-08-21 08:53:26 +08:00
if (this.loading) {
return
}
2024-08-26 19:27:23 +08:00
// let mode=globalThis.timeInfo?.mode?globalThis.timeInfo?.mode:1
// console.log('mode',mode)
2024-10-28 13:47:03 +08:00
2024-07-09 11:11:31 +08:00
let workerInstance = new worker.ThreadWorker('entry/ets/workers/worker.ts');
2024-07-02 11:39:46 +08:00
const param = {
carId: globalThis.carInfo?.carId,
examinationRoomId: globalThis.carInfo?.examinationRoomId,
judgeVersion: globalThis.judgeVersion,
shellVersion: globalThis.version,
2024-10-28 13:47:03 +08:00
paraKdid: globalThis.timeInfo?.paraKdid||globalThis.timeInfo?.kdid,
kdid:globalThis.timeInfo?.kdid||globalThis.timeInfo?.paraKdid,
2024-06-27 20:53:36 +08:00
mode: globalThis.timeInfo?.mode,
2024-08-21 18:05:24 +08:00
context: this.context,
2024-08-22 13:59:33 +08:00
host: globalThis.host,
2024-08-26 19:27:23 +08:00
centerHost: globalThis.timeInfo?.url,
2024-08-22 13:59:33 +08:00
singlePlay: globalThis.singlePlay
2024-06-27 20:53:36 +08:00
}
2024-08-21 08:53:26 +08:00
this.loading = true
2024-06-27 20:53:36 +08:00
workerInstance.postMessage(param);
workerInstance.onmessage = (e: MessageEvents): void => {
2024-07-02 11:39:46 +08:00
console.log("baoyihu after postMessage :", JSON.stringify(e.data));
2024-09-05 08:56:01 +08:00
// @ts-ignore
2024-07-09 11:11:31 +08:00
let workData: WorkData = e.data;
2025-01-04 13:51:34 +08:00
this.loading = false
2024-07-09 11:11:31 +08:00
if (workData.isComplete) {
2024-10-28 13:47:03 +08:00
if(globalThis.singlePlay){
router.pushUrl({
url: 'pages/UserInfo',
}, router.RouterMode.Single)
return
}
2025-01-04 13:51:34 +08:00
getSyncData('MA_SYSSET').then(data => {
2024-10-28 13:47:03 +08:00
console.log('datadata', JSON.stringify(data))
// @ts-ignore
data.forEach(sys => {
//判断是否能点开始考试
2024-10-28 17:11:22 +08:00
if(sys.v_no === '854'){
globalThis.param854Str=sys.v_value
}
2024-10-28 13:47:03 +08:00
if (sys.v_no === '824'&&decodeURIComponent(sys.v_value)=='0') {
// this.Param612Str= decodeURIComponent(sys.v_value)
router.pushUrl({
url:'pages/CarCheck',
params: {
'fromIndex':true
}
}, router.RouterMode.Single)
}else{
router.pushUrl({
url: 'pages/ExaminerLogin',
}, router.RouterMode.Single)
}
})
});
2024-07-01 12:36:46 +08:00
}
2024-07-09 11:11:31 +08:00
workerInstance.terminate();
2024-06-27 20:53:36 +08:00
}
2024-01-05 11:11:15 +08:00
}
2024-07-02 11:39:46 +08:00
2024-02-26 15:01:27 +08:00
async heartMsg() {
2024-08-26 15:09:13 +08:00
console.log('kkkkmmm')
2024-07-02 11:39:46 +08:00
const arr = [globalThis.signNum || 0, globalThis.statue || 1]
2024-08-26 15:09:13 +08:00
let tmpList = [];
2024-02-22 10:40:35 +08:00
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
2024-07-02 11:39:46 +08:00
const str = globalThis.lsh || '0000000000000'
for (let i = 0; i < str.length; i++) {
2024-02-22 10:40:35 +08:00
tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0])
2024-01-05 11:11:15 +08:00
}
2024-08-26 15:09:13 +08:00
console.log('kkkkmmm.carInfo', JSON.stringify(globalThis.carInfo))
2024-06-27 20:53:36 +08:00
2024-07-02 11:39:46 +08:00
const param = {
id: 31,
list: tmpList,
carNo: globalThis.carInfo.carNo,
placeId: globalThis.carInfo.examinationRoomId
}
2024-08-19 09:32:41 +08:00
console.log('paramparam', JSON.stringify(param))
2024-06-27 20:53:36 +08:00
// globalThis.udpClient2.initHeartSendMsg(param,this.context)
2024-07-09 11:11:31 +08:00
if (globalThis.udpClient2.getStatus()) {
globalThis.udpClient2.sendMsgExt(param, this.context)
2024-07-02 08:59:03 +08:00
}
2024-01-05 11:11:15 +08:00
}
2024-07-19 09:21:47 +08:00
async onPageShow() {
2025-01-04 13:51:34 +08:00
console.log('ttttt', 1111)
2025-01-01 10:40:23 +08:00
await this.userAuth();
2024-08-19 09:32:41 +08:00
console.log('globalThis.singlePlay', globalThis.singlePlay)
2024-08-12 14:46:16 +08:00
if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) {
2025-01-02 11:01:09 +08:00
// setVideoParam()
console.log('diyidiy')
2024-08-29 11:04:10 +08:00
this.context.resourceManager.getRawFileContent("welcome.wav").then(value => {
2025-01-02 11:01:09 +08:00
this.avPlayer.playAudio(['welcome.wav'])
// this.vocObj.playAudio({
// type: 1,
// name: 'welcome.wav'
// })
2024-08-29 11:04:10 +08:00
// let rawFile = value;
}).catch(error => {
console.log("getRawFileContent promise error is " + error);
});
2024-08-22 13:59:33 +08:00
globalThis.singlePlay = false
2024-08-12 14:46:16 +08:00
}
this.isSingle = globalThis.singlePlay
2025-01-02 17:53:34 +08:00
// this.loading = false
2024-08-19 09:32:41 +08:00
this.num = 0
2024-06-27 20:53:36 +08:00
// const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
2024-08-20 09:13:43 +08:00
globalThis.lsh = '1111111111111'
2024-05-09 13:42:56 +08:00
}
2024-06-27 20:53:36 +08:00
2024-05-09 13:42:56 +08:00
async createAlbum() {
this.fileHelper = new FileHelper();
2025-01-03 10:25:31 +08:00
const time = await getCurrentTime()
const date = time.split(' ')[0]
2024-06-27 20:53:36 +08:00
this.fileHelper.createAlbum('jt')
2025-01-04 13:51:34 +08:00
// this.fileHelper.createAlbum('2025-01-02')
2024-05-09 13:42:56 +08:00
this.fileHelper.createAlbum('pz');
2025-01-03 10:25:31 +08:00
this.fileHelper.createAlbum(date);
2024-05-09 13:42:56 +08:00
2024-01-05 11:11:15 +08:00
}
2024-07-03 16:21:56 +08:00
2024-03-12 15:32:48 +08:00
userAuth() {
2025-01-01 10:40:23 +08:00
return new Promise((reslove,reject)=>{
const permissions: Array<Permissions> = ["ohos.permission.SET_TIME", "ohos.permission.READ_IMAGEVIDEO", "ohos.permission.DISTRIBUTED_DATASYNC", 'ohos.permission.CONNECTIVITY_INTERNAL', 'ohos.permission.CAMERA', 'ohos.permission.READ_MEDIA', 'ohos.permission.WRITE_MEDIA', 'ohos.permission.FILE_ACCESS_MANAGER'];
let context = this.context;
let atManager = abilityAccessCtrl.createAtManager();
// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
atManager.requestPermissionsFromUser(context, permissions).then((data) => {
this.initParams()
let grantStatus: Array<number> = data.authResults;
let length: number = grantStatus.length;
for (let i = 0; i < length; i++) {
if (grantStatus[i] === 0) {
// 用户授权,可以继续访问目标操作
reslove(true)
} else {
reject()
// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
return;
}
2024-03-12 15:32:48 +08:00
}
2025-01-01 10:40:23 +08:00
// 授权成功
}).catch((err) => {
console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
})
2024-03-12 15:32:48 +08:00
})
2025-01-01 10:40:23 +08:00
2024-03-12 15:32:48 +08:00
}
2024-07-02 11:39:46 +08:00
2024-01-05 11:11:15 +08:00
async initParams() {
2024-08-26 19:27:23 +08:00
// deleteAllFIleLog(GlobalConfig.comoonfileWriteAddress + '/PLC/')
2024-08-14 13:15:03 +08:00
//设置plc udp 同步requesthost
2024-08-19 09:32:41 +08:00
await getUDP(this.context, false)
2024-07-02 11:39:46 +08:00
this.loading = false
2024-08-26 19:27:23 +08:00
await getDeviceInfo(this.context)
2024-08-14 14:46:33 +08:00
await getCarInfo()
2024-08-19 09:32:41 +08:00
await getUDP2(this.context, false)
2024-08-14 14:46:33 +08:00
getTCP()
2024-08-19 09:32:41 +08:00
this.deviceId = globalThis.carInfo.carNo
2024-01-05 11:11:15 +08:00
await setCurrentTime();
2024-10-28 13:47:03 +08:00
if(!globalThis.distanceClass){
const distanceClass = new GetDistance(globalThis.context)
await distanceClass.initFolder()
globalThis.distanceClass = distanceClass
console.info('surenjun','distanceClass=>初始化完成')
}
2024-01-05 11:11:15 +08:00
this.carNum = globalThis.carInfo.plateNo;
this.version = globalThis.version;
this.hasAuth = globalThis.hasAuth;
2024-12-29 21:43:12 +08:00
setTimeout(()=>{
this.initParamFlag=true
},3000)
2024-01-31 14:35:16 +08:00
initJudgeUdp()
2024-08-14 14:46:33 +08:00
takePhotoFn(this.context)
clearInterval(this.interval)
this.interval = setInterval(() => {
2024-08-26 15:09:13 +08:00
console.log('kkkkmmm')
2024-08-14 14:46:33 +08:00
this.num++
2024-12-29 21:43:12 +08:00
setliushuiNum()
// getliushuiNum(this.context)
2024-08-19 09:32:41 +08:00
if (this.num >= 3) {
2024-08-14 14:46:33 +08:00
this.heartMsg()
}
}, 1000)
2025-01-03 17:24:11 +08:00
this.createAlbum()
2024-01-31 14:42:14 +08:00
//下载模型
// await this.getModel()
// const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00]
2024-02-22 10:40:35 +08:00
// globalThis.udpClientByTopLine.sendMsg(Array2Byte(arr).buffer)
2024-01-05 11:11:15 +08:00
}
2024-07-02 11:39:46 +08:00
2024-01-05 11:11:15 +08:00
async getModel() {
const context = this.context;
//下载模型
await getEsCarModel(context)
}
}