2025-04-10 10:27:28 +08:00
|
|
|
|
import common from '@ohos.app.ability.common';
|
|
|
|
|
|
import router from '@ohos.router';
|
|
|
|
|
|
|
|
|
|
|
|
import { JudgeConfig } from './judgeSDK/utils/judgeConfig';
|
|
|
|
|
|
import promptAction from '@ohos.promptAction';
|
|
|
|
|
|
import errorMsgDialog from './compontents/errorMsgDialog';
|
|
|
|
|
|
import imageBtn from './compontents/imageBtn';
|
|
|
|
|
|
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
|
|
|
|
|
import { BaseInfoType, centerCallBackMsgType } from '../model/Common';
|
|
|
|
|
|
import {
|
|
|
|
|
|
CarInfoType,
|
|
|
|
|
|
InitializeTheCentralTableType,
|
|
|
|
|
|
MASYSSETTableType,
|
|
|
|
|
|
TimeSynchronizationRspBody
|
|
|
|
|
|
} from '../model';
|
|
|
|
|
|
import { GetCarInfo, GetDeviceInfo, SetCurrentTime, SetSerialNumber, UseAuth } from './Index/utils';
|
|
|
|
|
|
import { GetSyncData, InitializeTheCentralTable } from '../utils/table/Operation';
|
|
|
|
|
|
import { BusinessError } from '@ohos.base';
|
|
|
|
|
|
import { delPic } from '../utils/Video';
|
|
|
|
|
|
import { FileHelper } from '../utils/FileHelp';
|
|
|
|
|
|
import { GetCurrentTime } from '../utils/Common';
|
|
|
|
|
|
import { ObtainUdpBusinessInstance } from '../utils/business/ObtainUdpBusiness';
|
2025-04-10 15:10:31 +08:00
|
|
|
|
import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness';
|
2025-04-10 10:27:28 +08:00
|
|
|
|
import { DrivingDataStorage } from '../utils/business/DrivingDataStorage';
|
|
|
|
|
|
import { JudgeUdpBusinessInstance } from '../utils/business/JudgeUdpBusiness';
|
|
|
|
|
|
import { JudgeEmitterInstance } from '../utils/business/UdpEvent';
|
2025-04-11 10:13:29 +08:00
|
|
|
|
import { LoadingDialog } from './Index/Loading';
|
2025-04-10 10:27:28 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-04-10 09:30:47 +08:00
|
|
|
|
@Entry
|
|
|
|
|
|
@Component
|
|
|
|
|
|
struct Index {
|
2025-04-10 10:27:28 +08:00
|
|
|
|
@State url: string = ''
|
|
|
|
|
|
@State hasAuth: boolean = false;
|
|
|
|
|
|
@State dialogVisible: boolean = false;
|
|
|
|
|
|
@State singlePlay: boolean = false;
|
|
|
|
|
|
@State baseInfo: BaseInfoType = {};
|
|
|
|
|
|
@State deviceId: string = '';
|
|
|
|
|
|
@State angle: number = 0
|
|
|
|
|
|
@State dialogRatio: number = 0.8
|
|
|
|
|
|
@State ratio: number = 1700 / 960
|
|
|
|
|
|
@State delLoading: boolean = false
|
|
|
|
|
|
@State initParamFlag: boolean = false
|
|
|
|
|
|
@State fd: number = -1;
|
|
|
|
|
|
@State carInfo: CarInfoType = {};
|
|
|
|
|
|
@State num: number = 0;
|
2025-04-10 15:10:31 +08:00
|
|
|
|
private context = getContext(this) as common.UIAbilityContext;
|
2025-04-11 10:13:29 +08:00
|
|
|
|
private fileHelper: FileHelper = new FileHelper(this.context)
|
|
|
|
|
|
private interval = -1;
|
|
|
|
|
|
private avPlayer: VoiceAnnounce = new VoiceAnnounce(this.context)
|
|
|
|
|
|
private timeInfo: TimeSynchronizationRspBody = {}
|
|
|
|
|
|
private loadingDialog: CustomDialogController = new CustomDialogController({
|
|
|
|
|
|
builder: LoadingDialog(),
|
|
|
|
|
|
customStyle: true,
|
|
|
|
|
|
alignment: DialogAlignment.Center,
|
|
|
|
|
|
autoCancel: false
|
|
|
|
|
|
})
|
|
|
|
|
|
private errorDialog: CustomDialogController = new CustomDialogController({
|
2025-04-10 10:27:28 +08:00
|
|
|
|
builder: errorMsgDialog({
|
|
|
|
|
|
title: AppStorage.get('title'),
|
|
|
|
|
|
type: AppStorage.get('type'),
|
|
|
|
|
|
cancel: () => {
|
|
|
|
|
|
},
|
|
|
|
|
|
confirm: () => {
|
|
|
|
|
|
}
|
|
|
|
|
|
}),
|
|
|
|
|
|
customStyle: true,
|
|
|
|
|
|
alignment: DialogAlignment.Center,
|
2025-04-11 10:13:29 +08:00
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
@Styles
|
|
|
|
|
|
commStyle(){
|
|
|
|
|
|
.width(220 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
.height(69 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
.backgroundImage($r('app.media.button_nor'))
|
|
|
|
|
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
|
|
|
|
|
// .margin({ bottom: 12 * this.ratio })
|
|
|
|
|
|
}
|
2025-04-10 10:27:28 +08:00
|
|
|
|
|
|
|
|
|
|
async aboutToAppear() {
|
|
|
|
|
|
this.ratio = AppStorage.get<BaseInfoType>('baseInfo')?.ratio || 1.4
|
|
|
|
|
|
this.angle = 0
|
|
|
|
|
|
AppStorage.set('lsh', '1111111111111')
|
|
|
|
|
|
// TODO 未改
|
|
|
|
|
|
// globalThis.errorDialog = this.errorDialog
|
|
|
|
|
|
JudgeEmitterInstance.init()
|
|
|
|
|
|
GetSyncData<MASYSSETTableType>("MA_SYSSET").then((res: MASYSSETTableType[]) => {
|
|
|
|
|
|
res.forEach((element) => {
|
|
|
|
|
|
if (element.v_no === "305") {
|
|
|
|
|
|
delPic(Number(element.v_value), 1, this.context)
|
|
|
|
|
|
delPic(Number(element.v_value), 2, this.context)
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async onPageShow(): Promise<void> {
|
|
|
|
|
|
this.baseInfo = AppStorage.get<BaseInfoType>('baseInfo')!
|
2025-04-11 10:13:29 +08:00
|
|
|
|
await UseAuth(this.context)
|
|
|
|
|
|
this.initParams()
|
|
|
|
|
|
AppStorage.setOrCreate('singlePlay', false)
|
|
|
|
|
|
this.context.resourceManager.getRawFileContent("welcome.wav")
|
|
|
|
|
|
.then(() => {
|
|
|
|
|
|
this.avPlayer.playAudio(['welcome.wav'])
|
|
|
|
|
|
})
|
|
|
|
|
|
.catch((error: BusinessError) => {
|
|
|
|
|
|
console.log("getRawFileContent promise error is " + error);
|
|
|
|
|
|
});
|
2025-04-10 10:27:28 +08:00
|
|
|
|
this.num = 0
|
|
|
|
|
|
AppStorage.setOrCreate('lsh', '1111111111111')
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async testXMLToJSONInWorker() {
|
|
|
|
|
|
const param: InitializeTheCentralTableType = {
|
|
|
|
|
|
carId: this.carInfo?.carId,
|
|
|
|
|
|
examinationRoomId: this.carInfo?.examinationRoomId,
|
|
|
|
|
|
judgeVersion: this.baseInfo?.judgeVersion,
|
2025-04-10 15:10:31 +08:00
|
|
|
|
shellVersion: this.baseInfo?.version || "",
|
2025-04-10 10:27:28 +08:00
|
|
|
|
paraKdid: this.timeInfo?.paraKdid || this.timeInfo?.kdid,
|
|
|
|
|
|
kdid: this.timeInfo?.kdid || this.timeInfo?.paraKdid,
|
|
|
|
|
|
mode: this.timeInfo?.mode,
|
|
|
|
|
|
context: this.context,
|
|
|
|
|
|
host: AppStorage.get<string>('host'),
|
|
|
|
|
|
centerHost: this.timeInfo?.url,
|
|
|
|
|
|
singlePlay: this.singlePlay
|
|
|
|
|
|
}
|
|
|
|
|
|
InitializeTheCentralTable(param).then((ret) => {
|
2025-04-11 10:13:29 +08:00
|
|
|
|
this.loadingDialog.close()
|
2025-04-10 10:27:28 +08:00
|
|
|
|
if (ret) {
|
|
|
|
|
|
GetSyncData<MASYSSETTableType>("MA_SYSSET").then(data => {
|
|
|
|
|
|
data.forEach(sys => {
|
|
|
|
|
|
//判断是否能点开始考试
|
|
|
|
|
|
if (sys.v_no === '854') {
|
|
|
|
|
|
AppStorage.setOrCreate('param854Str', sys.v_value)
|
|
|
|
|
|
}
|
|
|
|
|
|
if (sys.v_no === '824' && decodeURIComponent(sys.v_value || '') == '0') {
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/CarCheck',
|
|
|
|
|
|
params: {
|
|
|
|
|
|
'fromIndex': true
|
|
|
|
|
|
}
|
|
|
|
|
|
}, router.RouterMode.Single)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/ExaminerLogin',
|
|
|
|
|
|
}, router.RouterMode.Single)
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async heartMsg() {
|
|
|
|
|
|
// const signNum = AppStorage.get<number>('signNum')
|
|
|
|
|
|
// const statue = AppStorage.get<string>('statue')
|
|
|
|
|
|
// const lsh = AppStorage.get<string>('lsh')
|
|
|
|
|
|
// const arr = [signNum || 0, statue || 1]
|
|
|
|
|
|
// let tmpList: number[] = [];
|
|
|
|
|
|
// tmpList.push(NumberToByteArray(Number(arr[0]), 1 * 8)[0])
|
|
|
|
|
|
// tmpList.push(NumberToByteArray(Number(arr[1]), 1 * 8)[0])
|
|
|
|
|
|
// const str = lsh || '0000000000000'
|
|
|
|
|
|
// for (let i = 0; i < str.length; i++) {
|
|
|
|
|
|
// tmpList.push(NumberToByteArray(str.charCodeAt(i), 1 * 8)[0])
|
|
|
|
|
|
// }
|
|
|
|
|
|
// TODO 未改
|
|
|
|
|
|
// const param = {
|
|
|
|
|
|
// id: 31,
|
|
|
|
|
|
// list: tmpList,
|
|
|
|
|
|
// carNo: this.carInfo.carNo,
|
|
|
|
|
|
// placeId: this.carInfo.examinationRoomId
|
|
|
|
|
|
// }
|
|
|
|
|
|
// globalThis.udpClient2.initHeartSendMsg(param,this.context)
|
|
|
|
|
|
// if (globalThis.udpClient2.getStatus()) {
|
|
|
|
|
|
// globalThis.udpClient2.sendMsgExt(param, this.context)
|
|
|
|
|
|
// }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async createAlbum() {
|
|
|
|
|
|
const time = GetCurrentTime()
|
|
|
|
|
|
const date = time.split(' ')[0]
|
|
|
|
|
|
this.fileHelper.createAlbum('jt')
|
|
|
|
|
|
this.fileHelper.createAlbum('pz');
|
|
|
|
|
|
this.fileHelper.createAlbum(date);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async initParams() {
|
2025-04-11 10:13:29 +08:00
|
|
|
|
console.log("test1111")
|
2025-04-10 10:27:28 +08:00
|
|
|
|
ObtainUdpBusinessInstance.init();
|
2025-04-10 15:10:31 +08:00
|
|
|
|
CenterUDPBusinessInstance.init();
|
|
|
|
|
|
CenterUDPBusinessInstance.startHeartBeat()
|
|
|
|
|
|
CenterUDPBusinessInstance.onMsg((data: centerCallBackMsgType) => {
|
2025-04-10 10:27:28 +08:00
|
|
|
|
if (data.id == 32) {
|
|
|
|
|
|
AppStorage.setOrCreate('signNum', data.body[1])
|
|
|
|
|
|
}
|
|
|
|
|
|
},)
|
|
|
|
|
|
await GetDeviceInfo(this.context)
|
|
|
|
|
|
await GetCarInfo()
|
|
|
|
|
|
// getTCP()
|
|
|
|
|
|
this.carInfo = AppStorage.get<CarInfoType>('carInfo')!
|
|
|
|
|
|
this.deviceId = this.carInfo.carNo || ""
|
|
|
|
|
|
await SetCurrentTime()
|
|
|
|
|
|
this.timeInfo = AppStorage.get<TimeSynchronizationRspBody>('timeInfo')!
|
|
|
|
|
|
DrivingDataStorage.init(this.context)
|
|
|
|
|
|
DrivingDataStorage.initializeTheDrivingDataFolder()
|
|
|
|
|
|
JudgeUdpBusinessInstance.init()
|
|
|
|
|
|
// TODO 摄像头遮挡
|
|
|
|
|
|
// takePhotoFn(this.context)
|
|
|
|
|
|
clearInterval(this.interval)
|
|
|
|
|
|
this.interval = setInterval(() => {
|
|
|
|
|
|
this.num++
|
|
|
|
|
|
SetSerialNumber()
|
|
|
|
|
|
if (this.num >= 3) {
|
|
|
|
|
|
this.heartMsg()
|
|
|
|
|
|
}
|
|
|
|
|
|
}, 1000)
|
|
|
|
|
|
this.createAlbum()
|
|
|
|
|
|
}
|
2025-04-10 09:30:47 +08:00
|
|
|
|
|
|
|
|
|
|
build() {
|
2025-04-10 10:27:28 +08:00
|
|
|
|
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 () => {
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
// deleteAllPicturesFn()
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/Settings',
|
|
|
|
|
|
}, router.RouterMode.Single);
|
|
|
|
|
|
})
|
|
|
|
|
|
Image($r('app.media.btn_back')).width('14.4%').height('12.2%')
|
|
|
|
|
|
.onClick(() => {
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
this.dialogVisible = true
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.width('100%')
|
|
|
|
|
|
.justifyContent(FlexAlign.SpaceBetween)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Column() {
|
|
|
|
|
|
Row() {
|
|
|
|
|
|
if (!this.singlePlay) {
|
|
|
|
|
|
imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_lw') })
|
|
|
|
|
|
.margin({ left: 80 * this.ratio })
|
|
|
|
|
|
.onClick(async () => {
|
2025-04-11 10:13:29 +08:00
|
|
|
|
this.loadingDialog.open()
|
2025-04-10 10:27:28 +08:00
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
// ||!this.initParamFlag
|
|
|
|
|
|
if (!this.timeInfo) {
|
|
|
|
|
|
AppStorage.setOrCreate('type', 1)
|
|
|
|
|
|
AppStorage.setOrCreate('title', '时间同步接口连接失败')
|
|
|
|
|
|
this.errorDialog.open()
|
|
|
|
|
|
promptAction.showToast({
|
|
|
|
|
|
message: `时间同步接口连接失败`,
|
|
|
|
|
|
duration: 3000
|
|
|
|
|
|
});
|
2025-04-11 10:13:29 +08:00
|
|
|
|
this.loadingDialog.close()
|
2025-04-10 10:27:28 +08:00
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!this.carInfo) {
|
|
|
|
|
|
promptAction.showToast({
|
|
|
|
|
|
message: `车辆信息接口获取失败`,
|
|
|
|
|
|
duration: 3000
|
|
|
|
|
|
});
|
|
|
|
|
|
AppStorage.setOrCreate('type', 1)
|
|
|
|
|
|
AppStorage.setOrCreate('title', '车辆信息接口获取失败')
|
|
|
|
|
|
this.errorDialog.open()
|
2025-04-11 10:13:29 +08:00
|
|
|
|
this.loadingDialog.close()
|
2025-04-10 10:27:28 +08:00
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
this.testXMLToJSONInWorker()
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
if (this.singlePlay) {
|
|
|
|
|
|
imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_dj') })
|
|
|
|
|
|
.margin({ left: 80 * this.ratio })
|
|
|
|
|
|
.onClick(() => {
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
if (JudgeConfig.isTrajectoryOpen) {
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/UserInfo',
|
|
|
|
|
|
}, router.RouterMode.Single)
|
|
|
|
|
|
return
|
|
|
|
|
|
}
|
|
|
|
|
|
//判断数据库是否有表数据,有则直接跳转,没有则读取本地数据
|
|
|
|
|
|
GetSyncData<MASYSSETTableType>('MA_SYSSET').then((data: Array<MASYSSETTableType>) => {
|
|
|
|
|
|
console.log('datadata', JSON.stringify(data))
|
|
|
|
|
|
if (data?.[0]) {
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/UserInfo',
|
|
|
|
|
|
}, router.RouterMode.Single)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.testXMLToJSONInWorker()
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
imageBtn({ btnWidth: '28%', btnHeight: '71%', imgSrc: $r('app.media.index_zj') })
|
|
|
|
|
|
.margin({ right: 80 * this.ratio })
|
|
|
|
|
|
.onClick(() => {
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
router.pushUrl({
|
|
|
|
|
|
url: 'pages/CarCheck'
|
|
|
|
|
|
}, router.RouterMode.Single);
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
.width('100%')
|
|
|
|
|
|
.justifyContent(FlexAlign.SpaceAround)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-04-10 09:30:47 +08:00
|
|
|
|
Column() {
|
2025-04-10 10:27:28 +08:00
|
|
|
|
Row() {
|
|
|
|
|
|
Column() {
|
|
|
|
|
|
Text('V外壳:' + this.baseInfo?.version)
|
|
|
|
|
|
.fontColor('#CCAE7A')
|
|
|
|
|
|
.fontSize(18 * this.ratio)
|
|
|
|
|
|
.width('30%')
|
|
|
|
|
|
.margin({ bottom: 10 })
|
|
|
|
|
|
Text('V评判:' + this.baseInfo.judgeVersion)
|
|
|
|
|
|
.fontColor('#CCAE7A')
|
|
|
|
|
|
.fontSize(18 * this.ratio)
|
|
|
|
|
|
.width('30%')
|
|
|
|
|
|
.margin({ bottom: 10 })
|
|
|
|
|
|
|
|
|
|
|
|
Text('授权信息:' + (this.baseInfo.hasAuth ? '已授权' : '未授权'))
|
|
|
|
|
|
.fontColor('#CCAE7A')
|
|
|
|
|
|
.fontSize(18 * this.ratio)
|
|
|
|
|
|
.width('30%')
|
|
|
|
|
|
}
|
|
|
|
|
|
.margin({ left: 24 })
|
|
|
|
|
|
.gesture(
|
|
|
|
|
|
GestureGroup(GestureMode.Exclusive,
|
|
|
|
|
|
TapGesture({ count: 2 })
|
|
|
|
|
|
.onAction(() => {
|
|
|
|
|
|
// takePhotoFn(this.context)
|
|
|
|
|
|
this.singlePlay = !this.singlePlay
|
|
|
|
|
|
AppStorage.setOrCreate('singlePlay', this.singlePlay)
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
)
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
Text('考车号:' + this.deviceId)
|
|
|
|
|
|
.fontColor('#CCAE7A')
|
|
|
|
|
|
.fontSize(22 * this.ratio)
|
|
|
|
|
|
.margin({ right: 24 })
|
|
|
|
|
|
}
|
|
|
|
|
|
.width('100%')
|
|
|
|
|
|
.justifyContent(FlexAlign.SpaceBetween)
|
|
|
|
|
|
.margin({ bottom: 10 })
|
|
|
|
|
|
}.height(100)
|
|
|
|
|
|
|
2025-04-11 10:13:29 +08:00
|
|
|
|
|
2025-04-10 10:27:28 +08:00
|
|
|
|
if (this.dialogVisible) {
|
|
|
|
|
|
Flex({ justifyContent: FlexAlign.Center }) {
|
|
|
|
|
|
Text('确认是否退出应用')
|
|
|
|
|
|
.fontSize(28 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
.margin({ top: 100 * this.ratio * this.dialogRatio })
|
|
|
|
|
|
Row() {
|
|
|
|
|
|
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
|
|
|
|
|
Text(' 取 消 ')
|
|
|
|
|
|
.fontSize(24 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
.fontColor('#fff')
|
|
|
|
|
|
.width(100 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
}
|
|
|
|
|
|
.commStyle()
|
|
|
|
|
|
.onClick(() => {
|
|
|
|
|
|
this.dialogVisible = false
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
}).margin({ right: 10 * this.ratio })
|
|
|
|
|
|
|
|
|
|
|
|
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
|
|
|
|
|
Text(' 确 定 ')
|
|
|
|
|
|
.fontSize(24 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
.fontColor('#fff')
|
|
|
|
|
|
.width(100 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
}
|
|
|
|
|
|
.commStyle()
|
|
|
|
|
|
.onClick(() => {
|
|
|
|
|
|
// this.vocObj.playAudio({
|
|
|
|
|
|
// type: 1,
|
|
|
|
|
|
// name: 'button_media.wav'
|
|
|
|
|
|
// })
|
|
|
|
|
|
router.back()
|
|
|
|
|
|
})
|
|
|
|
|
|
}.position({ y: 265 * this.ratio * this.dialogRatio, x: 115 * this.ratio * this.dialogRatio })
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
.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) })
|
|
|
|
|
|
.backgroundColor('#E6E3DF')
|
|
|
|
|
|
.borderRadius(19 * this.ratio * this.dialogRatio)
|
|
|
|
|
|
}
|
|
|
|
|
|
if (this.delLoading) {
|
|
|
|
|
|
Column() {
|
|
|
|
|
|
Image($r('app.media.open_loading'))
|
|
|
|
|
|
.width(200 * this.ratio)
|
|
|
|
|
|
.rotate({ angle: this.angle })
|
|
|
|
|
|
.height(200 * this.ratio)
|
|
|
|
|
|
.animation({
|
|
|
|
|
|
duration: 5000, // 动画时长
|
|
|
|
|
|
curve: Curve.EaseOut, // 动画曲线
|
|
|
|
|
|
delay: 500, // 动画延迟
|
|
|
|
|
|
iterations: -1, // 播放次数
|
|
|
|
|
|
playMode: PlayMode.Normal, // 动画模式
|
|
|
|
|
|
})
|
|
|
|
|
|
.margin({ top: 30 * this.ratio })
|
|
|
|
|
|
|
|
|
|
|
|
Text('正在清理本地数据,请稍候……')
|
|
|
|
|
|
.fontSize(24 * this.ratio)
|
|
|
|
|
|
.margin({ top: 20 * this.ratio })
|
|
|
|
|
|
.fontWeight(400)
|
|
|
|
|
|
}
|
|
|
|
|
|
.visibility(this.delLoading ? Visibility.Visible : Visibility.Hidden)
|
|
|
|
|
|
.width(660 * this.ratio)
|
|
|
|
|
|
.height(360 * this.ratio)
|
|
|
|
|
|
.position({ x: 150 * this.ratio, y: 98 * this.ratio })
|
|
|
|
|
|
.backgroundColor('#E6E3DF')
|
|
|
|
|
|
.borderRadius(19 * this.ratio)
|
|
|
|
|
|
}
|
2025-04-10 09:30:47 +08:00
|
|
|
|
}
|
2025-04-10 10:27:28 +08:00
|
|
|
|
.width('100%')
|
2025-04-10 09:30:47 +08:00
|
|
|
|
.height('100%')
|
2025-04-10 10:27:28 +08:00
|
|
|
|
.justifyContent(FlexAlign.SpaceBetween)
|
|
|
|
|
|
.backgroundImage($r('app.media.index_bg'))
|
|
|
|
|
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
2025-04-10 09:30:47 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|