Compare commits
	
		
			2 Commits
		
	
	
		
			d8be9c6540
			...
			0f400c7467
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 0f400c7467 | ||
|  | 06ad18fccb | 
| @ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 2, | ||||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", |   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||||
|   "specifiers": {}, |   "specifiers": {}, | ||||||
|   "packages": {} |   "packages": {} | ||||||
|  | |||||||
| @ -174,6 +174,7 @@ export struct JudgePage { | |||||||
|     builder: ConfirmDialog({ |     builder: ConfirmDialog({ | ||||||
|       text: "确认结束考试?", |       text: "确认结束考试?", | ||||||
|       onConfirm: async () => { |       onConfirm: async () => { | ||||||
|  |         dConsole.log(JudgeTag, "点击确认结束") | ||||||
|         if (this.isErrorMsgEnd) { |         if (this.isErrorMsgEnd) { | ||||||
|           dConsole.log(JudgeTag, "router back1") |           dConsole.log(JudgeTag, "router back1") | ||||||
|           router.back() |           router.back() | ||||||
|  | |||||||
| @ -282,6 +282,7 @@ export class BaseJudge { | |||||||
|     if (!judgeUI.singlePlay && that.isManual && !judgeUI.isAllProjectsEnd && judgeUI.totalScore >= judgeUI.passingScore) { |     if (!judgeUI.singlePlay && that.isManual && !judgeUI.isAllProjectsEnd && judgeUI.totalScore >= judgeUI.passingScore) { | ||||||
|       that.avPlayer?.playAudio(['voice/empty.mp3'], true, () => { |       that.avPlayer?.playAudio(['voice/empty.mp3'], true, () => { | ||||||
|         this.isUdpEnd = true |         this.isUdpEnd = true | ||||||
|  |         dConsole.log(JudgeTag, "考试结束自动退出1") | ||||||
|         router.back(); |         router.back(); | ||||||
|       }) |       }) | ||||||
|       return |       return | ||||||
| @ -309,13 +310,16 @@ export class BaseJudge { | |||||||
|       } catch (e) { |       } catch (e) { | ||||||
|         console.info(JudgeTag, JSON.stringify(e)) |         console.info(JudgeTag, JSON.stringify(e)) | ||||||
|       } |       } | ||||||
|  |       if (judgeUI.singlePlay) { | ||||||
|  |         // 单机结束 | ||||||
|  |         await this.endExam(judgeUI, that) | ||||||
|  |       } else { | ||||||
|         TheExamIsOver(judgeUI, that, async (res: WR) => { |         TheExamIsOver(judgeUI, that, async (res: WR) => { | ||||||
|           dConsole.log(JudgeTag, ExamProcessDataTag, "考试结束接口完成", res) |           dConsole.log(JudgeTag, ExamProcessDataTag, "考试结束接口完成", res) | ||||||
|           const code = res.code!.toString() |           const code = res.code!.toString() | ||||||
|           if (code !== "1") { |           if (code !== "1") { | ||||||
|             that?.avPlayer?.playAudio(['voice/监管失败.mp3']) |             that?.avPlayer?.playAudio(['voice/监管失败.mp3']) | ||||||
|             judgeUI.errorMsg = decodeURIComponent(res?.message || "") |             judgeUI.errorMsg = decodeURIComponent(res?.message || "") | ||||||
| 
 |  | ||||||
|             if (code.toString() === "2300028" || code.toString() === "2300007") { |             if (code.toString() === "2300028" || code.toString() === "2300007") { | ||||||
|               judgeUI.errorMsg = '当前的考试过程信息监管审核未通过,程序将退出!' |               judgeUI.errorMsg = '当前的考试过程信息监管审核未通过,程序将退出!' | ||||||
|             } |             } | ||||||
| @ -325,6 +329,8 @@ export class BaseJudge { | |||||||
|             await this.endExam(judgeUI, that) |             await this.endExam(judgeUI, that) | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -412,6 +418,7 @@ export class BaseJudge { | |||||||
|               if (judgeUI.kfArr.length - 1 === index) { |               if (judgeUI.kfArr.length - 1 === index) { | ||||||
|                 that.avPlayer?.playAudio([`voice/${kf.markcatalog}.mp3`, voiceURL], false, () => { |                 that.avPlayer?.playAudio([`voice/${kf.markcatalog}.mp3`, voiceURL], false, () => { | ||||||
|                   this.isUdpEnd = true |                   this.isUdpEnd = true | ||||||
|  |                   dConsole.log(JudgeTag, "考试结束自动退出2") | ||||||
|                   router.back(); |                   router.back(); | ||||||
|                 }) |                 }) | ||||||
|                 throw new Error('End Loop') |                 throw new Error('End Loop') | ||||||
| @ -420,6 +427,7 @@ export class BaseJudge { | |||||||
|             } else { |             } else { | ||||||
|               that.avPlayer?.playAudio([`voice/${kf.markcatalog}.mp3`, voiceURL], false, () => { |               that.avPlayer?.playAudio([`voice/${kf.markcatalog}.mp3`, voiceURL], false, () => { | ||||||
|                 this.isUdpEnd = true |                 this.isUdpEnd = true | ||||||
|  |                 dConsole.log(JudgeTag, "考试结束自动退出3") | ||||||
|                 router.back(); |                 router.back(); | ||||||
|               }) |               }) | ||||||
|               throw new Error('End Loop') |               throw new Error('End Loop') | ||||||
| @ -433,6 +441,7 @@ export class BaseJudge { | |||||||
|       that.avPlayer?.playAudio([voiceURL], true, () => { |       that.avPlayer?.playAudio([voiceURL], true, () => { | ||||||
|         setTimeout(() => { |         setTimeout(() => { | ||||||
|           this.isUdpEnd = true |           this.isUdpEnd = true | ||||||
|  |           dConsole.log(JudgeTag, "考试结束自动退出5") | ||||||
|           router.back(); |           router.back(); | ||||||
|         }, param302 === "8" ? 3000 : 0) |         }, param302 === "8" ? 3000 : 0) | ||||||
|       }) |       }) | ||||||
| @ -752,7 +761,6 @@ export class BaseJudge { | |||||||
| 
 | 
 | ||||||
|   async judgeEnd(judgeUI: JudgePage, that: JudgeBusiness, isManual?: boolean) { |   async judgeEnd(judgeUI: JudgePage, that: JudgeBusiness, isManual?: boolean) { | ||||||
|     dConsole.info(JudgeTag, '收到远程结束考试消息3') |     dConsole.info(JudgeTag, '收到远程结束考试消息3') | ||||||
|     dConsole.closeProcessData() |  | ||||||
|     const isAllProjectsEnd = judgeUI.isAllProjectsEnd |     const isAllProjectsEnd = judgeUI.isAllProjectsEnd | ||||||
|     const examSubject = judgeUI.examSubject |     const examSubject = judgeUI.examSubject | ||||||
|     const singlePlay = judgeUI.singlePlay |     const singlePlay = judgeUI.singlePlay | ||||||
| @ -762,9 +770,12 @@ export class BaseJudge { | |||||||
|     const passingScore = Number(judgeUI.passingScore) |     const passingScore = Number(judgeUI.passingScore) | ||||||
|     const jl = judgeUI.jl |     const jl = judgeUI.jl | ||||||
|     if (that.isExamEnd) { |     if (that.isExamEnd) { | ||||||
|  |       dConsole.log("JudgeTag", "已经结束考试") | ||||||
|       return |       return | ||||||
|     } |     } | ||||||
|     if (isManual) { |     if (isManual) { | ||||||
|  |       dConsole.log(JudgeTag, '收到远程结束考试消息5') | ||||||
|  |       judgeUI.generateExamRecordsDialogController.close() | ||||||
|       // 考试不合格 |       // 考试不合格 | ||||||
|       await examJudgeEndExam() |       await examJudgeEndExam() | ||||||
|       that.isExamEnd = true |       that.isExamEnd = true | ||||||
| @ -773,7 +784,7 @@ export class BaseJudge { | |||||||
|       const param302: number = Reflect.get(judgeConfigObj, '302') |       const param302: number = Reflect.get(judgeConfigObj, '302') | ||||||
|       const param342: number = Reflect.get(judgeConfigObj, '342') |       const param342: number = Reflect.get(judgeConfigObj, '342') | ||||||
|       const param512: number[] = (Reflect.get(judgeConfigObj, '512') || '').split(','); |       const param512: number[] = (Reflect.get(judgeConfigObj, '512') || '').split(','); | ||||||
| 
 |       dConsole.log(JudgeTag, '收到远程结束考试消息4') | ||||||
|       //单机模式 |       //单机模式 | ||||||
|       if (singlePlay) { |       if (singlePlay) { | ||||||
|         dConsole.info(JudgeTag + ' 单机模式结束 => ', isAllProjectsEnd) |         dConsole.info(JudgeTag + ' 单机模式结束 => ', isAllProjectsEnd) | ||||||
|  | |||||||
| @ -219,6 +219,7 @@ struct UserInfoPage { | |||||||
|   ] |   ] | ||||||
| 
 | 
 | ||||||
|   async onPageShow() { |   async onPageShow() { | ||||||
|  |     dConsole.closeProcessData() | ||||||
|     this.avPlayer = new VoiceAnnounce(this.context); |     this.avPlayer = new VoiceAnnounce(this.context); | ||||||
|     this.isExamStart = false |     this.isExamStart = false | ||||||
|     this.startExam = false |     this.startExam = false | ||||||
| @ -1183,6 +1184,7 @@ struct UserInfoPage { | |||||||
|               .onClick(() => { |               .onClick(() => { | ||||||
|                 if ((this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') || |                 if ((this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') || | ||||||
|                   this.systemParam.Param770Str == '1') { |                   this.systemParam.Param770Str == '1') { | ||||||
|  |                   dConsole.log(UserInfoTag, '不允许缺考') | ||||||
|                   return |                   return | ||||||
|                 } |                 } | ||||||
|                 // this.qkFlag = true |                 // this.qkFlag = true | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| // 日志向外暴露的方法 | // 日志向外暴露的方法 | ||||||
| import worker from '@ohos.worker'; | import worker from '@ohos.worker'; | ||||||
| import { GlobalConfig } from '../config'; | import { GlobalConfig, LogTag } from '../config'; | ||||||
| import { LogWorkerMessage, ProcessDataEnumType, WorkerMessageType } from '../model/index'; | import { LogWorkerMessage, ProcessDataEnumType, WorkerMessageType } from '../model/index'; | ||||||
| import dayTs from './Date'; | import dayTs from './Date'; | ||||||
| 
 | 
 | ||||||
| @ -87,13 +87,12 @@ class logWorker { | |||||||
| 
 | 
 | ||||||
|   // 关闭过程数据写入 |   // 关闭过程数据写入 | ||||||
|   closeProcessData() { |   closeProcessData() { | ||||||
|  |     dConsole.log(LogTag, "关闭过程数据1") | ||||||
|     let params: LogWorkerMessage = { |     let params: LogWorkerMessage = { | ||||||
|       type: WorkerMessageType.CloseProcessData, |       type: WorkerMessageType.CloseProcessData, | ||||||
|     } |     } | ||||||
|     if (this.isLogEnabled === "1") { |  | ||||||
|     this.workerInstance?.postMessage(JSON.stringify(params)) |     this.workerInstance?.postMessage(JSON.stringify(params)) | ||||||
|   } |   } | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|   // 通用日志方法 |   // 通用日志方法 | ||||||
|   private logWithLevel(level: 'log' | 'info' | 'error' | 'low', ...args: ESObject[]): void { |   private logWithLevel(level: 'log' | 'info' | 'error' | 'low', ...args: ESObject[]): void { | ||||||
|  | |||||||
| @ -33,6 +33,7 @@ workerPort.onmessage = (e: MessageEvents) => { | |||||||
|   } |   } | ||||||
|   //   关闭过程数据 |   //   关闭过程数据 | ||||||
|   if (result.type === WorkerMessageType.CloseProcessData) { |   if (result.type === WorkerMessageType.CloseProcessData) { | ||||||
|  |     console.log(LogTag, "关闭过程数据") | ||||||
|     CloseProcessData() |     CloseProcessData() | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -113,10 +114,13 @@ async function processQueue() { | |||||||
| 
 | 
 | ||||||
| // 关闭过程数据 | // 关闭过程数据 | ||||||
| function CloseProcessData() { | function CloseProcessData() { | ||||||
|  |   if (fileFdArr.length > 0) { | ||||||
|  |     console.log(LogTag, "有文件需要 关闭过程数据") | ||||||
|     fileFdArr.forEach((item: number) => { |     fileFdArr.forEach((item: number) => { | ||||||
|       fs.closeSync(item) |       fs.closeSync(item) | ||||||
|     }) |     }) | ||||||
|   console.log(LogTag, "关闭过程数据") |     fileFdArr = [] | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| workerPort.onmessageerror = (e: MessageEvents) => { | workerPort.onmessageerror = (e: MessageEvents) => { | ||||||
|  | |||||||
| @ -1,18 +1,20 @@ | |||||||
| { | { | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 2, | ||||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", |   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||||
|   "specifiers": { |   "specifiers": { | ||||||
|     "@ohos/crypto-js@2.0.3": "@ohos/crypto-js@2.0.3", |     "@ohos/hypium@1.0.19": "@ohos/hypium@1.0.19", | ||||||
|     "@ohos/hypium@1.0.19": "@ohos/hypium@1.0.19" |     "@ohos/crypto-js@2.0.3": "@ohos/crypto-js@2.0.3" | ||||||
|   }, |   }, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "@ohos/crypto-js@2.0.3": { |  | ||||||
|       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/crypto-js/-/crypto-js-2.0.3.har", |  | ||||||
|       "integrity": "sha512-LuHaR1kD5PxnOXnuR1fWvPwGtbed9Q/QGzk6JOh8y5Wdzvi8brPesODZiaWf9scOVRHsbTPOtZw91vWB35p1vQ==" |  | ||||||
|     }, |  | ||||||
|     "@ohos/hypium@1.0.19": { |     "@ohos/hypium@1.0.19": { | ||||||
|       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.19.har", |       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.19.har", | ||||||
|       "integrity": "sha512-cEjDgLFCm3cWZDeRXk7agBUkPqjWxUo6AQeiu0gEkb3J8ESqlduQLSIXeo3cCsm8U/asL7iKjF85ZyOuufAGSQ==" |       "integrity": "sha512-cEjDgLFCm3cWZDeRXk7agBUkPqjWxUo6AQeiu0gEkb3J8ESqlduQLSIXeo3cCsm8U/asL7iKjF85ZyOuufAGSQ==", | ||||||
|  |       "registryType": "ohpm" | ||||||
|  |     }, | ||||||
|  |     "@ohos/crypto-js@2.0.3": { | ||||||
|  |       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/crypto-js/-/crypto-js-2.0.3.har", | ||||||
|  |       "integrity": "sha512-LuHaR1kD5PxnOXnuR1fWvPwGtbed9Q/QGzk6JOh8y5Wdzvi8brPesODZiaWf9scOVRHsbTPOtZw91vWB35p1vQ==", | ||||||
|  |       "registryType": "ohpm" | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user