From a12d8c79e9f9a5eaa65b04a2cc09fd1b7ecb6f25 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Sat, 4 Jan 2025 13:51:34 +0800 Subject: [PATCH 1/3] 1 --- .../main/ets/common/service/indexService.ts | 26 +-------- .../main/ets/common/service/videoService.ts | 28 +++++----- entry/src/main/ets/pages/Index.ets | 54 +++++++++++-------- entry/src/main/ets/pages/index.json | 1 - 4 files changed, 45 insertions(+), 64 deletions(-) delete mode 100644 entry/src/main/ets/pages/index.json diff --git a/entry/src/main/ets/common/service/indexService.ts b/entry/src/main/ets/common/service/indexService.ts index a6253b3b..26c509ae 100644 --- a/entry/src/main/ets/common/service/indexService.ts +++ b/entry/src/main/ets/common/service/indexService.ts @@ -16,7 +16,7 @@ import { import { GlobalConfig } from '../../config/index' import testNapi from '@ohos.hiserialsdk' import fs from '@ohos.file.fs'; -import {deleteAllPicturesFn} from './videoService' + let num = 0 async function getliushuiNum(data) { @@ -94,31 +94,7 @@ export async function setVideoParam() { } let fileFd -export async function delHilog(day=7) { - return new Promise(async (reslove)=>{ - const fileUtil = new FileUtil(globalThis.context) - const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/hilogTime.txt'); - const folderPath = await fileUtil.initFolder(`/config`); - console.log('kkkkmmm2', data) - if (data === '' || data === undefined) { - const date = dateFormat(new Date()).split(' ')[0] - console.log('mm'.date) - fileUtil.addFile(`${folderPath}/hilogTime.txt`, date) - } else { - console.log('kkkkmmm2', data) - console.log('datadata', data, isSevenDaysAgo(data)) - if (isSevenDaysAgo(data,day)) { - const date = dateFormat(new Date()).split(' ')[0] - fileUtil.addFile(`${folderPath}/hilogTime.txt`, date) - // deleteAllFileByPiC('pz', 1) - await deleteAllPicturesFn() - reslove(true) - // fileUtil.addFile(`${folderPath}/hilogTime.txt`, JSON.stringify(num)) - } - } - }) -} //配置流水号 export async function setliushuiNum() { const data = AppStorage.get('liushuiNo') diff --git a/entry/src/main/ets/common/service/videoService.ts b/entry/src/main/ets/common/service/videoService.ts index fb06595c..cd461dca 100644 --- a/entry/src/main/ets/common/service/videoService.ts +++ b/entry/src/main/ets/common/service/videoService.ts @@ -45,14 +45,16 @@ export async function startRecordVideo(param, td, context, dir, path?, index?) { console.log(`Rtsprecord startRecordVideo begin,video_uri`, video_uri); const num = Math.floor(Math.random() * 10000) let fileName + const time = await getCurrentTime() + const date = time.split(' ')[0] if (!path) { - fileName = `movie_record${num}.mp4` + fileName = `${date}_movie_record${num}.mp4` } else { - fileName = `${path}_${index || num}.mp4` + fileName = `${date}_${path}_${index || num}.mp4` } // @ts-ignore - var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, dir); + var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date,dir); const handleId = recordResult.dataInt; reslove(handleId) } @@ -180,7 +182,6 @@ interface takePhotoParam { const fileHelper = new FileHelper(); export async function delPic(day,type) { - return new Promise(async reslove=>{ let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(globalThis.context); console.info('albumGetAssetsDemoCallback'); let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); @@ -196,14 +197,13 @@ export async function delPic(day,type) { let albums = await albumList.getAllObjects(); for(let i=0;i<=albums.length;i++){ let albumName=albums[i].albumName - if (isSevenDaysAgo(albumName, day) &&albumName!='jt'&&albumName!='pz') { - await deleteAllFileByPiC(albumName, type) + // isSevenDaysAgo(albumName, day) + console.log('albumNamealbumName',albumName) + if (isSevenDaysAgo(albumName, day)&&albumName!='jt'&&albumName!='pz') { + deleteAllFileByPiC(albumName, type) + } } - reslove(true) - }) - - return } export async function takePhoto(param, context, dir, flag = 1, callback?) { @@ -227,11 +227,8 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) { return new Promise(async (resolve, reject) => { const time = await getCurrentTime() const date = time.split(' ')[0] - // let dirName=dir?dir:date let dirName=dir?dir:date rtsp_server.getVideoSnapshot(context, video_uri, fileName,dirName, true,async (err, snapResult) => { - console.log('baoyihubaoyihu', video_uri, flag,fileName,dirName, JSON.stringify(snapResult.fileSize)) - console.log('getPhtot', JSON.stringify(snapResult)) if(snapResult.result&&snapResult.errorCode==0){ resolve({ base64: snapResult.dataString, @@ -253,15 +250,14 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) { } } export async function deleteAllPicturesFn(){ - await fileHelper.deleteAllPictures(); - await deleteAllVideos(globalThis.context,photoAccessHelper.AlbumType.USER,photoAccessHelper.AlbumSubtype.VIDEO) + fileHelper.deleteAllPictures(); + deleteAllVideos(globalThis.context,photoAccessHelper.AlbumType.USER,photoAccessHelper.AlbumSubtype.VIDEO) } //type:1 是图片 2是视频 export async function deleteAllFileByPiC(dirName, type = 1) { // const fileHelper = new FileHelper(); - console.log('deleteFileOfAlbum',dirName,type) fileHelper.deleteFileOfAlbum(dirName, type); } diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 29a48a2b..7aef4837 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -10,7 +10,7 @@ import { getUDP, getUDP2 } from '../common/utils/GlobalUdp'; import { initJudgeUdp } from '../common/utils/UdpJudge'; import { judgeConfig } from './judgeSDK/utils/judgeConfig'; import { getTCP } from '../common/utils/GlobalTcp'; -import { setliushuiNum, takePhotoFn, setVideoParam, delHilog } from '../common/service/indexService'; +import { setliushuiNum, takePhotoFn, setVideoParam } from '../common/service/indexService'; import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'; import worker, { MessageEvents } from '@ohos.worker'; import promptAction from '@ohos.promptAction' @@ -42,11 +42,11 @@ struct Index { @State angle: number = 0 @State dialogRatio: number = 0.8 @State ratio: number = 1700 / 960 - @State loading: boolean = true + @State delLoading: boolean = false + @State loading: boolean = false @State initParamFlag: boolean = false @State fd: number = -1; @State num: number = 0; - @State delLoading: boolean = true; fileHelper = null; private fileUtil: FileUtil private interval = null; @@ -296,10 +296,9 @@ struct Index { .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){ + if (this.delLoading) { Column() { Image($r('app.media.open_loading')) .width(200 * globalThis.ratio) @@ -314,18 +313,19 @@ struct Index { }) .margin({ top: 30 * globalThis.ratio }) - Text('正在清理本地资源文件,请稍候……') + Text('正在清理本地数据,请稍候……') .fontSize(24 * globalThis.ratio) .margin({ top: 20 * globalThis.ratio }) .fontWeight(400) } - .visibility(this.loading ? Visibility.Visible : Visibility.Hidden) + .visibility(this.delLoading ? 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) } + if (this.loading) { Column() { Image($r('app.media.open_loading')) @@ -368,14 +368,35 @@ struct Index { async aboutToAppear() { console.log('diyidiy') + this.avPlayer = new VoiceAnnounce(); this.initParamFlag=false + this.delLoading=false this.dialogVisiable = false this.angle = 0 this.loading = false globalThis.lsh = '1111111111111' globalThis.errorDialog = this.errorDialog globalThis.udpEvent = new UdpEvent(); + 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 + + } + }) + }); } @@ -411,6 +432,7 @@ struct Index { console.log("baoyihu after postMessage :", JSON.stringify(e.data)); // @ts-ignore let workData: WorkData = e.data; + this.loading = false if (workData.isComplete) { if(globalThis.singlePlay){ router.pushUrl({ @@ -418,7 +440,7 @@ struct Index { }, router.RouterMode.Single) return } - getSyncData('MA_SYSSET').then(async(data) => { + getSyncData('MA_SYSSET').then(data => { console.log('datadata', JSON.stringify(data)) // @ts-ignore data.forEach(sys => { @@ -426,10 +448,6 @@ struct Index { if(sys.v_no === '854'){ globalThis.param854Str=sys.v_value } - if(sys.v_no === '305'){ - delPic(Number(sys.v_value),1) - delPic(Number(sys.v_value),2) - } if (sys.v_no === '824'&&decodeURIComponent(sys.v_value)=='0') { // this.Param612Str= decodeURIComponent(sys.v_value) router.pushUrl({ @@ -444,8 +462,6 @@ struct Index { }, router.RouterMode.Single) } }) - this.loading = false - }); } @@ -479,16 +495,11 @@ struct Index { } } async onPageShow() { + console.log('ttttt', 1111) await this.userAuth(); - let resourceManager = this.context.resourceManager; - - // this.vocObj = new voiceService(async (status, val, next) => { - // }); - console.log('globalThis.singlePlay', globalThis.singlePlay) if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) { // setVideoParam() - console.log('diyidiy') this.context.resourceManager.getRawFileContent("welcome.wav").then(value => { this.avPlayer.playAudio(['welcome.wav']) @@ -516,6 +527,7 @@ struct Index { const time = await getCurrentTime() const date = time.split(' ')[0] this.fileHelper.createAlbum('jt') + // this.fileHelper.createAlbum('2025-01-02') this.fileHelper.createAlbum('pz'); this.fileHelper.createAlbum(date); @@ -586,9 +598,7 @@ struct Index { this.heartMsg() } }, 1000) - // this.createAlbum() - //下载模型 // await this.getModel() // const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00] diff --git a/entry/src/main/ets/pages/index.json b/entry/src/main/ets/pages/index.json deleted file mode 100644 index 2f41c30e..00000000 --- a/entry/src/main/ets/pages/index.json +++ /dev/null @@ -1 +0,0 @@ - {"code":1,"data":{"videoChapterList":[{"chapterId":"8","chapterName":"第一章:驾驶证的基本信息、申领和使用","code":"1001","name":"驾驶证申领与使用机动车登记","subjectType":"1","count":"4","chapterVideoList":[{"videoId":"95","name":"第一课:准驾车型","title":"准驾车型是指什么样的驾驶证能开什么样的车,我国总计有16种驾照,按照ABCD的顺序划分。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822259WBGURTDW.png","videoUrl":"https://ddjdvideo.duolunxc.com/d8cca146136b4036a193ec1c72a1ad84/2e2c2ed873d24f239cd5ca1cb9756bd1-81fdf63dd56b4dfce8ee63e8807d291f-ld.m3u8?auth_key=1726196458-4dd8bdf313b945808f2a62032d00d846-0-14b7843e2ba491a1918177784e37d772","viewCount":50766,"questCount":0,"isView":"0"},{"videoId":"61","name":"第二课:驾驶证的申请条件","title":"驾驶证申请条件,分为年龄条件、身体条件和禁止条件。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/16588222718TK8QETW.png","videoUrl":"https://ddjdvideo.duolunxc.com/b95873736b3e4f1dbd94159c4f88d3c2/fb0562a3d19b40189f7dc2ce8d2b18f6-b8ca137e222c55292b19abeb9472f7b4-ld.m3u8?auth_key=1726196458-185f9fc53e614fd7bc117f2f16e87066-0-9b40a712d59de2385daf195af77df644","viewCount":55988,"questCount":0,"isView":"0"},{"videoId":"96","name":"第三课:初次申请及增加准驾车型","title":"准驾车型的16种车型中有三种是不可以初次申请的,包括大型客车A1、牵引车A2、中型客车B1。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822248BLOG5F77.png","videoUrl":"https://ddjdvideo.duolunxc.com/583e26489a714e0c9713de49e297cd52/f8a0eb3a29924468a2be4278b82e84d1-39adbbdba4e730b4615416e186981d91-ld.m3u8?auth_key=1726196459-f37ddff500984ad9913a457914d4b7d9-0-33fa677f8c8e2f2c384d5a133a5a7511","viewCount":19449,"questCount":0,"isView":"0"},{"videoId":"97","name":"第四课:驾驶考试","title":"驾驶考试的内容及标准。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822237ECGG1PQV.png","videoUrl":"https://ddjdvideo.duolunxc.com/84b4a019330b41b48b93818596e1baa2/6a0b423ba95f41f5834ea3c6c4e7e6ab-184dc5731e236cb26fe1a6abf890ae4f-ld.m3u8?auth_key=1726196459-a1daf329320a49b0a19d36c16fbcd398-0-a99a54448590acfde0d26fa0de3dcdd3","viewCount":18434,"questCount":0,"isView":"0"}]},{"chapterId":"10","chapterName":"第一章:文明驾驶","code":"4001","name":"安全文明驾驶常识","subjectType":"4","count":"3","chapterVideoList":[{"videoId":"111","name":"第一课:安全驾驶基础知识","title":"驾驶机动车上道路行驶,驾驶人首先要确保自己处于良好的驾驶状态,避免不文明的驾驶状态和行为会为自己和他人的生命安全埋下隐患。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822228B0QUTOS9.png","videoUrl":"https://ddjdvideo.duolunxc.com/a9c572ca6fb24c0b86c4bb822bc9559d/3b9c3452052d48c695d3bc7701b7e0d2-beb7fa718d09f342c0343f248501ec10-ld.m3u8?auth_key=1726196459-c79a4890ea2745ceb312469186afdfa0-0-47b4001a778636678c70c2feb4d42586","viewCount":22494,"questCount":0,"isView":"0"},{"videoId":"112","name":"第二课:常见的不文明驾驶行为","title":"不遵守交通法律法规的行为,既属于违法行为,也是不文明的驾驶行为,驾驶人应该增加文明驾驶意识,自觉遵守交通规则,安全第一。","photoUrl":"https://duolunstorage.oss-cn-hangzhou.aliyuncs.com/archive/ddjd/202207/1658822219GA9GTG2J.png","videoUrl":"https://ddjdvideo.duolunxc.com/1bdea813f93a456e890defd3f6d24a42/178aa73b657444989b543dfcd386b4ab-2045d439a68331e4c7b8b1a511d698e1-ld.m3u8?auth_key=1726196459-6d161bab98394c8f981a5df4b07ff77f-0-9527085c0efc3ca3befcb4025b1db1a5","viewCount":10562,"questCount":0,"isView":"0"},{"videoId":"113","name":"第三课:文明礼让驾驶","title":"文明驾驶是驾驶人良好行为习惯和道德修养的表现,也是保障道路交通安全和谐的基础 \ No newline at end of file From e828c532de20048f9572a54d7ddae734e3964c8c Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Sat, 4 Jan 2025 14:27:45 +0800 Subject: [PATCH 2/3] user --- .../src/main/ets/entryability/EntryAbility.ts | 4 +- entry/src/main/ets/pages/UserInfo.ets | 318 ++++++++++-------- 2 files changed, 184 insertions(+), 138 deletions(-) diff --git a/entry/src/main/ets/entryability/EntryAbility.ts b/entry/src/main/ets/entryability/EntryAbility.ts index 76776797..882125d5 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ts +++ b/entry/src/main/ets/entryability/EntryAbility.ts @@ -57,8 +57,8 @@ export default class EntryAbility extends UIAbility { const windowClass = await windowStage.getMainWindow(); globalThis.windowClass = windowClass - await windowClass.setWindowLayoutFullScreen(true) - // await windowClass.setWindowSystemBarEnable([]) //全屏 + // await windowClass.setWindowLayoutFullScreen(true) + await windowClass.setWindowSystemBarEnable([]) //全屏 // await windowClass.setWindowSystemBarEnable(['navigation']) windowStage.loadContent('pages/Index', (err, data) => { diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index 14d2ae68..529de1b1 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -23,7 +23,7 @@ import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; import { judgeConfig } from './judgeSDK/utils/judgeConfig'; import { initJudgeUdp } from '../common/utils/UdpJudge'; import errorMsgDialog from './compontents/errorMsgDialog' -import { delPic } from '../common/service/videoService'; +import { delPic } from '../common/service/videoService'; import { getCurrentHourTime } from '../common/utils/tools'; import imageBtn from './compontents/imageBtn' @@ -81,21 +81,21 @@ struct UserInfo { @State faceFlag: string = '0'; @State FaceOpenStatue: string = '0'; //是否开启人脸识别 @State faceCatchImg: string = '' - @State systemParam:systemParam={ - 'Param341':true,//是否按顺序考试 - 'Param803Str':'0',//开始考试前必须解开安全带或关车门 - 'Param612Str':'0',//开始考试触发方式 - 'Param770Str':'0',//车上没有缺考功能 - 'Param305Str':'0',//视频保存天数 - 'Param352Str':'0',//车上考试过一次就不能缺考 - 'Param828Str':'0',//828考生待考界面,安全员显示考试员 - 'Param830Str':'0',//同一学员连续第二次考试时不再验证身份 - 'Param364':'0',//考前上车准备 - 'Param398':'0',//考前上车准备 + @State systemParam: systemParam = { + 'Param341': true, //是否按顺序考试 + 'Param803Str': '0', //开始考试前必须解开安全带或关车门 + 'Param612Str': '0', //开始考试触发方式 + 'Param770Str': '0', //车上没有缺考功能 + 'Param305Str': '0', //视频保存天数 + 'Param352Str': '0', //车上考试过一次就不能缺考 + 'Param828Str': '0', //828考生待考界面,安全员显示考试员 + 'Param830Str': '0', //同一学员连续第二次考试时不再验证身份 + 'Param364': '0', //考前上车准备 + 'Param398': '0', //考前上车准备 } private title = '' private type = '2' - @State startExam:boolean=false + @State startExam: boolean = false // 过程照片拍照 getPhoto = async (empty?: boolean) => { const singlePlay = globalThis.singlePlay @@ -134,15 +134,17 @@ struct UserInfo { alignment: DialogAlignment.Center, }, ) - aboutToAppear(){ + + aboutToAppear() { this.avPlayer = new VoiceAnnounce(); } + async onPageShow() { this.isExamStart = false - this.startExam=false + this.startExam = false this.updateTimeLimit = false this.ksksLimit = false - this.currentUser=EmptyCandidateObject + this.currentUser = EmptyCandidateObject const mediaTest = new FilePhoto(this.context); this.filePhoto = new FilePhoto(this.context); //语音功能on @@ -161,22 +163,22 @@ struct UserInfo { this.list = await getSyncData('USERLIST') // @ts-ignore const data = await getSyncData('USER') - console.log('useruser,',JSON.stringify(this.list)) - console.log('useruser1,',JSON.stringify(data)) + console.log('useruser,', JSON.stringify(this.list)) + console.log('useruser1,', JSON.stringify(data)) const user = data[0] if (user && Number(user.kssycs)) { - let flag=false + let flag = false this.list.forEach(res => { if (res.sfzmhm == user.sfzmhm) { - flag=true + flag = true res.kssycs = user.kssycs this.getCurrentStudent(res.sfzmhm) } }) - if(!flag){ - this.currentUser=(this.list.length?this.list[0]:EmptyCandidateObject) + if (!flag) { + this.currentUser = (this.list.length ? this.list[0] : EmptyCandidateObject) } } else if (user && (user.kssycs == '0' || user.kssycs == '')) { @@ -186,15 +188,31 @@ struct UserInfo { }) this.pageIndex = 0 this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - if (this.dataList.length) { - setTimeout(()=>{ - this.currentUser = this.dataList[0] - this.currentUser.ksy2= globalThis.kgxm - globalThis.lsh=this.currentUser.lsh - },200) - } else { - this.currentUser = EmptyCandidateObject + const data = await getSyncData('USER') + const user = data[0] + if (user && Number(user.kssycs)) { + let flag = false + this.list.forEach(res => { + if (res.sfzmhm == user.sfzmhm) { + flag = true + res.kssycs = user.kssycs + this.getCurrentStudent(res.sfzmhm) + } + }) + if (!flag) { + this.currentUser = (this.list.length ? this.list[0] : EmptyCandidateObject) + } } + // if (this.dataList.length) { + // + // setTimeout(()=>{ + // this.currentUser = this.dataList[0] + // this.currentUser.ksy2= globalThis.kgxm + // globalThis.lsh=this.currentUser.lsh + // },200) + // } else { + // this.currentUser = EmptyCandidateObject + // } } this.list.forEach((res, index) => { res.id = index.toString() @@ -221,11 +239,11 @@ struct UserInfo { initJudgeUdp() //监听远程开始考试 - globalThis.udpEvent.onBeginExam(async ()=>{ - console.info('surenjun','userInfo收到UdpEvent事件') + globalThis.udpEvent.onBeginExam(async () => { + console.info('surenjun', 'userInfo收到UdpEvent事件') if (this.isBoardPrePareSetPopupOpen && !this.isFirstBoardPrePareSetPopupBtnShow) { await this.prePareSCZB() - }else{ + } else { await this.prePareExam() } }) @@ -254,16 +272,16 @@ struct UserInfo { async getCurrentStudent(id) { let flag = false // this.pageIndex - console.log('currentidid',id) + console.log('currentidid', id) this.list.map((res, index) => { - console.log('tttt',res.sfzmhm,res.xm) + console.log('tttt', res.sfzmhm, res.xm) if (res.sfzmhm == id) { flag = true - this.currentUser=EmptyCandidateObject - setTimeout(()=>{ + this.currentUser = EmptyCandidateObject + setTimeout(() => { this.currentUser = res - this.currentUser.ksy2= globalThis.kgxm - },200) + this.currentUser.ksy2 = globalThis.kgxm + }, 200) globalThis.lsh = res.lsh globalThis.ksyh = res.ksy1sfzmhm @@ -291,12 +309,12 @@ struct UserInfo { if (!flag) { globalThis.lsh = '0000000000000' await upDateTableByArray('USER', []) - setTimeout(()=>{ + setTimeout(() => { this.currentUser = this.list[0] - this.currentUser.ksy2= globalThis.kgxm + this.currentUser.ksy2 = globalThis.kgxm globalThis.lsh = this.currentUser.lsh - },200) + }, 200) // promptAction.showToast({ // message: '未匹配到对应下载学员', @@ -379,7 +397,7 @@ struct UserInfo { this.pageIndex = 0 this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) this.currentUser = this.dataList[0] - this.currentUser.ksy2= '' + this.currentUser.ksy2 = '' this.lsh = this.currentUser.lsh globalThis.ksyh = this.currentUser.ksy1sfzmhm @@ -433,11 +451,11 @@ struct UserInfo { that.ksxtbh = ksxtbhArr?.[0]?.v_value || '222' const studentRefreshParam = syssetParams.filter(sys => sys.v_no === '452') //判断自动更新 that.studentRefreshStatue = studentRefreshParam?.[0]?.v_value || '0' - const openCheckFlagParam = syssetParams.filter(sys => sys.v_no == '17') //0 + const openCheckFlagParam = syssetParams.filter(sys => sys.v_no == '17') //0 const openCheckFlag = openCheckFlagParam?.[0]?.v_value == '1' ? '1' : '0' - const faceParam = syssetParams.filter(sys => sys.v_no == '2413') //3 - console.log('FaceOpenStatue',openCheckFlag,this.FaceOpenStatue) + const faceParam = syssetParams.filter(sys => sys.v_no == '2413') //3 + console.log('FaceOpenStatue', openCheckFlag, this.FaceOpenStatue) // 1身份证读卡器 2指纹 3人脸 if (openCheckFlag == '1') { that.FaceOpenStatue = faceParam?.[0]?.v_value == '3' ? '1' : '0' @@ -449,13 +467,13 @@ struct UserInfo { syssetParams.forEach(sys => { //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) if (sys.v_no === '364' && decodeURIComponent(sys.v_value) == '2') { - this.systemParam.Param364=sys.v_value + this.systemParam.Param364 = sys.v_value that.isBoardPrePareSetPopupOpen = true; that.isFirstBoardPrePareSetPopupBtnShow = false } //398参数为1 第二场考试上车准备不考 - if(sys.v_no === '398' && decodeURIComponent(sys.v_value) == '1'){ + if (sys.v_no === '398' && decodeURIComponent(sys.v_value) == '1') { that.systemParam.Param398 = decodeURIComponent(sys.v_value) that.isSecondBoardPrePareSetPopupOpen = true; } @@ -469,36 +487,36 @@ struct UserInfo { that.systemParam.Param803Str = sys.v_value + ''; } //判断是否考生是否按顺序考试 - if (sys.v_no === '341'&&decodeURIComponent(sys.v_value) == '1') { - that.systemParam.Param341= true - }else{ + if (sys.v_no === '341' && decodeURIComponent(sys.v_value) == '1') { + that.systemParam.Param341 = true + } else { //todo - that.systemParam.Param341= true + that.systemParam.Param341 = true } //开始考试触发方式 if (sys.v_no === '612') { - that.systemParam.Param612Str= decodeURIComponent(sys.v_value) + that.systemParam.Param612Str = decodeURIComponent(sys.v_value) } //车上考试过一次就不能缺考 if (sys.v_no === '352') { - that.systemParam.Param352Str= decodeURIComponent(sys.v_value) + that.systemParam.Param352Str = decodeURIComponent(sys.v_value) } //828考生待考界面,安全员显示考试员 if (sys.v_no === '828') { - that.systemParam.Param828Str= decodeURIComponent(sys.v_value) - if(that.systemParam.Param828Str=='1'){ - that.labelBlocks[5].label='安全员名' - }else{ - that.labelBlocks[5].label='考试员名' + that.systemParam.Param828Str = decodeURIComponent(sys.v_value) + if (that.systemParam.Param828Str == '1') { + that.labelBlocks[5].label = '安全员名' + } else { + that.labelBlocks[5].label = '考试员名' } - that.labelBlocks=JSON.parse(JSON.stringify(this.labelBlocks)) + that.labelBlocks = JSON.parse(JSON.stringify(this.labelBlocks)) } //视频保存天数 if (sys.v_no === '305') { - that.systemParam.Param305Str= decodeURIComponent(sys.v_value) - if(!Number(this.systemParam.Param305Str)){ - that.systemParam.Param305Str='2' + that.systemParam.Param305Str = decodeURIComponent(sys.v_value) + if (!Number(this.systemParam.Param305Str)) { + that.systemParam.Param305Str = '2' } // console.log('Param305Str',that.systemParam.Param305Str) // delHilog(this.Param305Str) @@ -512,28 +530,28 @@ struct UserInfo { //0不自动更新 1自动更新(不限次数) 2没有考生更新2次 if (that.studentRefreshStatue == '2') { - if(that.list.length == 0){ + if (that.list.length == 0) { clearInterval(that.interval) that.interval = setInterval(() => { if (that.numCount < 3) { that.numCount++ - if(that.list.length==0){ + if (that.list.length == 0) { that.getExaminationStudentInfoFn() } } }, 5000) - }else{ + } else { that.getExaminationStudentInfoFn() } } else if (that.studentRefreshStatue == '1') { - if(that.list.length == 0){ + if (that.list.length == 0) { clearInterval(that.interval) that.interval = setInterval(() => { - if(that.list.length==0){ + if (that.list.length == 0) { that.getExaminationStudentInfoFn() } }, 5000) - }else{ + } else { that.getExaminationStudentInfoFn() } } else { @@ -579,9 +597,9 @@ struct UserInfo { } // this.isBoardPrePareSetPopupOpen=true - this.isFirstBoardPrePareSetPopupBtnShow=false - console.log('isFirstBoardPrePareSetPopupBtnShow',this.isFirstBoardPrePareSetPopupBtnShow,this.isBoardPrePareSetPopupOpen) - this.startExam=false + this.isFirstBoardPrePareSetPopupBtnShow = false + console.log('isFirstBoardPrePareSetPopupBtnShow', this.isFirstBoardPrePareSetPopupBtnShow, this.isBoardPrePareSetPopupOpen) + this.startExam = false await upDateTableByArray('USER', []) await upDateTableByArray('USERLIST', []) this.type = '2' @@ -617,19 +635,19 @@ struct UserInfo { this.list = JSON.parse(JSON.stringify(dataList)) this.list.forEach((listData, index) => { //考过一次不允许切换学员 - if(listData.kssycs=='1'){ - this.startExam=true + if (listData.kssycs == '1') { + this.startExam = true } listData.id = index.toString() for (let i in listData) { listData[i] = decodeURI(listData[i]) } - if(this.systemParam.Param828Str=='1'||this.systemParam.Param828Str=='2'){ + if (this.systemParam.Param828Str == '1' || this.systemParam.Param828Str == '2') { // listData.ksy2=listData.ksy1; - listData.ksy2=globalThis.kgxm - }else{ + listData.ksy2 = globalThis.kgxm + } else { // listData.ksy2=listData.ksy2; - listData.ksy2=globalThis.kgxm + listData.ksy2 = globalThis.kgxm } listData.kszp = this.photo + listData.kszp listData.ksmjzp = this.photo + listData.ksmjzp @@ -638,26 +656,50 @@ struct UserInfo { dataList = this.list.length > 4 ? this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) : this.list; this.dataList = dataList - const flag=dataList.filter((res)=>{ - return res.sfzmhm==this.currentUser.sfzmhm - }).length?true:false - if(!this.currentUser.sfzmhm||this.currentUser.kssycs=='0'||!flag){ - if (this.dataList.length) { - setTimeout(()=>{ - this.currentUser = this.dataList[0] - this.currentUser.ksy2= globalThis.kgxm - globalThis.lsh=this.currentUser.lsh - },200) - console.log('this.currentUser1',JSON.stringify(this.currentUser)) + const user = this.dataList.filter(res => { + res.kssycs = '1' + }) + if (this.dataList.length) { + if (user.length) { + setTimeout(() => { + this.currentUser = user[0] + this.currentUser.ksy2 = globalThis.kgxm + globalThis.lsh = this.currentUser.lsh + globalThis.ksyh = this.currentUser.ksy1sfzmhm + }, 200) } else { - this.currentUser = EmptyCandidateObject + setTimeout(() => { + this.currentUser = this.dataList[0] + this.currentUser.ksy2 = globalThis.kgxm + globalThis.ksyh = this.currentUser.ksy1sfzmhm + globalThis.lsh = this.currentUser.lsh + }, 200) } + } else { + this.currentUser = EmptyCandidateObject } - this.lsh = this.currentUser.lsh - globalThis.lsh = this.lsh - globalThis.ksyh = this.currentUser.ksy1sfzmhm + // const flag=dataList.filter((res)=>{ + // return res.sfzmhm==this.currentUser.sfzmhm + // }).length?true:false + // if(!this.currentUser.sfzmhm||this.currentUser.kssycs=='0'||!flag){ + // if (this.dataList.length) { + // setTimeout(()=>{ + // this.currentUser = this.dataList[0] + // this.currentUser.ksy2= globalThis.kgxm + // globalThis.lsh=this.currentUser.lsh + // },200) + // console.log('this.currentUser1',JSON.stringify(this.currentUser)) + // } else { + // this.currentUser = EmptyCandidateObject + // } + // } + + + // this.lsh = this.currentUser.lsh + // globalThis.lsh = this.lsh + // globalThis.ksyh = this.currentUser.ksy1sfzmhm //364 绕车一周评判时机(1-开始考试后判 2-开始考试前判) if (this.systemParam.Param364 == '2') { @@ -666,7 +708,7 @@ struct UserInfo { } //398参数为1 第二场考试上车准备不考 - if(this.systemParam.Param398 == '1'){ + if (this.systemParam.Param398 == '1') { this.isSecondBoardPrePareSetPopupOpen = true; } @@ -689,7 +731,7 @@ struct UserInfo { } qkFn() { - if(this.systemParam.Param352Str=='1'&&this.currentUser.kssycs=='1'){ + if (this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') { return } this.faceCompareSucess = 0 @@ -771,14 +813,14 @@ struct UserInfo { this.isLoadingPopupVisible = true avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => { - console.info('surenjun','播放结束开始考试接口调用') + console.info('surenjun', '播放结束开始考试接口调用') const {code,keystr,message} = await this.beginExam() || {}; - console.info('surenjun','开始考试接口调用结束') + console.info('surenjun', '开始考试接口调用结束') // console.info('surenjun',code +'') //@ts-ignore TODO code转换 if (code != 1) { - avPlayer.playAudio([code == -200?'voice/photo_error.mp3':'voice/监管审核未通过.mp3']); + avPlayer.playAudio([code == -200 ? 'voice/photo_error.mp3' : 'voice/监管审核未通过.mp3']); this.isLoadingPopupVisible = false this.isExamStart = false promptAction.showToast({ @@ -798,7 +840,7 @@ struct UserInfo { sczb: Number(this.isBoardPrePareSetPopupOpen), kfdm: this.sczbkf, //真实监管项目 - kString: decodeURIComponent( keystr || '') + kString: decodeURIComponent(keystr || '') } }, router.RouterMode.Single); this.updateTimeLimit = false @@ -811,7 +853,7 @@ struct UserInfo { async checkSignal(): Promise { const {isCheckFireOpen} = judgeConfig const {systemParam,isBoardPrePareSetPopupOpen} = this; - const Param803Str=systemParam.Param803Str + const Param803Str = systemParam.Param803Str if (Param803Str === '') { return true } @@ -920,10 +962,10 @@ struct UserInfo { const date = new Date() globalThis.startHourTime = await getCurrentHourTime() const photoBase64 = await this.getPhoto(); - if(photoBase64==''){ - this.ksksLimit= false - this.isLoadingPopupVisible=false - return {code:-200} + if (photoBase64 == '') { + this.ksksLimit = false + this.isLoadingPopupVisible = false + return { code: -200 } } const drvexam = { lsh: this.currentUser.lsh || '', @@ -968,9 +1010,8 @@ struct UserInfo { } } - //开始考试准备 - prePareExam = async() => { + prePareExam = async () => { if (this.ksksLimit) { return } @@ -1000,12 +1041,12 @@ struct UserInfo { this.stopDeviceById() return } - console.log('this.FaceOpenStatuethis.FaceOpenStatue',this.FaceOpenStatue) + console.log('this.FaceOpenStatuethis.FaceOpenStatue', this.FaceOpenStatue) if (this.FaceOpenStatue != '0') { // 同一学员连续第二次考试时不再验证身份 - if(this.currentUser.kssycs=='1'&&this.systemParam.Param830Str=='1'){ + if (this.currentUser.kssycs == '1' && this.systemParam.Param830Str == '1') { this.sfbdinterfaceFn() - }else{ + } else { this.showFaceCompare = true } } else { @@ -1064,17 +1105,17 @@ struct UserInfo { .backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') : $r('app.media.userboxbg')) .backgroundImageSize({ width: '100%', height: '100%' }) .onClick(() => { - console.log('this.startExam',this.startExam,this.systemParam.Param364,this.isExamStart) - if ((this.isExamStart && !globalThis.singlePlay&&this.systemParam.Param341)||(this.startExam&&this.systemParam.Param364=='2')) { + console.log('this.startExam', this.startExam, this.systemParam.Param364, this.isExamStart) + if ((this.isExamStart && !globalThis.singlePlay && this.systemParam.Param341) || (this.startExam && this.systemParam.Param364 == '2')) { return } - this.currentUser=EmptyCandidateObject + this.currentUser = EmptyCandidateObject globalThis.lsh = item.lsh; - setTimeout(()=>{ + setTimeout(() => { this.currentUser = item - this.currentUser.ksy2= globalThis.kgxm + this.currentUser.ksy2 = globalThis.kgxm - },200) + }, 200) }) }) @@ -1137,11 +1178,13 @@ struct UserInfo { Column() { // Image($r('app.media.yydj_btn')) // .commStyle() - imageBtn({btnWidth:220 * this.ratio,btnHeight:69 * this.ratio,imgSrc:$r('app.media.yydj_btn')}).margin({ bottom: 12 * this.ratio }) + imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.yydj_btn') }) + .margin({ bottom: 12 * this.ratio }) // Image($r('app.media.gx_btn')) // .commStyle() - imageBtn({btnWidth:220 * this.ratio,btnHeight:69 * this.ratio,imgSrc:$r('app.media.gx_btn')}).margin({ bottom: 12 * this.ratio }) + imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.gx_btn') }) + .margin({ bottom: 12 * this.ratio }) .onClick(() => { // this.avPlayer.playAudio(['button_media.wav']) if (this.isExamStart && !globalThis.singlePlay) { @@ -1153,23 +1196,25 @@ struct UserInfo { }) // Image($r('app.media.qk_btn')) // .commStyle() - imageBtn({btnWidth:220 * this.ratio,btnHeight:69 * this.ratio,imgSrc:$r('app.media.qk_btn')}).margin({ bottom: 12 * this.ratio }) + imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.qk_btn') }) + .margin({ bottom: 12 * this.ratio }) .onClick(() => { // this.avPlayer.playAudio(['button_media.wav']) // 已开始考试不能缺考 已考过一次学员不能缺考 车上不能缺考 - if (this.ksksLimit||(this.systemParam.Param352Str=='1'&&this.currentUser.kssycs=='1')||this.systemParam.Param770Str=='1') { + if (this.ksksLimit || (this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') || this.systemParam.Param770Str == '1') { return } this.ksksLimit = true this.qkFlag = true }) - if (this.isBoardPrePareSetPopupOpen && (this.isSecondBoardPrePareSetPopupOpen && this.currentUser.kssycs == '2')&& !this.isFirstBoardPrePareSetPopupBtnShow ) { + if (this.isBoardPrePareSetPopupOpen && (this.isSecondBoardPrePareSetPopupOpen && this.currentUser.kssycs == '2') && !this.isFirstBoardPrePareSetPopupBtnShow) { //上车准备 // Image($r('app.media.sczb_btn')).commStyle() - imageBtn({btnWidth:220 * this.ratio,btnHeight:69 * this.ratio,imgSrc:$r('app.media.sczb_btn')}).margin({ bottom: 12 * this.ratio }) + imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.sczb_btn') }) + .margin({ bottom: 12 * this.ratio }) .onClick(async () => { - if(this.systemParam.Param612Str=='1'){ + if (this.systemParam.Param612Str == '1') { return } await this.prePareSCZB() @@ -1177,9 +1222,10 @@ struct UserInfo { } else { // Image($r('app.media.ksks_btn')) // .commStyle() - imageBtn({btnWidth:220 * this.ratio,btnHeight:69 * this.ratio,imgSrc:$r('app.media.ksks_btn')}).margin({ bottom: 12 * this.ratio }) + imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.ksks_btn') }) + .margin({ bottom: 12 * this.ratio }) .onClick(async () => { - if(this.systemParam.Param612Str=='1'){ + if (this.systemParam.Param612Str == '1') { return } await this.prePareExam() @@ -1315,7 +1361,7 @@ struct LabelBlock { Row() { Text(this.label).fontSize(20 * this.ratio).fontColor('#99948A') Row() { - Text(decodeURIComponent(this.value||'')|| '') + Text(decodeURIComponent(this.value || '') || '') .fontColor('#fff') .textAlign(TextAlign.Center) .width('100%') @@ -1326,15 +1372,15 @@ struct LabelBlock { } } -type systemParam={ - 'Param341':boolean,//是否按顺序考试 - 'Param803Str':string,//开始考试前必须解开安全带或关车门 - 'Param612Str':string,//开始考试触发方式 - 'Param305Str':string,//视频保存天数 - 'Param352Str':string,//车上考试过一次就不能缺考 - 'Param828Str':string,//828考生待考界面,安全员显示考试员 - 'Param770Str':string,//车上没有缺考功能 - 'Param830Str':string,//同一学员连续第二次考试时不再验证身份 - 'Param364':string,//考前上车准备 - 'Param398':string,//考前上车准备 +type systemParam = { + 'Param341': boolean, //是否按顺序考试 + 'Param803Str': string, //开始考试前必须解开安全带或关车门 + 'Param612Str': string, //开始考试触发方式 + 'Param305Str': string, //视频保存天数 + 'Param352Str': string, //车上考试过一次就不能缺考 + 'Param828Str': string, //828考生待考界面,安全员显示考试员 + 'Param770Str': string, //车上没有缺考功能 + 'Param830Str': string, //同一学员连续第二次考试时不再验证身份 + 'Param364': string, //考前上车准备 + 'Param398': string, //考前上车准备 } \ No newline at end of file From 29332c5ae8b979cbdd20ffe51a0c75f2d8d4ea67 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Mon, 6 Jan 2025 13:55:39 +0800 Subject: [PATCH 3/3] userinfo --- entry/src/main/ets/pages/UserInfo.ets | 32 +++++++-------------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index 529de1b1..83942af1 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -188,31 +188,15 @@ struct UserInfo { }) this.pageIndex = 0 this.dataList = this.list.slice(this.pageIndex * 4, this.pageIndex * 4 + 4) - const data = await getSyncData('USER') - const user = data[0] - if (user && Number(user.kssycs)) { - let flag = false - this.list.forEach(res => { - if (res.sfzmhm == user.sfzmhm) { - flag = true - res.kssycs = user.kssycs - this.getCurrentStudent(res.sfzmhm) - } - }) - if (!flag) { - this.currentUser = (this.list.length ? this.list[0] : EmptyCandidateObject) - } + if (this.dataList.length) { + setTimeout(()=>{ + this.currentUser = this.dataList[0] + this.currentUser.ksy2= globalThis.kgxm + globalThis.lsh=this.currentUser.lsh + },200) + } else { + this.currentUser = EmptyCandidateObject } - // if (this.dataList.length) { - // - // setTimeout(()=>{ - // this.currentUser = this.dataList[0] - // this.currentUser.ksy2= globalThis.kgxm - // globalThis.lsh=this.currentUser.lsh - // },200) - // } else { - // this.currentUser = EmptyCandidateObject - // } } this.list.forEach((res, index) => { res.id = index.toString()