Compare commits
	
		
			7 Commits
		
	
	
		
			main
			...
			tcp转http,h
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e87cbf6cff | |||
| 9c5ddd35d6 | |||
| 88f33393bd | |||
| ec2c23291b | |||
| 89378648c8 | |||
| 831dcdd030 | |||
| 5a09d2daf8 | 
| @ -4,13 +4,13 @@ | ||||
|       { | ||||
|         "name": "default", | ||||
|         "material": { | ||||
|           "certpath": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.cer", | ||||
|           "storePassword": "0000001BE4BBADDF656A884E7A7BB5FD51F64FBB61DD24A944FEA969482DD693210ED5FF3D29F13642E3A3", | ||||
|           "certpath": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.cer", | ||||
|           "storePassword": "0000001AF5AEE1D0993BD9D84E7ECDA23FDDAAE9D861E77FAA35119FE1E6FFCB795A46238C7669826C22", | ||||
|           "keyAlias": "debugKey", | ||||
|           "keyPassword": "0000001BDEFFDC280B45617E7FC447CB21F2D133540301F543454643D3F5E9F6E5ED2A583A7FA92B260433", | ||||
|           "profile": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.p7b", | ||||
|           "keyPassword": "0000001A006D774FD9FB4A368893011CE1A0C56BDDB83DC70DBD72138C19EAAA64EF9F5CB5778355001F", | ||||
|           "profile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p7b", | ||||
|           "signAlg": "SHA256withECDSA", | ||||
|           "storeFile": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.p12" | ||||
|           "storeFile": "C:\\Users\\93218\\.ohos\\config\\openharmony\\auto_ohos_default_subject-two_com.oh.dts.p12" | ||||
|         } | ||||
|       } | ||||
|     ], | ||||
|  | ||||
| @ -1,82 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 1.获取考车考点信息 获取考车gpsIP、udpIP、音视频端口等考车和考点参数配置 POST /para/initCarInfoCache.ws */ | ||||
| export async function initCarInfoCacheUsingPost( | ||||
|   body: API.GpsIPUdpIP2, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfGpsIPUdpIP_>('/para/initCarInfoCache.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 3.初始化考车视频参数 初始化考车视频参数 POST /para/initCarParameter.ws */ | ||||
| export async function initCarVideoParameterUsingPost( | ||||
|   body: API.Pinyin_7, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf2>('/para/initCarParameter.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 4.从参数平台获取参数 单个读表,读取其他 ma_ 开头的评判参数表 POST /para/initCenterCache.ws */ | ||||
| export async function initCenterCacheFromParamUsingPost( | ||||
|   body: API.Pinyin_5, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfListOfobject>('/para/initCenterCache.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 2.初始化模型 初始化模型 POST /para/initEsModel.ws */ | ||||
| export async function initModelUsingPost(body: API.Pinyin_32, options?: { [key: string]: any }) { | ||||
|   return request<API.ROf10>('/para/initEsModel.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 5.参数平台基础数据同步 被请求的 GET /param/baseDataSync */ | ||||
| export async function paramBaseDataSyncUsingGet(options?: { [key: string]: any }) { | ||||
|   return request<API.ROf3>('/param/baseDataSync', { | ||||
|     method: 'GET', | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 6.参数平台参数数据同步 被请求的 GET /param/configDataSync/${param0} */ | ||||
| export async function paramConfigDataSyncUsingGet( | ||||
|   // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
 | ||||
|   params: API.paramConfigDataSyncUsingGETParams, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   const { tableName: param0, ...queryParams } = params; | ||||
|   return request<API.ROfobject>(`/param/configDataSync/${param0}`, { | ||||
|     method: 'GET', | ||||
|     params: { ...queryParams }, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -2,10 +2,34 @@ import request from "../common/utils/request" | ||||
| import tempRequest from '../common/utils/tempRequest' | ||||
| 
 | ||||
| //同步时间
 | ||||
| export async function timeSynchronization(params){ | ||||
| export async function timeSynchronization(params) { | ||||
|   // let data = JSON.stringify({
 | ||||
|   //   url: '/der2/services/exam/timeSynchronization.ws',
 | ||||
|   //   data: `<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|   //               <timeSynchronizationReq>
 | ||||
|   //                   <head><time>${params.time}</time></head>
 | ||||
|   //                   <body><deviceNo>${params.deviceNo}</deviceNo>
 | ||||
|   //                   <shellVersion>${params.version}</shellVersion>
 | ||||
|   //                   <judgeVersion>${params.judgeVersion}</judgeVersion>
 | ||||
|   //                   </body>
 | ||||
|   //               </timeSynchronizationReq>`,
 | ||||
|   //   method: 'post',
 | ||||
|   //   xml: true
 | ||||
|   // })
 | ||||
|   // return new Promise((resolve, reject) => {
 | ||||
|   //   globalThis.serviceExtProxy.processData(data, (errorCode: number, retVal: string) => {
 | ||||
|   //     console.log("lixiao result", errorCode, JSON.stringify(retVal))
 | ||||
|   //     if (errorCode === 0) {
 | ||||
|   //       resolve(JSON.parse(retVal))
 | ||||
|   //     } else {
 | ||||
|   //       reject(JSON.parse(retVal))
 | ||||
|   //     }
 | ||||
|   //     // console.log(`js-test index.ets processData, errorCode: ${errorCode}, retVal: ${retVal}`);
 | ||||
|   //   });
 | ||||
|   // })
 | ||||
|   return request({ | ||||
|         url:'/der2/services/exam/timeSynchronization.ws', | ||||
|         data:`<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|     url: '/der2/services/exam/timeSynchronization.ws', | ||||
|     data: `<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|                 <timeSynchronizationReq> | ||||
|                     <head><time>${params.time}</time></head> | ||||
|                     <body><deviceNo>${params.deviceNo}</deviceNo> | ||||
| @ -13,16 +37,16 @@ export async function timeSynchronization(params){ | ||||
|                     <judgeVersion>${params.judgeVersion}</judgeVersion> | ||||
|                     </body> | ||||
|                 </timeSynchronizationReq>`,
 | ||||
|         method:'post', | ||||
|         xml:true | ||||
|     method: 'post', | ||||
|     xml: true | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //同步时间
 | ||||
| export async function timeSynchronizationHTTP(params){ | ||||
| export async function timeSynchronizationHTTP(params) { | ||||
|   return tempRequest({ | ||||
|         url:'/der2/services/exam/timeSynchronization.ws', | ||||
|         data:`<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|     url: '/der2/services/exam/timeSynchronization.ws', | ||||
|     data: `<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|                 <timeSynchronizationReq> | ||||
|                     <head><time>${params.time}</time></head> | ||||
|                     <body><deviceNo>${params.deviceNo}</deviceNo> | ||||
| @ -30,84 +54,87 @@ export async function timeSynchronizationHTTP(params){ | ||||
|                     <judgeVersion>${params.judgeVersion}</judgeVersion> | ||||
|                     </body> | ||||
|                 </timeSynchronizationReq>`,
 | ||||
|         method:'post', | ||||
|         xml:true | ||||
|     method: 'post', | ||||
|     xml: true | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //获取考车信息
 | ||||
| export async function obtainCarExamInfo(params){ | ||||
| export async function obtainCarExamInfo(params) { | ||||
|   return request({ | ||||
|         url:'/der2/services/exam/obtainCarExamInfo.ws', | ||||
|         data:`<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|     url: '/der2/services/exam/obtainCarExamInfo.ws', | ||||
|     data: `<?xml version="1.0" encoding="UTF-8" ?>
 | ||||
|                 <obtainCarExamInfoReq> | ||||
|                     <head><time>${params.time}</time></head> | ||||
|                     <body><deviceNo>${params.deviceNo}</deviceNo></body> | ||||
|                 </obtainCarExamInfoReq>`,
 | ||||
|         method:'post', | ||||
|         xml:true | ||||
|     method: 'post', | ||||
|     xml: true | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //获取参数平台考车信息
 | ||||
| export async function initCarInfoCache(params){ | ||||
| export async function initCarInfoCache(params) { | ||||
|   return request({ | ||||
|         url:'/para/initCarInfoCache.ws', | ||||
|         data:params.data, | ||||
|         method:'post', | ||||
|         xml:false, | ||||
|     url: '/para/initCarInfoCache.ws', | ||||
|     data: params.data, | ||||
|     method: 'post', | ||||
|     xml: false, | ||||
|     host: params.host | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //参数下发读表接口
 | ||||
| export async function initCenterCache(params,url){ | ||||
| export async function initCenterCache(params, url) { | ||||
|   return await request({ | ||||
|         url:'/para/initCenterCache.ws', | ||||
|         data:params, | ||||
|         method:'post', | ||||
|         xml:false, | ||||
|         host:url||globalThis.timeInfo.url, | ||||
|     url: '/para/initCenterCache.ws', | ||||
|     data: params, | ||||
|     method: 'post', | ||||
|     xml: false, | ||||
|     host: url || globalThis.timeInfo.url, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //参数下发读表接口
 | ||||
| export async function initCenterCacheByKSPT(params,url){ | ||||
| export async function initCenterCacheByKSPT(params, url) { | ||||
|   return await request({ | ||||
|         url:'/der2/services/para/initCenterCache.ws', | ||||
|         data:params, | ||||
|         method:'post', | ||||
|         xml:false, | ||||
|         host:url | ||||
|     url: '/der2/services/para/initCenterCache.ws', | ||||
|     data: params, | ||||
|     method: 'post', | ||||
|     xml: false, | ||||
|     host: url | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| //从参数平台获取模型
 | ||||
| export async function initEsModel(params){ | ||||
| export async function initEsModel(params) { | ||||
|   return await request({ | ||||
|         url:'/para/initEsModel.ws', | ||||
|         data:params, | ||||
|         method:'post', | ||||
|         xml:false, | ||||
|         host:globalThis.timeInfo.url, | ||||
|     url: '/para/initEsModel.ws', | ||||
|     data: params, | ||||
|     method: 'post', | ||||
|     xml: false, | ||||
|     host: globalThis.timeInfo.url, | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| export async function initialization(params){ | ||||
| export async function initialization(params) { | ||||
|   return await request({ | ||||
|         url:'/der2/services/exam/initialization.ws', | ||||
|         data:`<?xml version="1.0" encoding="UTF-8" ?><initializationReq><body><carId>${params.carId}</carId><examinationRoomId>${params.examinationRoomId}</examinationRoomId><shellVersion>${params.shellVersion}</shellVersion><judgeVersion>${params.judgeVersion}</judgeVersion><videoVersion>${params.videoVersion}</videoVersion><carInfo></carInfo><map_Road></map_Road><map_Road_Lane></map_Road_Lane><map_SubItem></map_SubItem><t_CarParmSet></t_CarParmSet><map_ItemClass></map_ItemClass><map_Point></map_Point><map_Point_Item></map_Point_Item><CDSBINFO></CDSBINFO><MARKRULESET></MARKRULESET></body></initializationReq>`, | ||||
|         method:'post', | ||||
|         host:params.host, | ||||
|         xml:true, | ||||
|     url: '/der2/services/exam/initialization.ws', | ||||
|     data: `<?xml version="1.0" encoding="UTF-8" ?><initializationReq><body><carId>${params.carId}</carId><examinationRoomId>${params.examinationRoomId}</examinationRoomId><shellVersion>${params.shellVersion}</shellVersion><judgeVersion>${params.judgeVersion}</judgeVersion><videoVersion>${params.videoVersion}</videoVersion><carInfo></carInfo><map_Road></map_Road><map_Road_Lane></map_Road_Lane><map_SubItem></map_SubItem><t_CarParmSet></t_CarParmSet><map_ItemClass></map_ItemClass><map_Point></map_Point><map_Point_Item></map_Point_Item><CDSBINFO></CDSBINFO><MARKRULESET></MARKRULESET></body></initializationReq>`, | ||||
|     method: 'post', | ||||
|     host: params.host, | ||||
|     xml: true, | ||||
|     timeout: 1000 * 60 | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| //参数下发读表接口
 | ||||
| export async function initCarParameter(params){ | ||||
| export async function initCarParameter(params) { | ||||
|   return await request({ | ||||
|         url:'/der2/services/para/initCarParameter.ws', | ||||
|         data:params, | ||||
|         method:'post', | ||||
|         xml:false, | ||||
|     url: '/der2/services/para/initCarParameter.ws', | ||||
|     data: params, | ||||
|     method: 'post', | ||||
|     xml: false, | ||||
|   }) | ||||
| } | ||||
| @ -1,8 +1,9 @@ | ||||
| import { getSyncData } from '../common/service/initable'; | ||||
| import request from "../common/utils/request" | ||||
| let baseHost = globalThis.host; | ||||
| 
 | ||||
| import FileUtil from '../common/utils/File'; | ||||
| import FileLog from '../pages/judgeSDK/utils/fileLog'; | ||||
| import pasteboard from '@ohos.pasteboard'; | ||||
| import emitter from '@ohos.events.emitter'; | ||||
| import request from '../common/utils/request'; | ||||
| 
 | ||||
| //监管接口序列号映射
 | ||||
| const gjxlhObj = { | ||||
| @ -14,28 +15,33 @@ const gjxlhObj = { | ||||
|   '17C56': '02-21-000014', | ||||
| } | ||||
| 
 | ||||
| interface WR{ | ||||
|   message?:string | ||||
|   code:number | ||||
| interface WR { | ||||
|   message?: string | ||||
|   code: number | ||||
| } | ||||
| 
 | ||||
| export default async function writeObjectOutNew(data,filePath): Promise<WR> { | ||||
| export default async function writeObjectOutNew(data, filePath): Promise<WR> { | ||||
|   const fileUtil = new FileUtil(globalThis.context); | ||||
|   const {jkid , drvexam} = data; | ||||
|   const basic = await getBasicConfig(jkid); | ||||
|   const params = await getParams(jkid, drvexam); | ||||
|   const {wglb,jkxlh,glbm,jgbh,sjbs} = basic; | ||||
| 
 | ||||
|   if(filePath){ | ||||
|     await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify({ | ||||
|       wglb,jkxlh,glbm,jgbh,sjbs, | ||||
|       data:params.data, | ||||
|       file:{...params.file,param:[]}, | ||||
|   if (filePath) { | ||||
|     await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify({ | ||||
|       wglb, | ||||
|       jkxlh, | ||||
|       glbm, | ||||
|       jgbh, | ||||
|       sjbs, | ||||
|       data: params.data, | ||||
|       file: { | ||||
|         ...params.file, param: [] | ||||
|       }, | ||||
|     })); | ||||
|   } | ||||
| 
 | ||||
|   // let connectTimeout = sjbs === '02-21-000014' ?60000:1
 | ||||
|   console.info('surenjun','调用新监管') | ||||
|   console.info('surenjun', '调用新监管') | ||||
|   let temp | ||||
|   try { | ||||
|     temp = await request({ | ||||
| @ -69,8 +75,8 @@ export default async function writeObjectOutNew(data,filePath): Promise<WR> { | ||||
|     temp = e | ||||
|   } | ||||
|   console.log("temp message: ", JSON.stringify(temp)) | ||||
|   if(filePath){ | ||||
|    await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`,JSON.stringify(temp) +`\n`); | ||||
|   if (filePath) { | ||||
|     await fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(temp) + `\n`); | ||||
|   } | ||||
|   return temp | ||||
| 
 | ||||
| @ -189,7 +195,10 @@ export async function getParams(jkid, drvexam) { | ||||
|             sfzmhm: drvexam.sfzmhm | ||||
|           }, | ||||
|         }, | ||||
|         file: { sjbs: gjxlhObj[jkid], param: [{ field: '', data: drvexam.zp }] } | ||||
|         file: { | ||||
|           sjbs: gjxlhObj[jkid], | ||||
|           param: [{ field: '', data: drvexam.zp }] | ||||
|         } | ||||
|       } | ||||
| 
 | ||||
|     default: | ||||
|  | ||||
| @ -1,116 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 4.考车自检项目信息读取 考车自检项目信息读取 POST /exam/carConfigurationInfo.ws */ | ||||
| export async function carConfigurationInfoUsingPost( | ||||
|   body: API.Pinyin_34, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf11>('/exam/carConfigurationInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 6.随车考试员登录 随车考试员登录 POST /exam/examinerLogin.ws */ | ||||
| export async function examinerLoginUsingPost( | ||||
|   body: API.Pinyin_39, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf12>('/exam/examinerLogin.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 3.获取考点系统参数 考车从考试中心获取考点系统参数,即考试平台的exam_point_config表 POST /exam/initSysset300.ws */ | ||||
| export async function initExamPointConfigUsingPost( | ||||
|   body: API.Pinyin_33, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfListOfobject>('/exam/initSysset300.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 8.考车考点信息查询 考车考点信息查询 POST /exam/queryVehiclePoint.ws */ | ||||
| export async function queryVehiclePointUsingPost( | ||||
|   body: API.Pinyin_28, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/queryVehiclePoint.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.终端设备注册 包括但不限于考车、闸机 POST /exam/registrationDeviceNo.ws */ | ||||
| export async function registrationDeviceNoUsingPost( | ||||
|   body: API.Pinyin_23, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/registrationDeviceNo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 2.终端初始化时间同步 终端初始化时间同步 POST /exam/timeSynchronization.ws */ | ||||
| export async function timeSynchronizationUsingPost(options?: { [key: string]: any }) { | ||||
|   return request<API.ROf9>('/exam/timeSynchronization.ws', { | ||||
|     method: 'POST', | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 5.考车自检结果写入 考车自检结果写入 POST /exam/uploadExamCarCheckResult.ws */ | ||||
| export async function uploadExamCarCheckResultUsingPost( | ||||
|   body: API.Pinyin_29, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/uploadExamCarCheckResult.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 7.考车日志信息上传 考车日志信息上传 POST /exam/uploadVehicleLog.ws */ | ||||
| export async function uploadVehicleLogUsingPost( | ||||
|   body: API.Pinyin_27, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/uploadVehicleLog.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -1,78 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 3.考车对考生缺考操作 考车对考生缺考操作 POST /exam/examinationStuAbsent.ws */ | ||||
| export async function examinationStuAbsentUsingPost( | ||||
|   body: API.Pinyin_26, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/examinationStuAbsent.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 2.断点续考 断点续考获取考试项目 POST /exam/getExaminationItem.ws */ | ||||
| export async function getExaminationItemUsingPost( | ||||
|   body: API.Pinyin_18, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf8>('/exam/getExaminationItem.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.下载考生信息 考车端通过此接口下载监管(或本地随机)分配的考生信息 POST /exam/getExaminationStudentInfo.ws */ | ||||
| export async function getExaminationStudentInfoUsingPost( | ||||
|   body: API.Pinyin_3, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf_>('/exam/getExaminationStudentInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 4.上传考试过程数据文件 上传考试过程数据文件 POST /exam/uploadExamDataFile.ws */ | ||||
| export async function uploadExamDataFileUsingPost( | ||||
|   body: API.Pinyin_2, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/uploadExamDataFile.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 5.上传考生考试里程 上传考生考试里程 POST /exam/uploadExamMileage.ws */ | ||||
| export async function uploadExamMileageUsingPost( | ||||
|   body: API.Pinyin__, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/exam/uploadExamMileage.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -1,46 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| // @ts-ignore
 | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 2.无锡所接口请求 无锡所通用接口请求 POST /common/callWxsRest.do */ | ||||
| export async function callWxsRestUsingPost(body: API.Pinyin_20, options?: { [key: string]: any }) { | ||||
|   return request<API.ROfobject>('/common/callWxsRest.do', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 3.无锡所接口请求测试 无锡所接口请求测试,返回测试数据 POST /common/callWxsRestTest.do */ | ||||
| export async function callWxsRestTestUsingPost( | ||||
|   body: API.Pinyin_20, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/common/callWxsRestTest.do', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.大屏显示数据查询与控制 大屏显示数据查询与控制 POST /data/examInfoStandardDisplay.ws */ | ||||
| export async function examInfoStandardDisplayUsingPost( | ||||
|   body: API.Pinyin_13, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf5>('/data/examInfoStandardDisplay.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -1,75 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 4.数据更新 数据更新:照片,指纹,随机序号,监管签到,状态等操作 POST /data/getAccessControlInfo.ws */ | ||||
| export async function getAccessControlInfoUsingPost( | ||||
|   body: API.Pinyin_30, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/data/getAccessControlInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 2.身份合法性判断 身份合法性判断:约考信息下载,收费查询,场次控制等 POST /data/getAccessStuInfo.ws */ | ||||
| export async function getAccessStuInfoUsingPost( | ||||
|   body: API.Pinyin_36, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/data/getAccessStuInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.门禁版本控制 门禁版本控制 POST /exam/gateLoginInit.ws */ | ||||
| export async function getLoginInitUsingPost(body: API.Pinyin_38, options?: { [key: string]: any }) { | ||||
|   return request<API.ROfobject>('/exam/gateLoginInit.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 3.门禁/考车终端人脸识别 门禁/考车终端人脸识别 POST /imageCompare/base64ImageStrCompare.ws */ | ||||
| export async function base64ImageStrCompareUsingPost( | ||||
|   body: API.Pinyin_37, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/imageCompare/base64ImageStrCompare.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 5.考官/随车考试员闸机人脸识别 考官/随车考试员闸机人脸识别,此处安全员是代替没有身份证学员人脸识别 POST /pmUserCheckCardNoFace.ws */ | ||||
| export async function examManFaceRecognitionUsingPost( | ||||
|   body: API.Pinyin_25, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/pmUserCheckCardNoFace.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -1,63 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 3.合成视频监测 合成视频监测 POST /data/compositedVideosMonitor.ws */ | ||||
| export async function compositedVideosMonitorUsingPost( | ||||
|   body: API.Pinyin_11, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROfobject>('/data/compositedVideosMonitor.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.场地摄像头设备信息 场地摄像头设备信息--科目二三都调用此接口(科三只有贵州在用2022-10-13) POST /data/getKm2FieldGunCameraInfo.ws */ | ||||
| export async function getKm2FieldGunCameraInfoUsingPost( | ||||
|   body: API.Pinyin_11, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf4>('/data/getKm2FieldGunCameraInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 4.获取考生考试信息 获取考生考试信息 POST /data/getStudExamInfo.ws */ | ||||
| export async function getStudExamInfoUsingPost( | ||||
|   body: API.Pinyin_17, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf7>('/data/getStudExamInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 2.小红求获取扣分信息(参数平台接口) 小红求获取扣分信息-(视频合成用-小红球程序-放在参数平台) POST /data/obtainMarkRuleSetInfo.ws */ | ||||
| export async function obtainMarkRuleSetInfoUsingPost( | ||||
|   body: API.Pinyin_15, | ||||
|   options?: { [key: string]: any }, | ||||
| ) { | ||||
|   return request<API.ROf6>('/data/obtainMarkRuleSetInfo.ws', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| @ -1,31 +0,0 @@ | ||||
| // @ts-ignore
 | ||||
| /* eslint-disable */ | ||||
| import request from '../common/utils/http'; | ||||
| 
 | ||||
| /** 2.考试中心执行参数同步 由外部(考试平台)调用,主动请求参数平台同步基础数据 GET /system/doParamBaseDataSync */ | ||||
| export async function doParamBaseDataSyncUsingGet(options?: { [key: string]: any }) { | ||||
|   return request<API.ROfobject>('/system/doParamBaseDataSync', { | ||||
|     method: 'GET', | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 3.考试中心执行参数数据同步 由外部(考试平台)调用,主动请求参数平台同步参数数据 GET /system/doParamConfigDataSync */ | ||||
| export async function doParamConfigDataSyncUsingGet(options?: { [key: string]: any }) { | ||||
|   return request<API.ROfobject>('/system/doParamConfigDataSync', { | ||||
|     method: 'GET', | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| /** 1.用户登录 用户登录接口,获取用户相关信息和登录Token,登录后调用后台接口时,将Token放到请求头中 POST /system/userLogin.do */ | ||||
| export async function userLoginUsingPost(body: API.Pinyin_21, options?: { [key: string]: any }) { | ||||
|   return request<API.ROfobject>('/system/userLogin.do', { | ||||
|     method: 'POST', | ||||
|     headers: { | ||||
|       'Content-Type': 'application/json;charset=UTF-8', | ||||
|     }, | ||||
|     data: body, | ||||
|     ...(options || {}), | ||||
|   }); | ||||
| } | ||||
							
								
								
									
										964
									
								
								entry/src/main/ets/api/typings.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										964
									
								
								entry/src/main/ets/api/typings.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,964 +0,0 @@ | ||||
| declare namespace API { | ||||
|   type CarBrand_ = { | ||||
|     /** 品牌名 {type_name} */ | ||||
|     brandName?: string; | ||||
|     /** 创建者 */ | ||||
|     createBy?: string; | ||||
|     /** 创建时间 */ | ||||
|     createTime?: string; | ||||
|     /** 百米脉冲 */ | ||||
|     hundredMeterPulse?: string; | ||||
|     /** 主键 */ | ||||
|     id?: number; | ||||
|     /** 签到序号起始点 */ | ||||
|     signNumber?: number; | ||||
|     /** SIMPLE_NAME */ | ||||
|     simpleName?: string; | ||||
|     /** 更新者 */ | ||||
|     updateBy?: string; | ||||
|     /** 更新时间 */ | ||||
|     updateTime?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type CarInfo_ = { | ||||
|     /** 监管分车时间 */ | ||||
|     assignTime?: string; | ||||
|     /** 车辆品牌id [car_brand.id] {cartypeid} */ | ||||
|     carBrandId?: number; | ||||
|     /** 考车自检状态(0:不用检查,1:待检查,2:检查通过,3:检查不通过) */ | ||||
|     carCheckStatus?: string; | ||||
|     /** 考车实际IP {carip} */ | ||||
|     carIp?: string; | ||||
|     /** 考车对应mac地址 */ | ||||
|     carMac?: string; | ||||
|     /** 考车编号 {carno} */ | ||||
|     carNo?: string; | ||||
|     /** 考车身份证号 */ | ||||
|     cardNoArray?: string; | ||||
|     /** 创建者 */ | ||||
|     createBy?: string; | ||||
|     /** 创建时间 */ | ||||
|     createTime?: string; | ||||
|     /** 删除标记(0:存在,2:已经删除)(status) */ | ||||
|     delFlag?: string; | ||||
|     /** 考点id [sys_dept.dept_id] {exampointid} */ | ||||
|     deptId?: number; | ||||
|     /** 设备号 */ | ||||
|     deviceNo?: string; | ||||
|     /** 考车状态(1:正常,2:停用,3:异常) */ | ||||
|     deviceStatus?: string; | ||||
|     /** 准驾车型 {cartype} */ | ||||
|     drivingLicenseType?: string; | ||||
|     /** 终点库位号 {zdkwh} */ | ||||
|     endPointNo?: string; | ||||
|     /** 考车路线 */ | ||||
|     examLineArray?: string; | ||||
|     /** 所属考官对应的用户id [sys_user.user_id] */ | ||||
|     examManId?: number; | ||||
|     /** 考试场次 {kscc} */ | ||||
|     examRound?: number; | ||||
|     /** 当前登录随车考试员id [examiner_info.id] */ | ||||
|     examinerId?: number; | ||||
|     /** 考场区域代号 */ | ||||
|     fieldId?: string; | ||||
|     /** 百米脉冲 */ | ||||
|     hundredMeterPulse?: string; | ||||
|     /** 主键 */ | ||||
|     id?: number; | ||||
|     /** 监控审核人脸识别方式(0:无人脸识别,1:视频截图方式,2:考车上传方式) {isface} */ | ||||
|     isFace?: string; | ||||
|     /** 是否更新map_collect (0:否,1:是) {is_mapcollect} */ | ||||
|     isMapCollect?: string; | ||||
|     /** 是否需要审核(0:否,1:是) */ | ||||
|     isReview?: string; | ||||
|     /** 上一次登录随车考试员 [examiner_info.id] */ | ||||
|     lastExaminerId?: number; | ||||
|     /** 考车号牌 {carcode} */ | ||||
|     licensePlate?: string; | ||||
|     /** 模型id [model_info.id] {modelid} */ | ||||
|     modelId?: number; | ||||
|     /** 导航线路 {dhxl} */ | ||||
|     navigationLine?: string; | ||||
|     /** 考车对应软件版本 */ | ||||
|     softwareVersion?: string; | ||||
|     /** 更新者 */ | ||||
|     updateBy?: string; | ||||
|     /** 更新时间 */ | ||||
|     updateTime?: string; | ||||
|     /** 车辆型号 */ | ||||
|     vehicleModel?: string; | ||||
|     /** 考车对应车辆识别代号 */ | ||||
|     vin?: string; | ||||
|     /** 考试路线 */ | ||||
|     wayNo?: number; | ||||
|   }; | ||||
| 
 | ||||
|   type ExamInfoVo = { | ||||
|     bk1?: string; | ||||
|     bz1?: string; | ||||
|     cartype?: string; | ||||
|     czlx?: string; | ||||
|     fieldid?: string; | ||||
|     flag?: string; | ||||
|     fz?: string; | ||||
|     jdxx?: string; | ||||
|     jxmc?: string; | ||||
|     kchp?: string; | ||||
|     kfxm?: string; | ||||
|     kscc?: string; | ||||
|     kscx?: string; | ||||
|     ksdd?: string; | ||||
|     kskm?: string; | ||||
|     kslx?: string; | ||||
|     ksmjzp?: string; | ||||
|     kssycs?: string; | ||||
|     ksxl?: string; | ||||
|     ksy1?: string; | ||||
|     ksy1sfzmhm?: string; | ||||
|     ksy2?: string; | ||||
|     ksy2sfzmhm?: string; | ||||
|     kszp?: string; | ||||
|     kszt?: string; | ||||
|     ktbh?: string; | ||||
|     lsh?: string; | ||||
|     motorType?: string; | ||||
|     roadway?: string; | ||||
|     securityGuard?: string; | ||||
|     sfcode?: string; | ||||
|     sfzmhm?: string; | ||||
|     updatetime?: string; | ||||
|     xb?: string; | ||||
|     xh?: string; | ||||
|     xldm?: string; | ||||
|     xm?: string; | ||||
|     ykrq?: string; | ||||
|     yycs?: string; | ||||
|     zkzmbh?: string; | ||||
|     zwxx1?: string; | ||||
|     zwxx2?: string; | ||||
|     zwxx3?: string; | ||||
|     zwxx4?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ExamPointInfo_ = { | ||||
|     /** 考场地址 {address} */ | ||||
|     address?: string; | ||||
|     /** 考场车辆类型(1:小车,2:大车,3:摩托){is_motor} */ | ||||
|     carType?: string; | ||||
|     /** 创建者 */ | ||||
|     createBy?: string; | ||||
|     /** 创建时间 */ | ||||
|     createTime?: string; | ||||
|     /** 所属部门id [sys_dept.dept_id] {organize_id} */ | ||||
|     deptId?: number; | ||||
|     /** 考点名称 {name} */ | ||||
|     deptName?: string; | ||||
|     /** 准驾车型(列表,逗号隔开) {car_type} */ | ||||
|     drivingLicenseType?: string; | ||||
|     /** 考点代码 {code} */ | ||||
|     examPointCode?: string; | ||||
|     /** 考点全称 {fullname} */ | ||||
|     fullName?: string; | ||||
|     /** 主键 */ | ||||
|     id?: number; | ||||
|     /** 联系人 {contact} */ | ||||
|     master?: string; | ||||
|     /** 联系电话 {phone} */ | ||||
|     phone?: string; | ||||
|     /** 电子地图映射信息json */ | ||||
|     photoInfo?: string; | ||||
|     /** 电子地图图片路径 {path} */ | ||||
|     photoPath?: string; | ||||
|     /** 备注 */ | ||||
|     remark?: string; | ||||
|     /** 考试科目 {type} */ | ||||
|     subjectType?: string; | ||||
|     /** 更新者 */ | ||||
|     updateBy?: string; | ||||
|     /** 更新时间 */ | ||||
|     updateTime?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type GpsIPUdpIP_ = { | ||||
|     /** 车辆品牌名称 */ | ||||
|     carBrandName?: string; | ||||
|     /** 准驾车型(C1、C2...) */ | ||||
|     drivingLicenseType?: string; | ||||
|     /** GPS差分服务器地址 */ | ||||
|     gpsAddress?: string; | ||||
|     /** 是否需要自检(0:不需要自检,1:需要自检) */ | ||||
|     isNeedCheck?: string; | ||||
|     /** 百米脉冲 */ | ||||
|     pulse?: string; | ||||
|     /** 考试科目 */ | ||||
|     subjectType?: string; | ||||
|     /** UDP服务器数据端口号 */ | ||||
|     udpDataPort?: string; | ||||
|     /** UDP服务器ip */ | ||||
|     udpIp?: string; | ||||
|     /** UDP服务器消息端口号 */ | ||||
|     udpMessagePort?: string; | ||||
|     /** 语音对讲服务ip */ | ||||
|     voiceIp?: string; | ||||
|     /** 语音对讲服务端口号 */ | ||||
|     voicePort?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type GpsIPUdpIP2 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 评判版本号 */ | ||||
|     softwareVersion: string; | ||||
|   }; | ||||
| 
 | ||||
|   type MarkRuleSet = { | ||||
|     itemName?: string; | ||||
|     itemno?: string; | ||||
|     kfxh?: string; | ||||
|     markcatalog?: string; | ||||
|     markdepend?: string; | ||||
|     markreal?: string; | ||||
|     markserial?: string; | ||||
|     markshow?: string; | ||||
|     markstandard?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type paramConfigDataSyncUsingGETParams = { | ||||
|     /** tableName */ | ||||
|     tableName: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin__ = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 考试里程{kslc} */ | ||||
|     mileage: number; | ||||
|     /** 流水号 */ | ||||
|     serialNo: string; | ||||
|     /** 特殊扣分内容 */ | ||||
|     specialSub?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_10 = { | ||||
|     /** 考车id */ | ||||
|     gunCameraInfos?: Pinyin_9[]; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_11 = { | ||||
|     /** 小红球程序编号 */ | ||||
|     deviceNo: string; | ||||
|     /** 小红球消息 */ | ||||
|     message: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_12 = { | ||||
|     kaoShengXinXi?: ExamInfoVo[]; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_13 = { | ||||
|     b2no?: string; | ||||
|     c1no?: string; | ||||
|     c2no?: string; | ||||
|     c5no?: string; | ||||
|     deviceNo?: string; | ||||
|     fieldId?: string; | ||||
|     kscc?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_14 = { | ||||
|     judgeVersion?: string; | ||||
|     kdid?: string; | ||||
|     kskm?: string; | ||||
|     markRuleSet?: MarkRuleSet[]; | ||||
|     shellVersion?: string; | ||||
|     speendParam?: string; | ||||
|     vehicleSpeend?: VehicleSpeend[]; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_15 = { | ||||
|     /** 小红球程序编号 */ | ||||
|     deviceNo: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_16 = { | ||||
|     aqyphoto?: string; | ||||
|     aqysfzmhm?: string; | ||||
|     aqyxm?: string; | ||||
|     bkhgkssj?: string; | ||||
|     jxmc?: string; | ||||
|     kch?: string; | ||||
|     kchp?: string; | ||||
|     kclx?: string; | ||||
|     kcmc?: string; | ||||
|     kscs?: string; | ||||
|     kscx?: string; | ||||
|     ksxl?: string; | ||||
|     ksyphoto?: string; | ||||
|     ksysfzmhm?: string; | ||||
|     ksyxm?: string; | ||||
|     lsh?: string; | ||||
|     sfzmhm?: string; | ||||
|     xm?: string; | ||||
|     yycs?: string; | ||||
|     zp1?: string; | ||||
|     zp2?: string; | ||||
|     zwh?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_17 = { | ||||
|     /** 考车编号 */ | ||||
|     carNo: string; | ||||
|     /** 小红球程序编号 */ | ||||
|     deviceNo: string; | ||||
|     /** 流水号 */ | ||||
|     serialNo: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_18 = { | ||||
|     /** 随车考试员编号 */ | ||||
|     examinerCode?: string; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 流水号 */ | ||||
|     serialNo: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_19 = { | ||||
|     /** 安徽已考项目 */ | ||||
|     ahykxx?: string; | ||||
|     /** 大车初考项目 */ | ||||
|     firstABykxx?: string; | ||||
|     /** 考试剩余次数 */ | ||||
|     kssycs?: string; | ||||
|     /** 考试预约流水号 */ | ||||
|     lsh?: string; | ||||
|     /** 摩托车考试模式 */ | ||||
|     motorType?: string; | ||||
|     /** 大车补考项目 */ | ||||
|     secondABykxx?: string; | ||||
|     /** 约考信息,内容如:开始时间;里程;考试项目;扣分项目;特殊地方扣分明细 */ | ||||
|     ykxx?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_2 = { | ||||
|     /** 文件base64 */ | ||||
|     examData: string; | ||||
|     /** 考试结束时间 */ | ||||
|     examEndTime: string; | ||||
|     /** 考试开始时间 */ | ||||
|     examStartTime: string; | ||||
|     /** 文件名称(type=2/3时需要传) */ | ||||
|     fileName?: string; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 流水号 */ | ||||
|     serialNo: string; | ||||
|     /** 文件类型,鸿蒙考车固定传1(0:本地轨迹,1:监管轨迹,2:轨迹回放,3:注意力识别) */ | ||||
|     type: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_20 = { | ||||
|     /** 考车请求时间,跟下面请求数据data中的业务发生时间相同,这里用作设备时差校验 */ | ||||
|     carSendTime: string; | ||||
|     /** 请求数据,详见无锡所接口文档。JSON对象 */ | ||||
|     data: Record<string, any>; | ||||
|     /** 文件列表 */ | ||||
|     files?: WxsBaseFileBean[]; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 接口编号,例如:02-21-000009(考试开始) */ | ||||
|     restCode: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_21 = { | ||||
|     /** 设备imei号 */ | ||||
|     imei: string; | ||||
|     /** 用户登录时间戳 */ | ||||
|     loginTime: number; | ||||
|     /** md5加密串(根据imei号+时间戳+盐混淆) */ | ||||
|     signKey: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_22 = { | ||||
|     /** 中心服务器当前时间 */ | ||||
|     time?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_23 = { | ||||
|     /** 设备名称 */ | ||||
|     deviceName: string; | ||||
|     /** 设备编号 */ | ||||
|     deviceNo: string; | ||||
|     /** 设备类型(1:考车;2:闸机;3:大屏;4:指纹仪;5:拍照) */ | ||||
|     type: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_24 = { | ||||
|     /** 考试项目 */ | ||||
|     bk1?: string; | ||||
|     /** 备注1 0,0, */ | ||||
|     bz1?: string; | ||||
|     /** 考试车型,考生表的carType */ | ||||
|     cartype?: string; | ||||
|     /** 操作类型 */ | ||||
|     czlx?: string; | ||||
|     /** 考试区域 */ | ||||
|     fieldid?: string; | ||||
|     /** 考试是否合格 */ | ||||
|     flag?: string; | ||||
|     /** 考试分组 */ | ||||
|     fz?: string; | ||||
|     /** 阶段信息 */ | ||||
|     jdxx?: string; | ||||
|     /** 驾校名称 */ | ||||
|     jxmc?: string; | ||||
|     /** 考车号牌 */ | ||||
|     kchp?: string; | ||||
|     /** 扣分项目 */ | ||||
|     kfxm?: string; | ||||
|     /** 考试场次 */ | ||||
|     kscc?: string; | ||||
|     /** 考试车型 */ | ||||
|     kscx?: string; | ||||
|     /** 考试地点,考场编号 */ | ||||
|     ksdd?: string; | ||||
|     /** 考试科目 */ | ||||
|     kskm?: string; | ||||
|     /** 考试类型 */ | ||||
|     kslx?: string; | ||||
|     /** ksmjzp */ | ||||
|     ksmjzp?: string; | ||||
|     /** 考试剩余次数 */ | ||||
|     kssycs?: string; | ||||
|     /** 考试线路-实用 */ | ||||
|     ksxl?: string; | ||||
|     /** 考试员姓名1 */ | ||||
|     ksy1?: string; | ||||
|     /** 考试员1身份证号 */ | ||||
|     ksy1sfzmhm?: string; | ||||
|     /** 考试员随车考试员2 */ | ||||
|     ksy2?: string; | ||||
|     /** 考试员2身份证号 */ | ||||
|     ksy2sfzmhm?: string; | ||||
|     /** 考生照片,base64编码 */ | ||||
|     kszp?: string; | ||||
|     /** 考试状态 */ | ||||
|     kszt?: string; | ||||
|     /** 考台编号 */ | ||||
|     ktbh?: string; | ||||
|     /** 考试预约流水号 */ | ||||
|     lsh?: string; | ||||
|     /** 摩托车考试模式 1.先考科目2,再考科目3 2.科目2 3.科目3 4.先考科目3,再考科目2 */ | ||||
|     motorType?: string; | ||||
|     /** 车道 */ | ||||
|     roadway?: string; | ||||
|     /** 安全员姓名 */ | ||||
|     securityGuard?: string; | ||||
|     /** 6位身份编码 */ | ||||
|     sfcode?: string; | ||||
|     /** 身份证号 */ | ||||
|     sfzmhm?: string; | ||||
|     /** 上车更新时间 */ | ||||
|     updatetime?: string; | ||||
|     /** 考生性别 */ | ||||
|     xb?: string; | ||||
|     /** 序号 */ | ||||
|     xh?: string; | ||||
|     /** 监管线路代码,上传用 */ | ||||
|     xldm?: string; | ||||
|     /** 考生姓名 */ | ||||
|     xm?: string; | ||||
|     /** 约考日期 */ | ||||
|     ykrq?: string; | ||||
|     /** 预约次数 */ | ||||
|     yycs?: string; | ||||
|     /** 准考证明编号,admissionNo */ | ||||
|     zkzmbh?: string; | ||||
|     /** 指纹1 */ | ||||
|     zwxx1?: string; | ||||
|     /** 指纹2 */ | ||||
|     zwxx2?: string; | ||||
|     /** 指纹3 */ | ||||
|     zwxx3?: string; | ||||
|     /** 指纹4 */ | ||||
|     zwxx4?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_25 = { | ||||
|     /** 设备号 */ | ||||
|     deviceNo: string; | ||||
|     /** 照片1 */ | ||||
|     firstImage: string; | ||||
|     /** 照片2 */ | ||||
|     secondImage: string; | ||||
|     /** 身份证号码 */ | ||||
|     sfzh: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_26 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 流水号 */ | ||||
|     serialNo: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_27 = { | ||||
|     /** 类别(1:外壳,2:视屏,3:评判,4:接口) */ | ||||
|     category: string; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|     /** 日志内容 */ | ||||
|     logData: string; | ||||
|     /** 考车日志类型(1:升级日,2:错误日志) */ | ||||
|     logType: string; | ||||
|     /** 考车发生时间(格式:yyyy-MM-dd HH:mm:ss) */ | ||||
|     vehicleTime: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_28 = { | ||||
|     /** 设备编号 */ | ||||
|     deviceNo: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_29 = { | ||||
|     /** 自检结果附带信息 */ | ||||
|     condition: string; | ||||
|     /** 自检结果(1:合格,0:不合格) */ | ||||
|     flag: string; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_3 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_30 = { | ||||
|     /** 考车编号 */ | ||||
|     carNo?: string; | ||||
|     /** 车辆类型 */ | ||||
|     carType?: string; | ||||
|     /** 身份证号 */ | ||||
|     cardNo?: string; | ||||
|     /** 设备编号 */ | ||||
|     deviceNo?: string; | ||||
|     faceVerifyRes?: string; | ||||
|     /** fieldId */ | ||||
|     fieldId?: string; | ||||
|     fingerVerifyRes?: string; | ||||
|     /** 体温是否正常标志 */ | ||||
|     health?: string; | ||||
|     /** 6位身份编码  */ | ||||
|     idNoSix?: string; | ||||
|     /** 考官证件号码 */ | ||||
|     kgCardNo?: string; | ||||
|     /** 人工过门禁原因 */ | ||||
|     manualReason?: string; | ||||
|     /** mixModel */ | ||||
|     mixModel?: string; | ||||
|     /** 人脸识别度 */ | ||||
|     rlsbValue?: string; | ||||
|     /** 流水号 */ | ||||
|     serialNo?: string; | ||||
|     sfzzp?: string; | ||||
|     /** 考试科目 */ | ||||
|     subjectType?: string; | ||||
|     /** 体温值 */ | ||||
|     temperature?: string; | ||||
|     /** 体温照片1 */ | ||||
|     twzp1?: string; | ||||
|     /** 体温照片2 */ | ||||
|     twzp2?: string; | ||||
|     /** 照片 */ | ||||
|     zp?: string; | ||||
|     zw1?: string; | ||||
|     zw2?: string; | ||||
|     zw3?: string; | ||||
|     zw4?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_31 = { | ||||
|     /** 模型内容(base64) */ | ||||
|     content: string; | ||||
|     /** 文件名 */ | ||||
|     filename: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_32 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_33 = { | ||||
|     /** 车牌号码 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_34 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_35 = { | ||||
|     /** 是否需要自检(0:不需要自检,1:需要自检) */ | ||||
|     isNeedCheck?: string; | ||||
|     /** 自检项目 */ | ||||
|     items?: string; | ||||
|     /** 串口号 */ | ||||
|     portNo?: string; | ||||
|     /** 重试次数 */ | ||||
|     retryTime?: string; | ||||
|     /** (1:取反,0:不取反)例如安全带取反且离合器不取反即(1^0)  */ | ||||
|     reverse?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_36 = { | ||||
|     /** 住址 */ | ||||
|     addr?: string; | ||||
|     /** 设备编号 */ | ||||
|     deviceNo?: string; | ||||
|     /** fieldId */ | ||||
|     fieldId?: string; | ||||
|     /** 考官证件号码 */ | ||||
|     kgsfzmhm?: string; | ||||
|     /** 考试科目 */ | ||||
|     kskm?: string; | ||||
|     /** 流水号 */ | ||||
|     lsh?: string; | ||||
|     /** mixModel */ | ||||
|     mixModel?: string; | ||||
|     /** 身份证号 */ | ||||
|     sfzh: string; | ||||
|     /** 姓名 */ | ||||
|     xm?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_37 = { | ||||
|     /** 设备号 */ | ||||
|     deviceNo?: string; | ||||
|     /** 照片1 */ | ||||
|     firstImage?: string; | ||||
|     /** 考试科目 */ | ||||
|     kskm?: string; | ||||
|     /** 认证次数 */ | ||||
|     rzcs?: string; | ||||
|     /** 照片2 */ | ||||
|     secondImage: string; | ||||
|     /** 身份证号码 */ | ||||
|     sfzh: string; | ||||
|     /** 设备类型(1、门禁2、考车3、过程) */ | ||||
|     type: string; | ||||
|     /** 审核类型(2、人工审核) */ | ||||
|     verifyType?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_38 = { | ||||
|     /** 设备硬件号 */ | ||||
|     deviceNo: string; | ||||
|     /** 门禁程序版本号 */ | ||||
|     gateVersion: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_39 = { | ||||
|     /** 随车考试员登录用户名(可以是身份证号、员工号、制卡号等等) */ | ||||
|     examinerName: string; | ||||
|     /** 随车考试员密码 */ | ||||
|     examinerPwd?: string; | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_4 = { | ||||
|     /** 考生信息列表 */ | ||||
|     studentList?: Pinyin_24[]; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_40 = { | ||||
|     /** 指纹信息1 */ | ||||
|     finger1?: string; | ||||
|     /** 指纹信息2 */ | ||||
|     finger2?: string; | ||||
|     /** 随车考试员姓名 */ | ||||
|     name?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_5 = { | ||||
|     /** 车牌号码 */ | ||||
|     licensePlate: string; | ||||
|     /** 表名,大写 */ | ||||
|     tableName: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_6 = { | ||||
|     /** car_mac */ | ||||
|     car_mac: string; | ||||
|     /** 设备类型(1:海康,2:大华) */ | ||||
|     equipment_type: string; | ||||
|     /** 第一路通道 */ | ||||
|     first_channel: string; | ||||
|     /** 第一路ip */ | ||||
|     first_ip: string; | ||||
|     /** 第一路密码 */ | ||||
|     first_password: string; | ||||
|     /** 第一路端口 */ | ||||
|     first_port: string; | ||||
|     /** 第一路用户名 */ | ||||
|     first_username: string; | ||||
|     /** 第四路通道 */ | ||||
|     fourth_channel: string; | ||||
|     /** 第四路ip */ | ||||
|     fourth_ip: string; | ||||
|     /** 第四路密码 */ | ||||
|     fourth_password: string; | ||||
|     /** 第四路端口 */ | ||||
|     fourth_port: string; | ||||
|     /** 第四路用户名 */ | ||||
|     fourth_username: string; | ||||
|     /** 连接类型(0:主码流TCP方式,1:子码流TCP方式,2:主码流UDP方式,3:子码流UDP方式) */ | ||||
|     line_type: string; | ||||
|     /** 拍照通道 */ | ||||
|     photo_channel: string; | ||||
|     /** 叠加内容1(1.考生姓名,身份证号,3.当前项目,4.当前时间) */ | ||||
|     photo_overlay_text_content1: string; | ||||
|     /** 叠加内容2(1.考生姓名,身份证号,3.当前项目,4.当前时间,0:空) */ | ||||
|     photo_overlay_text_content2: string; | ||||
|     /** 叠加内容3(1.考生姓名,身份证号,3.当前项目,4.当前时间,0:空) */ | ||||
|     photo_overlay_text_content3: string; | ||||
|     /** 照片叠加文字(1:启用,0:关闭) */ | ||||
|     photo_overlay_text_enable: string; | ||||
|     /** 位置(1:左上角,2:右上角,3:左下角,4.右下角) */ | ||||
|     photo_overlay_text_position: string; | ||||
|     /** 文字大小 */ | ||||
|     photo_overlay_text_size: string; | ||||
|     /** 分割符(1:/,2:*\,3:换行) */ | ||||
|     photo_overlay_text_split: string; | ||||
|     /** 启用过程人脸比对 {process_face_comparion_enable} */ | ||||
|     process_face_comparion_enable: string; | ||||
|     /** 过程人脸比对模式(1:启用,0:关闭) {process_face_comparion_mode} */ | ||||
|     process_face_comparion_mode: string; | ||||
|     /** 第二路通道 */ | ||||
|     second_channel: string; | ||||
|     /** 第二路ip */ | ||||
|     second_ip: string; | ||||
|     /** 第二路密码 */ | ||||
|     second_password: string; | ||||
|     /** 第二路端口 */ | ||||
|     second_port: string; | ||||
|     /** 第二路用户名 */ | ||||
|     second_username: string; | ||||
|     /** 第三路通道 */ | ||||
|     third_channel: string; | ||||
|     /** 第三路ip */ | ||||
|     third_ip: string; | ||||
|     /** 第三路密码 */ | ||||
|     third_password: string; | ||||
|     /** 第三路端口 */ | ||||
|     third_port: string; | ||||
|     /** 第三路用户名 */ | ||||
|     third_username: string; | ||||
|     /** 视频路数 */ | ||||
|     video_channel: string; | ||||
|     /** 录像方式(0:本地录像,1:本地不录象) */ | ||||
|     video_mode: string; | ||||
|     /** 视频遮挡 */ | ||||
|     video_occlusion: string; | ||||
|     /** 视频遮挡范围(1:一路,2:二路,3:三路,4:四路) */ | ||||
|     video_occlusion_range: string; | ||||
|     /** 视频叠加位置X */ | ||||
|     video_overlay_position_x: string; | ||||
|     /** 视频叠加位置Y */ | ||||
|     video_overlay_position_y: string; | ||||
|     /** 视频叠加内容1(1:考生姓名,2:身份证号,3:当前项目,4:当前时间) */ | ||||
|     video_overlay_text_content1: string; | ||||
|     /** 视频叠加内容2(1:考生姓名,2:身份证号,3:当前项目,4:当前时间,0:空) */ | ||||
|     video_overlay_text_content2: string; | ||||
|     /** 视频叠加内容3(1:考生姓名,2:身份证号,3:当前项目,4:当前时间,0:空) */ | ||||
|     video_overlay_text_content3: string; | ||||
|     /** 视频叠加文字(1:启用,0:关闭) */ | ||||
|     video_overlay_text_enable: string; | ||||
|     /** 视频叠加分割符(1:/,2:*\,3:换行) */ | ||||
|     video_overlay_text_split: string; | ||||
|     /** 录像范围(1:一路,2:二路,3:三路,4:四路) */ | ||||
|     video_range: string; | ||||
|     /** 本考车对应视频合成服务器IP(填错将不能开始考试) */ | ||||
|     video_synthesis_server_ip: string; | ||||
|     /** 本考车对应视频合成服务器端口(填错将不能开始考试) */ | ||||
|     video_synthesis_server_port: string; | ||||
|     /** 本考车对应视频合成信息处理系统IP(填错或不填将可能导致录像丢失) */ | ||||
|     video_synthesis_system_ip: string; | ||||
|     /** 本考车对应视频合成信息处理系统本地响应端口(填错或不填将可能导致录像丢失) */ | ||||
|     video_synthesis_system_port: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_7 = { | ||||
|     /** 车牌号 */ | ||||
|     licensePlate: string; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_8 = { | ||||
|     /** 车辆品牌列表 */ | ||||
|     carBrandList?: CarBrand_[]; | ||||
|     /** 考车列表 */ | ||||
|     carInfoList?: CarInfo_[]; | ||||
|     /** 考点列表 */ | ||||
|     examPointInfoList?: ExamPointInfo_[]; | ||||
|   }; | ||||
| 
 | ||||
|   type Pinyin_9 = { | ||||
|     /** 摄像头通道号 */ | ||||
|     channel?: string; | ||||
|     /** 硬盘录像机ip */ | ||||
|     deviceIP?: string; | ||||
|     /** 监管场地编号 */ | ||||
|     equipmentId?: string; | ||||
|     /** 非全景绑定的全景 */ | ||||
|     fullId?: string; | ||||
|     /** 全景区域坐标 */ | ||||
|     gpsArea?: string; | ||||
|     /** 摄像头id */ | ||||
|     id?: string; | ||||
|     /** 是否全景摄像头 */ | ||||
|     isFull?: string; | ||||
|     /** 硬盘录像机密码 */ | ||||
|     password?: string; | ||||
|     /** 硬盘录像机端口 */ | ||||
|     port?: string; | ||||
|     /** 硬盘录像机用户名 */ | ||||
|     user?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf_ = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_4; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf10 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_31; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf11 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_35; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf12 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_40; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf2 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_6; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf3 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_8; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf4 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_10; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf5 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_12; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf6 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_14; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf7 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_16; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf8 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_19; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROf9 = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: Pinyin_22; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROfGpsIPUdpIP_ = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     data?: GpsIPUdpIP_; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROfListOfobject = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     /** 承载数据 */ | ||||
|     data?: Record<string, any>[]; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type ROfobject = { | ||||
|     /** 状态码 1成功 0通用失败 */ | ||||
|     code: number; | ||||
|     /** 承载数据 */ | ||||
|     data?: Record<string, any>; | ||||
|     /** 返回消息 */ | ||||
|     msg: string; | ||||
|   }; | ||||
| 
 | ||||
|   type VehicleSpeend = { | ||||
|     carType?: string; | ||||
|     speend?: string; | ||||
|   }; | ||||
| 
 | ||||
|   type WxsBaseFileBean = { | ||||
|     /** 文件内容base64编码 */ | ||||
|     data: string; | ||||
|     /** 文件类别或id */ | ||||
|     fileid: string; | ||||
|   }; | ||||
| } | ||||
| @ -12,9 +12,6 @@ export async function timeSynchronize() { | ||||
|   res = res.timeSynchronizationRsp; | ||||
|   globalThis.timeInfo=res.body | ||||
|   console.log('timeInfo',JSON.stringify(res.body)) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   return res; | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -54,7 +54,7 @@ export async function startRecordVideo(param, td, context, dir, path?, index?) { | ||||
|       } | ||||
| 
 | ||||
|       // @ts-ignore
 | ||||
|       var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date,dir); | ||||
|       var recordResult = rtsp_server.startRecordVideo(context, video_uri, fileName, date, dir); | ||||
|       const handleId = recordResult.dataInt; | ||||
|       reslove(handleId) | ||||
|     } | ||||
| @ -167,7 +167,8 @@ interface takePhotoParam { | ||||
|   name?: string, | ||||
|   base64?: string, | ||||
|   fileSize?: number, | ||||
|   errorCode?: number | ||||
|   errorCode?: number, | ||||
|   path?: string | ||||
| } | ||||
| 
 | ||||
| /** | ||||
| @ -181,7 +182,7 @@ interface takePhotoParam { | ||||
|  */ | ||||
| const fileHelper = new FileHelper(); | ||||
| 
 | ||||
| export async function delPic(day,type) { | ||||
| export async function delPic(day, type) { | ||||
|   let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(globalThis.context); | ||||
|   console.info('albumGetAssetsDemoCallback'); | ||||
|   let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); | ||||
| @ -195,11 +196,11 @@ export async function delPic(day,type) { | ||||
|   }; | ||||
|   let albumList: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, albumFetchOptions); | ||||
|   let albums = await albumList.getAllObjects(); | ||||
|   for(let i=0;i<=albums.length;i++){ | ||||
|     let albumName=albums[i].albumName | ||||
|   for (let i = 0; i <= albums.length; i++) { | ||||
|     let albumName = albums[i].albumName | ||||
|     // isSevenDaysAgo(albumName, day)
 | ||||
|     console.log('albumNamealbumName',albumName) | ||||
|     if (isSevenDaysAgo(albumName, day)&&albumName!='jt'&&albumName!='pz') { | ||||
|     console.log('albumNamealbumName', albumName) | ||||
|     if (isSevenDaysAgo(albumName, day) && albumName != 'jt' && albumName != 'pz') { | ||||
|       deleteAllFileByPiC(albumName, type) | ||||
| 
 | ||||
|     } | ||||
| @ -227,16 +228,17 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) { | ||||
|     return new Promise<takePhotoParam>(async (resolve, reject) => { | ||||
|       const time = await getCurrentTime() | ||||
|       const date = time.split(' ')[0] | ||||
|       let dirName=dir?dir:date | ||||
|       rtsp_server.getVideoSnapshot(context, video_uri, fileName,dirName, true,async (err, snapResult) => { | ||||
|         if(snapResult.result&&snapResult.errorCode==0){ | ||||
|       let dirName = dir ? dir : date | ||||
|       rtsp_server.getVideoSnapshot(context, video_uri, fileName, dirName, true, async (err, snapResult) => { | ||||
|         if (snapResult.result && snapResult.errorCode == 0) { | ||||
|           resolve({ | ||||
|             base64: snapResult.dataString, | ||||
|             name: snapResult.fileName, | ||||
|             fileSize: snapResult.fileSize, | ||||
|             errorCode: snapResult.errorCode | ||||
|             errorCode: snapResult.errorCode, | ||||
|             path: snapResult.filePath | ||||
|           }) | ||||
|         }else{ | ||||
|         } else { | ||||
|           promptAction.showToast({ | ||||
|             message: `拍照失败`, | ||||
|             duration: 3000 | ||||
| @ -249,9 +251,10 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) { | ||||
|     }) | ||||
|   } | ||||
| } | ||||
| export async function deleteAllPicturesFn(){ | ||||
| 
 | ||||
| export async function deleteAllPicturesFn() { | ||||
|   fileHelper.deleteAllPictures(); | ||||
|   deleteAllVideos(globalThis.context,photoAccessHelper.AlbumType.USER,photoAccessHelper.AlbumSubtype.VIDEO) | ||||
|   deleteAllVideos(globalThis.context, photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.VIDEO) | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,4 @@ | ||||
| import media from '@ohos.multimedia.media'; | ||||
| import fs from '@ohos.file.fs'; | ||||
| import common from '@ohos.app.ability.common'; | ||||
| 
 | ||||
| export class voiceService { | ||||
|   private avPlayer: any = null; | ||||
|  | ||||
| @ -48,8 +48,6 @@ export default class TcpClient { | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   bindTcp() { | ||||
|     this.writeLog({ | ||||
|       time:dateFormat(new Date()), | ||||
| @ -141,8 +139,10 @@ export default class TcpClient { | ||||
|         data: msg | ||||
|       }); | ||||
|       promise.then(() => { | ||||
|         console.log(`${TAG} TCP send success`) | ||||
|         reslove(true) | ||||
|       }).catch(err => { | ||||
|         console.log(`${TAG} TCP send error ${JSON.stringify(err)}`) | ||||
|         this.tcpSendNum++ | ||||
|         if(!globalThis.getCloseTcp&&this.tcpSendNum>10){ | ||||
|           setTimeout(async () => { | ||||
| @ -152,7 +152,6 @@ export default class TcpClient { | ||||
|           return | ||||
|         } | ||||
|         globalThis.getCloseTcp=true | ||||
|         console.log(`${TAG} TCPsend error ${JSON.stringify(err)}`) | ||||
|         // this.writeLog({
 | ||||
|         //   time:dateFormat(new Date()),
 | ||||
|         //   message: `${TAG} TCPsend error ${JSON.stringify(err)}`,
 | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| import socket from '@ohos.net.socket'; | ||||
| import util from '@ohos.util'; | ||||
| import FileUtil from '../utils/File'; | ||||
| import { GlobalConfig } from '../../config/global' | ||||
| 
 | ||||
| interface RequestKey { | ||||
|   time: string | ||||
| @ -48,6 +49,10 @@ class TcpUtils { | ||||
|   } | ||||
| 
 | ||||
|   async init() { | ||||
|     const fileUtil = new FileUtil(globalThis.context) | ||||
|     const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); | ||||
|     const result = JSON.parse(data) | ||||
| 
 | ||||
|     this.path = await this.fileUtil.initFolder('/config/tcpRequest') | ||||
|     this.socket.on("message", (res) => { | ||||
|       let decoder = util.TextDecoder.create() | ||||
| @ -101,14 +106,10 @@ class TcpUtils { | ||||
|     }) | ||||
| 
 | ||||
|     this.loop() | ||||
| 
 | ||||
|     return this.socket.connect({ | ||||
|       address: { address: "172.37.55.191", port: 19998 } | ||||
|       address: { address: result.tcpOppositeIp, port: 19998 } | ||||
|     }).then(() => { | ||||
|       this.heartbeat = setInterval(() => { | ||||
|         this.send("heart", JSON.stringify({ | ||||
|           isHeartBeat: 1 | ||||
|         }), false) | ||||
|       }, 1000 * 6) | ||||
|       console.log(tag, "connect success") | ||||
|     }).catch(err => { | ||||
|       console.log(tag, JSON.stringify(err)) | ||||
| @ -165,31 +166,61 @@ class TcpUtils { | ||||
|       console.log(tag, 'send', message) | ||||
|     } | ||||
|     this.fileUtil.addFile(this.path + 'temp.txt', `^#${message}#$`) | ||||
|     this.socket.send({ | ||||
|       data: `^#${message}#$` | ||||
|     }).then(() => { | ||||
|       if (log) { | ||||
|         console.log(tag, 'send success') | ||||
|     try { | ||||
|       await this.socket.send({ data: "^#" }) | ||||
|       while (message.length > 0) { | ||||
|         await this.socket.send({ data: message.slice(0, 100) }) | ||||
|         message = message.slice(100) | ||||
|       } | ||||
|     }).catch(async err => { | ||||
|       if (key !== "heart") { | ||||
|       await this.socket.send({ data: "#$" }) | ||||
|       console.log(tag, 'send success') | ||||
|     } catch (err) { | ||||
|       console.log("tcp request send failed", this.requestMap.get(key).url) | ||||
|       this.requestMap.get(key).reject({ | ||||
|         message: "tcp request send failed", | ||||
|         code: 2300007 | ||||
|       }) | ||||
|       } | ||||
|       this.requestMap.delete(key) | ||||
|       await this.socket.close() | ||||
|       this.socket = socket.constructTCPSocketInstance() | ||||
|       const fileUtil = new FileUtil(globalThis.context) | ||||
|       const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); | ||||
|       const result = JSON.parse(data) | ||||
|       await this.socket.connect({ | ||||
|         address: { address: "172.37.55.191", port: 19998 } | ||||
|         address: { address: result.tcpOppositeIp, port: 19998 } | ||||
|       }).then(res => { | ||||
|         console.log("tcp request reconnect success", JSON.stringify(res)) | ||||
|       }).catch(err => { | ||||
|         console.log("tcp request reconnect failed", JSON.stringify(err)) | ||||
|       }) | ||||
|       console.log(tag, JSON.stringify(err)) | ||||
|     }) | ||||
|     } | ||||
| 
 | ||||
|     // this.socket.send({
 | ||||
|     //   data: `^#${message}#$`
 | ||||
|     // }).then(() => {
 | ||||
|     //   if (log) {
 | ||||
|     //     console.log(tag, 'send success')
 | ||||
|     //   }
 | ||||
|     // }).catch(async err => {
 | ||||
|     //   if (key !== "heart") {
 | ||||
|     //     console.log("tcp request send failed", this.requestMap.get(key).url)
 | ||||
|     //     this.requestMap.get(key).reject({
 | ||||
|     //       message: "tcp request send failed",
 | ||||
|     //       code: 2300007
 | ||||
|     //     })
 | ||||
|     //   }
 | ||||
|     //   await this.socket.close()
 | ||||
|     //   this.socket = socket.constructTCPSocketInstance()
 | ||||
|     //   await this.socket.connect({
 | ||||
|     //     address: { address: "172.37.55.191", port: 19998 }
 | ||||
|     //   }).then(res => {
 | ||||
|     //     console.log("tcp request reconnect success", JSON.stringify(res))
 | ||||
|     //   }).catch(err => {
 | ||||
|     //     console.log("tcp request reconnect failed", JSON.stringify(err))
 | ||||
|     //   })
 | ||||
|     //   console.log(tag, JSON.stringify(err))
 | ||||
|     // })
 | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -4,10 +4,17 @@ import prompt from '@ohos.prompt'; | ||||
| import { tcpUtil } from './TcpRequest'; | ||||
| import Prompt from '@system.prompt'; | ||||
| import tempRequest from './tempRequest'; | ||||
| import connection from '@ohos.net.connection'; | ||||
| import { TempLogger } from './TempLogger'; | ||||
| import { dateFormat } from './tools'; | ||||
| import { voiceService } from '../service/voiceService'; | ||||
| 
 | ||||
| let vs = new voiceService(() => { | ||||
| }) | ||||
| 
 | ||||
| export default async function request<T>(req: any): Promise<T> { | ||||
|   return tempRequest(req) | ||||
| export let isError = false | ||||
| 
 | ||||
| function tcpRequest<T>(req: any): Promise<T> { | ||||
|   return new Promise((resolve, reject) => { | ||||
|     let {url,params = {},data = {},xml,method = 'get',host,isNewCenter = false, timeout} = req; | ||||
|     try { | ||||
| @ -24,20 +31,18 @@ export default async function request<T>(req: any): Promise<T> { | ||||
|       let baseUrl = host ? host : globalThis.host | ||||
|       console.log('响应头地址1' + baseUrl, url, options.extraData.length) | ||||
| 
 | ||||
|       // globalThis.TcpClient.request(`${baseUrl}${url}${paramsStr}`, {
 | ||||
|       tcpUtil.request(`${baseUrl}${url}${paramsStr}`, { | ||||
|         method: options.method, | ||||
|         data: xml ? data : JSON.stringify(data), | ||||
|         type: xml ? 1 : 0, | ||||
|         contentType: xml ? 'text/xml' : 'application/json', | ||||
|         timeout: timeout || 90000 | ||||
|         timeout: timeout || 15 * 1000 | ||||
|       }, (data) => { | ||||
|         try { | ||||
|           console.log(JSON.stringify(data)) | ||||
|         const result = JSON.parse(JSON.stringify(data)) | ||||
|         console.log('响应头地址' + JSON.stringify(result)) | ||||
|         let res: any = xml ? xmlToJson(result, url) : result; | ||||
|           console.log('响应头地址 xml 后 res' + JSON.stringify(res)) | ||||
|           console.log('响应头地址 xml 后 res 类型', typeof res) | ||||
|         console.log('响应头地址' + JSON.stringify(res)) | ||||
| 
 | ||||
|         let resObj = null; | ||||
|         if (typeof res === "string") { | ||||
| @ -58,7 +63,7 @@ export default async function request<T>(req: any): Promise<T> { | ||||
|             return | ||||
|           } else { | ||||
|             const resultMessage = res?.body?.resultMessage || res?.head?.resultMessage | ||||
|               prompt.showToast({ | ||||
|             Prompt.showToast({ | ||||
|               message: decodeURIComponent(resultMessage), | ||||
|               duration: 3000 | ||||
|             }); | ||||
| @ -68,7 +73,7 @@ export default async function request<T>(req: any): Promise<T> { | ||||
|         for (let i in res) { | ||||
|           resObj = res[i].head | ||||
|         } | ||||
|           console.info('res in request' + url + JSON.stringify(resObj)) | ||||
|         console.info('jiangsong:res in request' + url + JSON.stringify(resObj)) | ||||
|         if (resObj.resultCode === '0') { | ||||
|           resolve(res) | ||||
|           return | ||||
| @ -79,54 +84,130 @@ export default async function request<T>(req: any): Promise<T> { | ||||
|           }); | ||||
|           reject(res) | ||||
|         } | ||||
|         } catch (e) { | ||||
|           reject(e) | ||||
|           console.log("http parse error: ", JSON.stringify(e)) | ||||
|         } | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log("req timeout", JSON.stringify(error)) | ||||
|         console.log("req timeout url", url) | ||||
|         if (!error || !(error?.message)) { | ||||
|           reject({ | ||||
|             code: -1 | ||||
|           }) | ||||
|         } | ||||
|         const code = error?.code; | ||||
|         console.info('test-error0' + url + ' error:resp: ' + JSON.stringify(error.message)) | ||||
|         Prompt.showToast({ | ||||
|           message: error?.message, | ||||
|           duration: 5000 | ||||
|         }); | ||||
|         switch (code) { | ||||
|         //断网
 | ||||
|           case 2300007: | ||||
|             reject({ | ||||
|               code: 2300007 | ||||
|             }) | ||||
|             break; | ||||
|         // 超时
 | ||||
|           case 2300028: | ||||
|             reject({ | ||||
|               code: 2300028 | ||||
|             }) | ||||
|             break; | ||||
|           default: | ||||
|         reject(error) | ||||
|         } | ||||
|         Prompt.showToast({ | ||||
|           message: JSON.stringify(error), | ||||
|           duration: 3000 | ||||
|         }); | ||||
|       }) | ||||
|     } catch (e) { | ||||
|       console.info('test-error' + url + ' error:resp: ' + JSON.stringify(e)) | ||||
| 
 | ||||
|     } | ||||
|   }) | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| export default async function request<T>(req: any): Promise<T> { | ||||
|   // return tcpRequest<T>(req)
 | ||||
|   // return new Promise((resolve, reject) => {
 | ||||
|   //   tempRequest(req).then((response) => {
 | ||||
|   //     console.log("[http request] only http request success")
 | ||||
|   //     resolve(response as T)
 | ||||
|   //   }).catch(err => {
 | ||||
|   //     console.log("[http request] only http request error")
 | ||||
|   //     reject(err)
 | ||||
|   //   })
 | ||||
|   // })
 | ||||
|   // return tempRequest<T>(req)
 | ||||
|   // if (!isError) {
 | ||||
|   //   return new Promise<T>((resolve, reject) => {
 | ||||
|   //     console.log("[http request] url: " + req.url)
 | ||||
|   //     console.log("[http request] http request start")
 | ||||
|   //     tempRequest<T>(req).then((response) => {
 | ||||
|   //       console.log("[http request] http request success")
 | ||||
|   //       resolve(response)
 | ||||
|   //     }).catch((error) => {
 | ||||
|   //       isError=true
 | ||||
|   //       connection.getDefaultNet((error: any, data: any) => {
 | ||||
|   //         if (error) {
 | ||||
|   //           console.error(`Failed Http. Code:${error.code}, message:${error.message}`);
 | ||||
|   //           return;
 | ||||
|   //         }
 | ||||
|   //         console.log("Http success" + JSON.stringify(data));
 | ||||
|   //       });
 | ||||
|   //       console.log("[http request] http request error: " + JSON.stringify(error))
 | ||||
|   //       console.log("[http request] start tcp resend")
 | ||||
|   //       tcpRequest<T>(req).then(response => {
 | ||||
|   //         console.log("[http request] tcp resend success")
 | ||||
|   //         resolve(response as T)
 | ||||
|   //       }).catch(err => {
 | ||||
|   //         console.log("[http request] tcp resend failed: " + JSON.stringify(err))
 | ||||
|   //         reject(err)
 | ||||
|   //       })
 | ||||
|   //     })
 | ||||
|   //   })
 | ||||
|   // } else {
 | ||||
|   //   console.log("[http request] url: " + req.url)
 | ||||
|   //   console.log("[http request] only tcp request start")
 | ||||
|   //   return new Promise((resolve, reject) => {
 | ||||
|   //     tcpRequest(req).then(res=> {
 | ||||
|   //       console.log("[http request] only tcp request success")
 | ||||
|   //       resolve(res as T)
 | ||||
|   //     }).catch(err => {
 | ||||
|   //       console.log("[http request] only tcp request error")
 | ||||
|   //       reject(err)
 | ||||
|   //     })
 | ||||
|   //   })
 | ||||
|   // }
 | ||||
| 
 | ||||
| 
 | ||||
|   if (!isError) { | ||||
|     return new Promise<T>((resolve, reject) => { | ||||
|       console.log("[http request] url: " + req.url) | ||||
|       console.log("[http request] tcp request start") | ||||
|       tcpRequest<T>(req).then((response) => { | ||||
|         console.log("[http request] tcp request success") | ||||
|         resolve(response) | ||||
|       }).catch((error) => { | ||||
|         if (error.code === 2300007) { | ||||
|           isError = true | ||||
|         } | ||||
|         // vs.playAudio({
 | ||||
|         //   type: 1,
 | ||||
|         //   name: 'voice/PLCError.mp3'
 | ||||
|         // })
 | ||||
|         connection.getDefaultNet((error: any, data: any) => { | ||||
|           if (error) { | ||||
|             console.error(`Failed Http. Code:${error.code}, message:${error.message}`); | ||||
|             return; | ||||
|           } | ||||
|           console.log("Http success" + JSON.stringify(data)); | ||||
|         }); | ||||
|         console.log("[http request] tcp request error: " + JSON.stringify(error)) | ||||
|         console.log("[http request] start http resend") | ||||
|         tempRequest<T>(req).then(response => { | ||||
|           console.log("[http request] http resend success") | ||||
|           resolve(response as T) | ||||
|         }).catch(err => { | ||||
|           // vs.playAudio({
 | ||||
|           //   type: 1,
 | ||||
|           //   name: 'voice/PLCError.mp3'
 | ||||
|           // })
 | ||||
|           TempLogger.error(JSON.stringify({ | ||||
|             time: dateFormat(new Date()), | ||||
|             error: JSON.stringify(error), | ||||
|             params: JSON.stringify(req) | ||||
|           })) | ||||
|           console.log("[http request] http resend failed: " + JSON.stringify(err)) | ||||
|           reject(err) | ||||
|         }) | ||||
|       }) | ||||
|     }) | ||||
|   } else { | ||||
|     console.log("[http request] url: " + req.url) | ||||
|     console.log("[http request] only http request start") | ||||
|     return new Promise((resolve, reject) => { | ||||
|       tempRequest(req).then((response) => { | ||||
|         console.log("[http request] only http request success") | ||||
|         resolve(response as T) | ||||
|       }).catch(err => { | ||||
|         console.log("[http request] only http request error") | ||||
|         reject(err) | ||||
|       }) | ||||
|     }) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| //xml格式转JSON
 | ||||
| function xmlToJson(result, url) { | ||||
| @ -236,8 +317,6 @@ const deeml = (elements, _name?) => { | ||||
|           json[ele._name] = obj | ||||
|         } | ||||
|       } | ||||
| 
 | ||||
|       0 | ||||
|     } else { | ||||
|       //标签上有属性
 | ||||
|       if (ele._attributes) { | ||||
|  | ||||
							
								
								
									
										38
									
								
								entry/src/main/ets/common/utils/tempLogger.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								entry/src/main/ets/common/utils/tempLogger.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| import fs from '@ohos.file.fs' | ||||
| 
 | ||||
| function getTime() { | ||||
|   let time = new Date() | ||||
|   let year = time.getFullYear() | ||||
|   let month = time.getMonth() + 1 | ||||
|   let day = time.getDate() | ||||
|   let hour = time.getHours() | ||||
|   let minute = time.getMinutes() | ||||
|   let second = time.getSeconds() | ||||
|   return `${year}-${month}-${day} ${hour}:${minute}:${second}` | ||||
| } | ||||
| 
 | ||||
| export class TempLogger { | ||||
|   private static configFilePath: string = '/mnt/hmdfs/100/account/device_view/local/files/config' | ||||
|   private static configFileName: string = 'logger.log' | ||||
|   private static file: fs.File | ||||
| 
 | ||||
|   static init() { | ||||
|     if (!fs.accessSync(this.configFilePath)) { | ||||
|       fs.mkdirSync(this.configFilePath) | ||||
|     } | ||||
|     this.file = fs.openSync(this.configFilePath + '/' + this.configFileName, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE | fs.OpenMode.APPEND) | ||||
|   } | ||||
| 
 | ||||
|   static info(message: string) { | ||||
|     fs.writeSync(this.file.fd, `[${getTime()}][info]: ${message}\n`) | ||||
|   } | ||||
| 
 | ||||
|   static error(message: string) { | ||||
|     fs.writeSync(this.file.fd, `[${getTime()}][error]: ${message}\n`) | ||||
|   } | ||||
| 
 | ||||
|   static destroy() { | ||||
|     fs.closeSync(this.file.fd) | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| @ -120,8 +120,6 @@ export default async function tempRequest<T>(req: any): Promise<T> { | ||||
| 
 | ||||
|     } | ||||
|   }) | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -8,6 +8,7 @@ import { makedir } from '../common/service/fileService' | ||||
| import { Array2Byte } from '../common/utils/tools' | ||||
| import { GlobalConfig } from '../config/global' | ||||
| import { tcpUtil } from '../common/utils/TcpRequest'; | ||||
| import { TempLogger } from '../common/utils/TempLogger'; | ||||
| import DB from '../common/database/DbSql'; | ||||
| import { initTable } from '../common/service/initable'; | ||||
| 
 | ||||
| @ -37,7 +38,6 @@ export default class EntryAbility extends UIAbility { | ||||
|     // this.context | ||||
|     // Main window is created, set main page for this ability | ||||
|     hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); | ||||
|     await tcpUtil.init() | ||||
| 
 | ||||
| 
 | ||||
|     globalThis.carInfo = {} | ||||
| @ -69,12 +69,14 @@ export default class EntryAbility extends UIAbility { | ||||
|     console.info('jiangsong globalThis.pathDir = ' + globalThis.pathDir); | ||||
|     // this.requestPermission(this.context) | ||||
|     // this.featureAbilityAuth() | ||||
|     TempLogger.init() | ||||
|     await tcpUtil.init() | ||||
| 
 | ||||
|     const windowClass = await windowStage.getMainWindow(); | ||||
|     globalThis.windowClass = windowClass | ||||
|     // await windowClass.setWindowLayoutFullScreen(true) | ||||
|     // await windowClass.setWindowSystemBarEnable([]) //全屏 | ||||
|     await windowClass.setWindowSystemBarEnable(['navigation']) | ||||
|     await windowClass.setWindowSystemBarEnable([]) //全屏 | ||||
|     // await windowClass.setWindowSystemBarEnable(['navi gation']) | ||||
| 
 | ||||
|     windowStage.loadContent('pages/Index', (err, data) => { | ||||
|       if (err.code) { | ||||
| @ -359,21 +359,6 @@ struct Index { | ||||
|   } | ||||
| 
 | ||||
|   async aboutToAppear() { | ||||
|     // setInterval(() => { | ||||
|     //   let date = new Date(); | ||||
|     //   console.info('jiangsong1:timeSynchronization begin '); | ||||
|     //   uploadProgressData() | ||||
|     //   let params = { | ||||
|     //     time: dateFormat(date), | ||||
|     //     deviceNo: globalThis.deviceNo, | ||||
|     //     version: globalThis.version, | ||||
|     //     judgeVersion: globalThis.judgeVersion | ||||
|     //   } | ||||
|     //   timeSynchronizationHTTP(params) | ||||
|     // }, 1000) | ||||
| 
 | ||||
|     console.log('diyidiy') | ||||
| 
 | ||||
|     this.avPlayer = new VoiceAnnounce(); | ||||
|     this.initParamFlag = false | ||||
|     this.delLoading = false | ||||
|  | ||||
| @ -54,6 +54,7 @@ import { | ||||
|   examJudgeVersion | ||||
| } from './api/index'; | ||||
| import { getSyncData, upDateTableByArray } from '../../common/service/initable'; | ||||
| import { isError } from '../../common/utils/request'; | ||||
| 
 | ||||
| const judgeTag = 'SURENJUN_JUDGE' | ||||
| 
 | ||||
| @ -1399,6 +1400,9 @@ export default class Judge { | ||||
|                   this.isUdpEnd = true; | ||||
|                   closeAllFiles() | ||||
|                   router.back(); | ||||
|                   if(isError) { | ||||
|                     globalThis.context.terminateSelf() | ||||
|                   } | ||||
|                 }) | ||||
|                 throw new Error('End Loop') | ||||
|               } | ||||
| @ -1408,6 +1412,9 @@ export default class Judge { | ||||
|                 this.isUdpEnd = true; | ||||
|                 closeAllFiles() | ||||
|                 router.back(); | ||||
|                 if(isError) { | ||||
|                   globalThis.context.terminateSelf() | ||||
|                 } | ||||
|               }) | ||||
|               throw new Error('End Loop') | ||||
|             } | ||||
| @ -1422,6 +1429,9 @@ export default class Judge { | ||||
|           this.isUdpEnd = true | ||||
|           closeAllFiles() | ||||
|           router.back(); | ||||
|           if(isError) { | ||||
|             globalThis.context.terminateSelf() | ||||
|           } | ||||
|         }, param302 == 8 ? 3000 : 0) | ||||
|       }) | ||||
|     } | ||||
|  | ||||
| @ -1,32 +1,38 @@ | ||||
| import FileUtil from '../../../common/utils/File' | ||||
| import { takePhoto } from '../../../common/service/videoService'; | ||||
| import promptAction from '@ohos.promptAction'; | ||||
| import {judgeConfig} from './judgeConfig' | ||||
| import { judgeConfig } from './judgeConfig' | ||||
| 
 | ||||
| interface Params{ | ||||
|   userName:string | ||||
|   pwd:string | ||||
|   ip:string | ||||
|   port:string | ||||
|   rlls:string | ||||
|   pztd:string | ||||
| interface Params { | ||||
|   userName: string | ||||
|   pwd: string | ||||
|   ip: string | ||||
|   port: string | ||||
|   rlls: string | ||||
|   pztd: string | ||||
| } | ||||
| 
 | ||||
| export default class FilePhoto{ | ||||
| 
 | ||||
|   private params:Params | ||||
|   private context:any | ||||
|   private fileUtil:FileUtil | ||||
| export default class FilePhoto { | ||||
|   private params: Params | ||||
|   private context: any | ||||
|   private fileUtil: FileUtil | ||||
|   public mediaTest | ||||
| 
 | ||||
|   constructor(context) { | ||||
|     (async ()=>{ | ||||
|     (async () => { | ||||
|       //TODO 309参数 获取拍照摄像头拍照通道
 | ||||
|       const fileUtil = new FileUtil(context) | ||||
|       const strConfig = await fileUtil.readFile('/mnt/hmdfs/100/account/device_view/local/files/duolun/config/config3.txt'); | ||||
|       const config = JSON.parse(strConfig) | ||||
|       const {userName,ip,pwd,port,rlls,pztd} = config | ||||
|       this.params = {userName,pwd,ip,port,rlls,pztd} | ||||
|       this.params = { | ||||
|         userName, | ||||
|         pwd, | ||||
|         ip, | ||||
|         port, | ||||
|         rlls, | ||||
|         pztd | ||||
|       } | ||||
|       this.context = context | ||||
|       this.fileUtil = fileUtil | ||||
|     })() | ||||
| @ -34,13 +40,13 @@ export default class FilePhoto{ | ||||
| 
 | ||||
|   public getPhoto = async () => { | ||||
|     const {params} = this; | ||||
|     if(!judgeConfig.isPhotoOpen){ | ||||
|     if (!judgeConfig.isPhotoOpen) { | ||||
|       return '' | ||||
|     }else{ | ||||
|     } else { | ||||
|       try { | ||||
|         console.info('surenjun','拍照开始') | ||||
|         const res = await takePhoto(params, this.context, 'pz/',2); | ||||
|         console.info('surenjun','拍照结束' + JSON.stringify(res)) | ||||
|         console.info('surenjun', '拍照开始') | ||||
|         const res = await takePhoto(params, this.context, 'pz/', 2); | ||||
|         console.info('surenjun', '拍照结束' + JSON.stringify(res)) | ||||
|         return res.base64 | ||||
|       } catch (e) { | ||||
|         console.error('surenjun =>拍照异常' + JSON.stringify(e)) | ||||
| @ -52,5 +58,4 @@ export default class FilePhoto{ | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| @ -13,11 +13,10 @@ | ||||
|     "deliveryWithInstall": true, | ||||
|     "installationFree": false, | ||||
|     "pages": "$profile:main_pages", | ||||
| 
 | ||||
|     "abilities": [ | ||||
|       { | ||||
|         "name": "EntryAbility", | ||||
|         "srcEntrance": "./ets/entryability/EntryAbility.ts", | ||||
|         "srcEntrance": "./ets/entryability/EntryAbility.ets", | ||||
|         "description": "$string:EntryAbility_desc", | ||||
|         "icon": "$media:logo_app", | ||||
|         "label": "$string:EntryAbility_label", | ||||
| @ -145,7 +144,7 @@ | ||||
|           ], | ||||
|           "when": "always" | ||||
|         } | ||||
|       } | ||||
|       }, | ||||
|     ] | ||||
|   } | ||||
| } | ||||
							
								
								
									
										16
									
								
								entry/src/main/profile.cer
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								entry/src/main/profile.cer
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIICFDCCAZugAwIBAgIIbCabrHLc1nQwCgYIKoZIzj0EAwMwYzELMAkGA1UEBhMC | ||||
| Q04xFDASBgNVBAoTC09wZW5IYXJtb255MRkwFwYDVQQLExBPcGVuSGFybW9ueSBU | ||||
| ZWFtMSMwIQYDVQQDExpPcGVuSGFybW9ueSBBcHBsaWNhdGlvbiBDQTAeFw0yNTAy | ||||
| MjgwMjMwMTdaFw0zNTAyMjYwMjMwMTdaMEoxFTATBgNVBAMMDGlkZV9kZW1vX2Fw | ||||
| cDENMAsGA1UECxMEVW5pdDEVMBMGA1UEChMMT3JnYW5pemF0aW9uMQswCQYDVQQG | ||||
| EwJDTjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOFq48bclfywoLttIlG/YDMM | ||||
| Xlm2fo7BMAagThiUCBf9Bs2Bok2OZDNJiwEHaLs9u3hy0m0lzW0y2gNfoPtfxt2j | ||||
| UjBQMB0GA1UdDgQWBBTG5WaMCuxFkT65zsvOv/hX8GUPVDAOBgNVHQ8BAf8EBAMC | ||||
| B4AwHwYDVR0jBBgwFoAU24a3IhbVC6FLt90le7nxBX2iLUcwCgYIKoZIzj0EAwMD | ||||
| ZwAwZAIwTQYw6FkHfu9pzL2wQLrx6+di2h/pDIWxQ+GZpx/whBbTlB0O9qL5IKqk | ||||
| YMuXDxsAAjASc4/mVZ9n/o8XAV1CnPzLAP8hdZhTUTRY6vnf+5oKrl+VQWtsfmlT | ||||
| v4R8JxW/Pf0= | ||||
| -----END CERTIFICATE----- | ||||
| 
 | ||||
| 73706A370E90F2232DCA48943881E8AE44A27ADFBD6C25EE22CE13ED941EEE7C | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user