Compare commits
	
		
			No commits in common. "883807298bfca15a196d6c3008b4e8b6aeb14afe" and "f03ace7f04bf25f826db32dae350edcba441a103" have entirely different histories.
		
	
	
		
			883807298b
			...
			f03ace7f04
		
	
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,2 +1,2 @@ | |||||||
| gitLog: | gitLog: | ||||||
| 	  git log --since="2025-06-30 17:14" --until="2025-07-2 17:35"  --pretty=format:"<details>%n    <summary>%s</summary>%n     <span style=\"color: #888;\">[提交人]:</span><span style=\"color: #333;\">%an</span><br>%n     <span style=\"color: #888;\">[提交时间]:</span><span style=\"color: #333;\">%ad</span><br>%n    <span style=\"color: #888;\">[提交版本]:</span><span style=\"color: #333;\">%h</span>%n</details>%n" --date=format:"%Y-%m-%d %H:%M" > release_note.md | 	  git log --since="2025-06-30 17:14" --until="2025-07-1 17:14"  --pretty=format:"<details>%n    <summary>%s</summary>%n     <span style=\"color: #888;\">[提交人]:</span><span style=\"color: #333;\">%an</span><br>%n     <span style=\"color: #888;\">[提交时间]:</span><span style=\"color: #333;\">%ad</span><br>%n    <span style=\"color: #888;\">[提交版本]:</span><span style=\"color: #333;\">%h</span>%n</details>%n" --date=format:"%Y-%m-%d %H:%M" > release_note.md | ||||||
| @ -65,6 +65,3 @@ export const UserInfoTag = '[UserInfo]'; | |||||||
| 
 | 
 | ||||||
| //SignDisplay | //SignDisplay | ||||||
| export const SignDisplayTag = '[SignDisplay]'; | export const SignDisplayTag = '[SignDisplay]'; | ||||||
| 
 |  | ||||||
| //开始考试 |  | ||||||
| export const StartExamTag = '[StartExam]' |  | ||||||
| @ -59,6 +59,8 @@ import { InitMapPoint, InitMapPointItem } from './Judge/TableUtils'; | |||||||
| @Entry | @Entry | ||||||
| @Component | @Component | ||||||
| struct JudgePage { | struct JudgePage { | ||||||
|  |   scroller: Scroller = new Scroller() | ||||||
|  |   //页面通用字体大小 | ||||||
|   @State wayno: number = 0 |   @State wayno: number = 0 | ||||||
|   @State isDdxk: boolean = false; |   @State isDdxk: boolean = false; | ||||||
|   //开始时间 |   //开始时间 | ||||||
| @ -195,7 +197,6 @@ struct JudgePage { | |||||||
|   }) |   }) | ||||||
| 
 | 
 | ||||||
|   async aboutToDisappear() { |   async aboutToDisappear() { | ||||||
|     this.generateExamRecordsDialogController.close() |  | ||||||
|     clearInterval(this.mileageTimer) |     clearInterval(this.mileageTimer) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -217,6 +218,7 @@ struct JudgePage { | |||||||
|   //初始化相关数据库表 |   //初始化相关数据库表 | ||||||
|   async initDb() { |   async initDb() { | ||||||
|     this.examSubject = this.carInfo.examSubject!; |     this.examSubject = this.carInfo.examSubject!; | ||||||
|  |     // const { isTrajectoryOpen, trajectoryPath } = judgeConfig | ||||||
|     await this.initStudent(); |     await this.initStudent(); | ||||||
|     await this.initCar(); |     await this.initCar(); | ||||||
| 
 | 
 | ||||||
| @ -306,6 +308,8 @@ struct JudgePage { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   // 考试项目是否全部完成 | ||||||
|  | 
 | ||||||
|   // 获取sysset表信息 |   // 获取sysset表信息 | ||||||
|   async initSysset(sysset?: SYSSET[]) { |   async initSysset(sysset?: SYSSET[]) { | ||||||
|     const syssetParams: SYSSET[] | MASYSSETTableType[] = sysset || await GetSyncData<MASYSSETTableType>('MA_SYSSET') |     const syssetParams: SYSSET[] | MASYSSETTableType[] = sysset || await GetSyncData<MASYSSETTableType>('MA_SYSSET') | ||||||
| @ -753,11 +757,11 @@ struct JudgePage { | |||||||
|             this.isDeductedPopShow = false; |             this.isDeductedPopShow = false; | ||||||
|             this.defaultTabIndex = 0; |             this.defaultTabIndex = 0; | ||||||
|           }, |           }, | ||||||
|           confirmMark: async (item: string, serial: string) => { |           confirmMark: async (itemno: string, serial: string) => { | ||||||
|             clearTimeout(this.popTimer) |             clearTimeout(this.popTimer) | ||||||
|             this.popTimer = setTimeout(async () => { |             this.popTimer = setTimeout(async () => { | ||||||
|               const judge = this.judge |               const judge = this.judge | ||||||
|               await judge.setJudgeMark(item, serial); |               await judge.setJudgeMark(itemno, serial); | ||||||
|               this.isDeductedPopShow = false |               this.isDeductedPopShow = false | ||||||
|               this.popTimer = null; |               this.popTimer = null; | ||||||
|             }, 500) |             }, 500) | ||||||
|  | |||||||
| @ -35,7 +35,6 @@ export async function examJudgeSetLogCallback(level: number, handleLog: Function | |||||||
|  * @desc评判初始化 |  * @desc评判初始化 | ||||||
|  */ |  */ | ||||||
| export async function examJudgeInit(data: JudgeInitObj) { | export async function examJudgeInit(data: JudgeInitObj) { | ||||||
| 
 |  | ||||||
|   const str = JSON.stringify(data); |   const str = JSON.stringify(data); | ||||||
|   const temp: number = libJudgeSdk.examJudgeInit(str, str.length); |   const temp: number = libJudgeSdk.examJudgeInit(str, str.length); | ||||||
|   return await handle(temp, 'examJudgeInit') |   return await handle(temp, 'examJudgeInit') | ||||||
|  | |||||||
| @ -41,7 +41,7 @@ import { GetCurrentTime, NumberToByteArray } from '../utils/Common'; | |||||||
| import DB from '../utils/DbSql'; | import DB from '../utils/DbSql'; | ||||||
| import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness'; | import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness'; | ||||||
| import { JudgeEmitterInstance } from '../utils/business/UdpEvent'; | import { JudgeEmitterInstance } from '../utils/business/UdpEvent'; | ||||||
| import { JudgeConfig, StartExamTag } from '../config'; | import { JudgeConfig } from '../config'; | ||||||
| import { dConsole } from '../utils/LogWorker'; | import { dConsole } from '../utils/LogWorker'; | ||||||
| import HeaderComponent from './compontents/Header'; | import HeaderComponent from './compontents/Header'; | ||||||
| import AvatarComponent from './UserInfo/Avatar'; | import AvatarComponent from './UserInfo/Avatar'; | ||||||
| @ -997,12 +997,10 @@ struct UserInfoPage { | |||||||
| 
 | 
 | ||||||
|   // 开始考试 |   // 开始考试 | ||||||
|   async beginExam(): Promise<BeginExamRequest> { |   async beginExam(): Promise<BeginExamRequest> { | ||||||
|     dConsole.log(StartExamTag, "开始考试") |  | ||||||
|     const startHourTime = dayTs().format("HHmmssSSS") |     const startHourTime = dayTs().format("HHmmssSSS") | ||||||
|     AppStorage.setOrCreate('startHourTime', startHourTime) |     AppStorage.setOrCreate('startHourTime', startHourTime) | ||||||
|     const photoBase64 = await this.getPhoto(); |     const photoBase64 = await this.getPhoto(); | ||||||
|     if (photoBase64 == '') { |     if (photoBase64 == '') { | ||||||
|       dConsole.log(StartExamTag, "拍照失败") |  | ||||||
|       this.startExamDialogController.close() |       this.startExamDialogController.close() | ||||||
|       return { code: -200 } |       return { code: -200 } | ||||||
|     } |     } | ||||||
| @ -1018,7 +1016,6 @@ struct UserInfoPage { | |||||||
|       kchp: decodeURI(this.carInfo.plateNo || ""), |       kchp: decodeURI(this.carInfo.plateNo || ""), | ||||||
|       Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || '' |       Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || '' | ||||||
|     } |     } | ||||||
|     dConsole.log(StartExamTag, "开始考试参数", drvexam) |  | ||||||
|     const param: RegulatoryInterfaceParams = { |     const param: RegulatoryInterfaceParams = { | ||||||
|       drvexam, |       drvexam, | ||||||
|       xtlb: '17', |       xtlb: '17', | ||||||
|  | |||||||
| @ -84,6 +84,7 @@ export default struct DeductedPopup { | |||||||
| 
 | 
 | ||||||
|   //获取当前页的数据 |   //获取当前页的数据 | ||||||
|   getCurrentMarkRuleList() { |   getCurrentMarkRuleList() { | ||||||
|  |     // const { currentIndex, currentUniversalPageIndex, currentPageIndex, markRules, universalMarkRules } = this; | ||||||
|     if (this.currentIndex) { |     if (this.currentIndex) { | ||||||
|       //通用评判 |       //通用评判 | ||||||
|       return this.universalMarkRules.slice(this.currentUniversalPageIndex * 7, (this.currentUniversalPageIndex + 1) * 7) |       return this.universalMarkRules.slice(this.currentUniversalPageIndex * 7, (this.currentUniversalPageIndex + 1) * 7) | ||||||
| @ -248,6 +249,6 @@ export default struct DeductedPopup { | |||||||
| 
 | 
 | ||||||
|   private closePopup: Function = () => { |   private closePopup: Function = () => { | ||||||
|   } |   } | ||||||
|   private confirmMark: Function = (item: number, serial: string) => { |   private confirmMark: Function = (itemno: number, serial: string) => { | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -1898,7 +1898,6 @@ export default class Judge { | |||||||
|     // await fileLog?.setExamJudgeData(JSON.stringify(initInfo)) |     // await fileLog?.setExamJudgeData(JSON.stringify(initInfo)) | ||||||
|     //相关评判初始化只做一次 |     //相关评判初始化只做一次 | ||||||
|     if (!isJudgeInitBool) { |     if (!isJudgeInitBool) { | ||||||
|       dConsole.log(JudgeTag, "评判初始化参数", initInfo) |  | ||||||
|       const tempJudge = await examJudgeInit(initInfo); |       const tempJudge = await examJudgeInit(initInfo); | ||||||
|       AppStorage.setOrCreate('isJudgeInitBool', true) |       AppStorage.setOrCreate('isJudgeInitBool', true) | ||||||
|       dConsole.info(JudgeTag, '4.评判初始化完成') |       dConsole.info(JudgeTag, '4.评判初始化完成') | ||||||
|  | |||||||
| @ -91,9 +91,8 @@ class logWorker { | |||||||
|   // 处理长消息分割和记录 |   // 处理长消息分割和记录 | ||||||
|   private logLongMessage(level: 'log' | 'info' | 'error', message: string): void { |   private logLongMessage(level: 'log' | 'info' | 'error', message: string): void { | ||||||
|     const chunks = this.splitLongMessage(message); |     const chunks = this.splitLongMessage(message); | ||||||
|     const chunkId = Math.random().toString(36).substring(2, 8); // 生成简短随机ID |  | ||||||
|     chunks.forEach((chunk, index) => { |     chunks.forEach((chunk, index) => { | ||||||
|       this.logConsole(level, `${LOG_CHUNK_PREFIX}  ${index + 1}/${chunks.length} [${chunkId}]] ${chunk}`); |       this.logConsole(level, `${LOG_CHUNK_PREFIX} ${index + 1}/${chunks.length}] ${chunk}`); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -133,7 +133,7 @@ export default function Request<T extends RequestResult>(options: RequestOption) | |||||||
|       extraData: options.xml ? options.data : JSON.stringify(options.data), |       extraData: options.xml ? options.data : JSON.stringify(options.data), | ||||||
|       readTimeout: options.timeout || 30 * 1000 |       readTimeout: options.timeout || 30 * 1000 | ||||||
|     }).then(async data => { |     }).then(async data => { | ||||||
|       console.log(RequestTag, baseURL, options.url, "返回的数据", JSON.stringify(data)) |       console.log(RequestTag, options.url, "返回的数据", JSON.stringify(data)) | ||||||
|       // let result = options.xml ? xmlToJSON(data.result as string) : data.result |       // let result = options.xml ? xmlToJSON(data.result as string) : data.result | ||||||
|       let result = options.xml ? (options.accept ? data.result : xmlToJSON(data.result as string)) : data.result; |       let result = options.xml ? (options.accept ? data.result : xmlToJSON(data.result as string)) : data.result; | ||||||
|       console.log("结束xml解析") |       console.log("结束xml解析") | ||||||
|  | |||||||
| @ -117,7 +117,7 @@ export default class TcpClient { | |||||||
|     return this.tcp?.send({ |     return this.tcp?.send({ | ||||||
|       data |       data | ||||||
|     }).catch(async (err: BusinessError) => { |     }).catch(async (err: BusinessError) => { | ||||||
|       console.log(TCPTag, 'sendMsg error:', JSON.stringify(err), this.oppositeIp, this.oppositeIpPort) |       console.log(TCPTag, 'sendMsg error:', JSON.stringify(err)) | ||||||
|       this.tcpSendNum++ |       this.tcpSendNum++ | ||||||
|       if (this.tcpSendNum > 10) { |       if (this.tcpSendNum > 10) { | ||||||
|         this.tcpSendNum = 0 |         this.tcpSendNum = 0 | ||||||
|  | |||||||
| @ -12,6 +12,9 @@ class differentialAndSignal { | |||||||
| 
 | 
 | ||||||
|   // 初始化Worker |   // 初始化Worker | ||||||
|   init() { |   init() { | ||||||
|  |     if (this.workerInstance) { | ||||||
|  |       this.close(); | ||||||
|  |     } | ||||||
|     this.workerInstance = new worker.ThreadWorker("entry/ets/workers/DifferentialCorrection.ets"); |     this.workerInstance = new worker.ThreadWorker("entry/ets/workers/DifferentialCorrection.ets"); | ||||||
|     let config: EnvironmentConfigurationType = |     let config: EnvironmentConfigurationType = | ||||||
|       AppStorage.get<EnvironmentConfigurationType>("EnvironmentConfiguration") || { |       AppStorage.get<EnvironmentConfigurationType>("EnvironmentConfiguration") || { | ||||||
| @ -52,15 +55,20 @@ class differentialAndSignal { | |||||||
| 
 | 
 | ||||||
|   // 关闭 |   // 关闭 | ||||||
|   close() { |   close() { | ||||||
|  |     if (this.workerInstance) { | ||||||
|  |       // 清空所有监听器 | ||||||
|       this.events = []; |       this.events = []; | ||||||
|     const config: EnvironmentConfigurationType = AppStorage.get<EnvironmentConfigurationType>("EnvironmentConfiguration") || { | 
 | ||||||
|     } |       // 发送关闭消息 | ||||||
|  |       const config = AppStorage.get<EnvironmentConfigurationType>("EnvironmentConfiguration") || {}; | ||||||
|       this.workerInstance.postMessage(JSON.stringify({ |       this.workerInstance.postMessage(JSON.stringify({ | ||||||
|         config: config, |         config: config, | ||||||
|         close: true |         close: true | ||||||
|       })); |       })); | ||||||
|  | 
 | ||||||
|       // 关闭线程 |       // 关闭线程 | ||||||
|     this.workerInstance.terminate() |       this.workerInstance.terminate(); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   // 获取Worker消息 |   // 获取Worker消息 | ||||||
|  | |||||||
| @ -1,31 +1,3 @@ | |||||||
| <details> |  | ||||||
|     <summary>fix: 优化首页获取车辆后才可以进入联网以及单机逻辑</summary> |  | ||||||
|      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> |  | ||||||
|      <span style="color: #888;">[提交时间]:</span><span style="color: #333;">2025-07-02 17:34</span><br> |  | ||||||
|     <span style="color: #888;">[提交版本]:</span><span style="color: #333;">f03ace7</span> |  | ||||||
| </details> |  | ||||||
| 
 |  | ||||||
| <details> |  | ||||||
|     <summary>fix: 评判代码抽离优化</summary> |  | ||||||
|      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> |  | ||||||
|      <span style="color: #888;">[提交时间]:</span><span style="color: #333;">2025-07-02 15:53</span><br> |  | ||||||
|     <span style="color: #888;">[提交版本]:</span><span style="color: #333;">b0692d3</span> |  | ||||||
| </details> |  | ||||||
| 
 |  | ||||||
| <details> |  | ||||||
|     <summary>fix: 评判页面结构优化</summary> |  | ||||||
|      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> |  | ||||||
|      <span style="color: #888;">[提交时间]:</span><span style="color: #333;">2025-07-02 10:41</span><br> |  | ||||||
|     <span style="color: #888;">[提交版本]:</span><span style="color: #333;">98813fe</span> |  | ||||||
| </details> |  | ||||||
| 
 |  | ||||||
| <details> |  | ||||||
|     <summary>fix: 结束考试问题修复</summary> |  | ||||||
|      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> |  | ||||||
|      <span style="color: #888;">[提交时间]:</span><span style="color: #333;">2025-07-01 17:51</span><br> |  | ||||||
|     <span style="color: #888;">[提交版本]:</span><span style="color: #333;">b2b7950</span> |  | ||||||
| </details> |  | ||||||
| 
 |  | ||||||
| <details> | <details> | ||||||
|     <summary>fix: 评判日志</summary> |     <summary>fix: 评判日志</summary> | ||||||
|      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> |      <span style="color: #888;">[提交人]:</span><span style="color: #333;">wangzhongjie</span><br> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user