Compare commits
3 Commits
4c1e56981b
...
39bfed3beb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
39bfed3beb | ||
|
|
5b48137d66 | ||
|
|
78be17b13b |
@ -6,6 +6,8 @@ import { GetSyncData } from '../utils/table/Operation';
|
|||||||
import { GetCurrentTime } from '../utils/Common';
|
import { GetCurrentTime } from '../utils/Common';
|
||||||
import FileUtils from '../utils/FileUtils';
|
import FileUtils from '../utils/FileUtils';
|
||||||
import common from '@ohos.app.ability.common';
|
import common from '@ohos.app.ability.common';
|
||||||
|
import { dConsole } from '../utils/LogWorker';
|
||||||
|
import { JudgeTag } from '../config';
|
||||||
|
|
||||||
let baseHost: string = AppStorage.get<string>('host')!;
|
let baseHost: string = AppStorage.get<string>('host')!;
|
||||||
|
|
||||||
@ -35,43 +37,39 @@ export async function writeObjectOut(params: RegulatoryInterfaceParams, filePath
|
|||||||
return { code: 1 }
|
return { code: 1 }
|
||||||
}
|
}
|
||||||
let JGHOST: string = AppStorage.get<string>("JGHOST") || ""
|
let JGHOST: string = AppStorage.get<string>("JGHOST") || ""
|
||||||
|
let isJGNew: boolean = false
|
||||||
//获取监管接口地址路径
|
//获取监管接口地址路径
|
||||||
if (!JGHOST) {
|
if (!JGHOST) {
|
||||||
const syssetParams: MASYSSETTableType[] = await GetSyncData<MASYSSETTableType>("MA_SYSSET");
|
const syssetParams: MASYSSETTableType[] = await GetSyncData<MASYSSETTableType>("MA_SYSSET");
|
||||||
|
|
||||||
syssetParams.forEach(sys => {
|
syssetParams.forEach(sys => {
|
||||||
if (sys.v_no == '839') {
|
if (sys.v_no == '839') {
|
||||||
//是否是新监管
|
//是否是新监管
|
||||||
// globalThis.isJGNew = sys.v_value == '3'
|
isJGNew = sys.v_value == '3'
|
||||||
AppStorage.setOrCreate('isJGNew', sys.v_value == '3')
|
AppStorage.setOrCreate('isJGNew', isJGNew)
|
||||||
}
|
}
|
||||||
if (sys.v_no == '900') {
|
if (sys.v_no == '900') {
|
||||||
// globalThis.JGHOST = validateIP(decodeURIComponent(sys.v_value))
|
const ip = decodeURIComponent(sys.v_value || "")
|
||||||
AppStorage.setOrCreate('JGHOST', validateIP(decodeURIComponent(sys.v_value || "")))
|
JGHOST = validateIP(ip) || ""
|
||||||
|
dConsole.log(JudgeTag, "监管地址取值", JGHOST)
|
||||||
|
AppStorage.setOrCreate('JGHOST', JGHOST)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// const { xtlb, jkxlh, jkid, drvexam } = params;
|
|
||||||
const isJGNew: boolean = AppStorage.get<boolean>('isJGNew') || false
|
|
||||||
//新监管调用
|
//新监管调用
|
||||||
if (isJGNew) {
|
if (isJGNew) {
|
||||||
|
dConsole.log(JudgeTag, "新监管")
|
||||||
return await writeObjectOutNew(params, filePath, context)
|
return await writeObjectOutNew(params, filePath, context)
|
||||||
}
|
}
|
||||||
params.drvexam = params.drvexam ?? {};
|
params.drvexam = params.drvexam ?? {};
|
||||||
params.drvexam.zp = params.drvexam.zp === undefined ? undefined : encodeURIComponent(params.drvexam.zp);
|
params.drvexam.zp = params.drvexam.zp === undefined ? undefined : encodeURIComponent(params.drvexam.zp);
|
||||||
|
|
||||||
const drvexamArrs = Object.entries(params.drvexam)
|
const drvexamArr = Object.entries(params.drvexam)
|
||||||
.filter((item: [string, string]) => item[1] != undefined)
|
.filter((item: [string, string]) => item[1] != undefined)
|
||||||
.map((item: [string, object]) => `<${item[0]}>${item[1]}</${item[0]}>`)
|
.map((item: [string, object]) => `<${item[0]}>${item[1]}</${item[0]}>`)
|
||||||
// const drvexamArrs = Reflect.ownKeys(params.drvexam)
|
|
||||||
// .filter(dKey => Reflect.get(params.drvexam, dKey) != undefined)
|
|
||||||
// .map((key: string) => (
|
|
||||||
// `<${key}>${Reflect.get(params.drvexam, key)}</${key}>`));
|
|
||||||
|
|
||||||
if (filePath) {
|
if (filePath) {
|
||||||
const fileUtil = new FileUtils(context);
|
const fileUtil = new FileUtils(context);
|
||||||
await fileUtil.initFolder(filePath);
|
await fileUtil.initFolder(filePath);
|
||||||
|
|
||||||
let obj: WuxiExamType = {
|
let obj: WuxiExamType = {
|
||||||
xtlb: params.xtlb,
|
xtlb: params.xtlb,
|
||||||
jkxlh: params.jkxlh,
|
jkxlh: params.jkxlh,
|
||||||
@ -83,9 +81,8 @@ export async function writeObjectOut(params: RegulatoryInterfaceParams, filePath
|
|||||||
}
|
}
|
||||||
fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(obj) + `\n`);
|
fileUtil.editFile(`${filePath}/wuxi_exam_data.txt`, JSON.stringify(obj) + `\n`);
|
||||||
}
|
}
|
||||||
|
dConsole.log(JudgeTag, "老监管", JGHOST)
|
||||||
//对象转换成xml
|
//对象转换成xml
|
||||||
JGHOST = AppStorage.get<string>("JGHOST") || ""
|
|
||||||
const temp = await request<object>({
|
const temp = await request<object>({
|
||||||
host: JGHOST,
|
host: JGHOST,
|
||||||
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
url: '/dems_ws/services/TmriOutAccess?wsdl',
|
||||||
@ -105,7 +102,7 @@ export async function writeObjectOut(params: RegulatoryInterfaceParams, filePath
|
|||||||
<?xm lversion="1.0 "encoding="GBK"?>
|
<?xm lversion="1.0 "encoding="GBK"?>
|
||||||
<root>
|
<root>
|
||||||
<drvexam>
|
<drvexam>
|
||||||
${drvexamArrs}
|
${drvexamArr}
|
||||||
</drvexam>
|
</drvexam>
|
||||||
</root>
|
</root>
|
||||||
]]>
|
]]>
|
||||||
@ -262,11 +259,6 @@ export async function uploadExamMileage(params: UploadExamMileage) {
|
|||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
|
|
||||||
function validateIP(path: string) {
|
|
||||||
const reg = new RegExp(`(\w+):\/\/([^/:]+)(:\d*)?`)
|
|
||||||
const result = path.match(reg);
|
|
||||||
return result ? result[0] : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上传运行时常
|
// 上传运行时常
|
||||||
export async function uploadHarmonyLiCheng(data: object) {
|
export async function uploadHarmonyLiCheng(data: object) {
|
||||||
@ -277,3 +269,11 @@ export async function uploadHarmonyLiCheng(data: object) {
|
|||||||
xml: false
|
xml: false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function validateIP(path: string) {
|
||||||
|
// const regex = /(\w+):\/\/([\d.]+)(:\d+)?/;
|
||||||
|
const regex = new RegExp("(\\w+):\\/\\/([\\d.]+)(:\\d+)?");
|
||||||
|
const result = path.match(regex);
|
||||||
|
return result ? result[0] : null;
|
||||||
|
}
|
||||||
|
|||||||
@ -165,6 +165,10 @@ export interface EnvironmentConfigurationType {
|
|||||||
isOpenFiniteDifference?: string
|
isOpenFiniteDifference?: string
|
||||||
// 是否开启调试模式
|
// 是否开启调试模式
|
||||||
isOpenDebugger?: string
|
isOpenDebugger?: string
|
||||||
|
// 外壳版本
|
||||||
|
version?: string
|
||||||
|
// 评判版本
|
||||||
|
judgeVersion?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
//全局配置
|
//全局配置
|
||||||
|
|||||||
@ -132,7 +132,13 @@ struct ExaminerLoginPage {
|
|||||||
const endTime = new Date().getTime();
|
const endTime = new Date().getTime();
|
||||||
const elapsedTime = endTime - startTime;
|
const elapsedTime = endTime - startTime;
|
||||||
const remainingTime = Math.max(0, minDisplayTime - elapsedTime);
|
const remainingTime = Math.max(0, minDisplayTime - elapsedTime);
|
||||||
|
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
||||||
|
if (!examinerLoginInfo) {
|
||||||
|
dConsole.error(ExaminerLoginTag, 'examinerLoginRsp.body is undefined');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
examinerLoginInfo.username = this.userName;
|
||||||
|
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo);
|
||||||
// 延迟关闭弹窗和跳转
|
// 延迟关闭弹窗和跳转
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.loadingDialog.close();
|
this.loadingDialog.close();
|
||||||
@ -142,14 +148,6 @@ struct ExaminerLoginPage {
|
|||||||
type: 1
|
type: 1
|
||||||
}
|
}
|
||||||
}, router.RouterMode.Single);
|
}, router.RouterMode.Single);
|
||||||
|
|
||||||
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
|
||||||
if (!examinerLoginInfo) {
|
|
||||||
dConsole.error(ExaminerLoginTag, 'examinerLoginRsp.body is undefined');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
examinerLoginInfo.username = this.userName;
|
|
||||||
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo);
|
|
||||||
}, remainingTime);
|
}, remainingTime);
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@ -206,7 +206,7 @@ struct Index {
|
|||||||
this.initWork = true
|
this.initWork = true
|
||||||
}
|
}
|
||||||
DifferentialAndSignal.onMsg(() => {
|
DifferentialAndSignal.onMsg(() => {
|
||||||
dConsole.log("外层接受")
|
// dConsole.log("外层接受")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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, StartExamTag, UserInfoTag } 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';
|
||||||
@ -778,7 +778,7 @@ struct UserInfoPage {
|
|||||||
sfzmhm: this.currentUser.sfzmhm,
|
sfzmhm: this.currentUser.sfzmhm,
|
||||||
examinationRoomId: this.carInfo.examinationRoomId || "",
|
examinationRoomId: this.carInfo.examinationRoomId || "",
|
||||||
username: this.examinerLoginInfo.username || "",
|
username: this.examinerLoginInfo.username || "",
|
||||||
lsh: this.lsh
|
lsh: this.lsh,
|
||||||
}
|
}
|
||||||
dConsole.log('carNo1111', param)
|
dConsole.log('carNo1111', param)
|
||||||
examinationStuAbsent(param).then(res => {
|
examinationStuAbsent(param).then(res => {
|
||||||
@ -800,6 +800,7 @@ struct UserInfoPage {
|
|||||||
this.pageIndex = 0
|
this.pageIndex = 0
|
||||||
this.qkFlag = false
|
this.qkFlag = false
|
||||||
this.currentUser = EmptyCandidateObject
|
this.currentUser = EmptyCandidateObject
|
||||||
|
this.missAnExamDialogController.close()
|
||||||
this.getExaminationStudentInfoFn()
|
this.getExaminationStudentInfoFn()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -854,9 +855,8 @@ struct UserInfoPage {
|
|||||||
|
|
||||||
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
||||||
dConsole.info('surenjun', '播放结束开始考试接口调用')
|
dConsole.info('surenjun', '播放结束开始考试接口调用')
|
||||||
// const { code, keystr, message } = await this.beginExam() || {};
|
|
||||||
const res = await this.beginExam()
|
const res = await this.beginExam()
|
||||||
dConsole.info('surenjun', '开始考试接口调用结束')
|
dConsole.info('surenjun', '开始考试接口调用结束', JSON.stringify(res))
|
||||||
//TODO code转换
|
//TODO code转换
|
||||||
|
|
||||||
if (res.code != 1) {
|
if (res.code != 1) {
|
||||||
@ -1007,7 +1007,7 @@ struct UserInfoPage {
|
|||||||
return { code: -200 }
|
return { code: -200 }
|
||||||
}
|
}
|
||||||
const drvexam: DrvexamType = {
|
const drvexam: DrvexamType = {
|
||||||
lsh: "this.currentUser.lsh",
|
lsh: this.currentUser.lsh,
|
||||||
kskm: this.carInfo.examSubject,
|
kskm: this.carInfo.examSubject,
|
||||||
ksxtbh: this.ksxtbh || '222',
|
ksxtbh: this.ksxtbh || '222',
|
||||||
sfzmhm: this.currentUser.sfzmhm || '',
|
sfzmhm: this.currentUser.sfzmhm || '',
|
||||||
@ -1216,6 +1216,7 @@ struct UserInfoPage {
|
|||||||
.margin({ bottom: 21 })
|
.margin({ bottom: 21 })
|
||||||
.onClick(async () => {
|
.onClick(async () => {
|
||||||
if (this.systemParam.Param612Str == '1') {
|
if (this.systemParam.Param612Str == '1') {
|
||||||
|
dConsole.log(UserInfoTag, "不给开始考试")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
await this.prePareExam()
|
await this.prePareExam()
|
||||||
@ -1229,7 +1230,7 @@ struct UserInfoPage {
|
|||||||
FaceCompare({
|
FaceCompare({
|
||||||
sfzh: this.currentUser.sfzmhm,
|
sfzh: this.currentUser.sfzmhm,
|
||||||
firstImage: this.currentUser.kszp,
|
firstImage: this.currentUser.kszp,
|
||||||
faceCompareSucess: $faceCompareSucess,
|
faceCompareSuccess: $faceCompareSucess,
|
||||||
getqkFlag: $getqkFlag,
|
getqkFlag: $getqkFlag,
|
||||||
faceCatchImg: $faceCatchImg,
|
faceCatchImg: $faceCatchImg,
|
||||||
showFaceCompare: $showFaceCompare,
|
showFaceCompare: $showFaceCompare,
|
||||||
|
|||||||
@ -12,12 +12,6 @@ import { takePhoto, takePhotoParam } from '../../utils/Video';
|
|||||||
import { voiceService } from '../../utils/Voice';
|
import { voiceService } from '../../utils/Voice';
|
||||||
import { dConsole } from '../../utils/LogWorker';
|
import { dConsole } from '../../utils/LogWorker';
|
||||||
|
|
||||||
interface ParamType {
|
|
||||||
id?: number;
|
|
||||||
list?: number[];
|
|
||||||
carNo?: string | undefined;
|
|
||||||
placeId?: string | undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
export default struct FaceCompare {
|
export default struct FaceCompare {
|
||||||
@ -26,7 +20,7 @@ export default struct FaceCompare {
|
|||||||
@Prop sfzh: string;
|
@Prop sfzh: string;
|
||||||
@Prop lsh: string;
|
@Prop lsh: string;
|
||||||
@Prop firstImage: string;
|
@Prop firstImage: string;
|
||||||
@Link faceCompareSucess: number;
|
@Link faceCompareSuccess: number;
|
||||||
@Link showFaceCompare: boolean;
|
@Link showFaceCompare: boolean;
|
||||||
@Link getqkFlag: boolean;
|
@Link getqkFlag: boolean;
|
||||||
@Link faceCatchImg: string;
|
@Link faceCatchImg: string;
|
||||||
@ -48,14 +42,172 @@ export default struct FaceCompare {
|
|||||||
private interval: number = -1
|
private interval: number = -1
|
||||||
private context = getContext(this) as common.UIAbilityContext;
|
private context = getContext(this) as common.UIAbilityContext;
|
||||||
|
|
||||||
constructor() {
|
async aboutToAppear() {
|
||||||
super()
|
const fileUtil = new FileUtils(this.context)
|
||||||
|
this.carInfo = AppStorage.get<CarInfoType>('carInfo')!
|
||||||
|
this.fileUtil = fileUtil
|
||||||
|
this.getVideoConfig()
|
||||||
|
}
|
||||||
|
|
||||||
|
clearIntervalFn() {
|
||||||
|
this.callBackFlag = false
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.vocObj && this.vocObj.releasePlayer()
|
||||||
|
}
|
||||||
|
|
||||||
|
async faceCompareFn() {
|
||||||
|
dConsole.log('mmmmm0', 2)
|
||||||
|
this.param.pztd = this.param.rlls
|
||||||
|
const data: takePhotoParam = await takePhoto(this.param, this.context, 'jt/', 1,)
|
||||||
|
this.base64 = this.imageBase64 + (data?.base64 || "")
|
||||||
|
dConsole.log('mmmmt', this.base64)
|
||||||
|
faceCompare({
|
||||||
|
sfzh: this.sfzh.toString(),
|
||||||
|
firstImage: this.firstImage.substr(22),
|
||||||
|
secondImage: data?.base64 || "",
|
||||||
|
type: "2",
|
||||||
|
verifyType: "1"
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
dConsole.log('mmmmm8', JSON.stringify(res))
|
||||||
|
if (res.imageCompareRsp?.head?.resultCode == '0') {
|
||||||
|
this.controller.stop()
|
||||||
|
this.showFaceCompare = !this.showFaceCompare
|
||||||
|
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
||||||
|
this.faceCompareSuccess = 1;
|
||||||
|
// this.faceCatchImg = result
|
||||||
|
this.vocObj.playAudio({
|
||||||
|
type: 1,
|
||||||
|
name: 'yzcg.wav'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.times++;
|
||||||
|
//3s后开始语音提示
|
||||||
|
this.vocObj.playAudio({
|
||||||
|
type: 1,
|
||||||
|
name: 'face_fail.mp3'
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
dConsole.log('mmmmm8', 9)
|
||||||
|
}
|
||||||
|
|
||||||
|
async heartMsg() {
|
||||||
|
let tmpList: number[] = []
|
||||||
|
const str = this.lsh
|
||||||
|
dConsole.log('this.lshbitbit', this.lsh, this.carInfo.carNo, this.carInfo.examinationRoomId)
|
||||||
|
for (let i = 0; i < str.length; i++) {
|
||||||
|
if (str && str.charCodeAt(i) !== undefined) {
|
||||||
|
tmpList.push(NumberToByteArray(str.charCodeAt(i), 1 * 8)[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const param: UDPParamType = {
|
||||||
|
id: 46,
|
||||||
|
list: tmpList,
|
||||||
|
carNo: this.carInfo.carNo || "",
|
||||||
|
placeId: this.carInfo.examinationRoomId || "",
|
||||||
|
sendCallback: () => {
|
||||||
|
this.callBackFlag = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CenterUDPBusinessInstance.sendData(param)
|
||||||
|
// UDP缺失
|
||||||
|
// globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param, this.context)
|
||||||
|
clearInterval(this.interval)
|
||||||
|
this.interval = setInterval(() => {
|
||||||
|
if (this.callBackFlag) {
|
||||||
|
const param2: UDPParamType = {
|
||||||
|
id: 47,
|
||||||
|
list: tmpList,
|
||||||
|
carNo: this.carInfo.carNo || "",
|
||||||
|
placeId: this.carInfo.examinationRoomId || "",
|
||||||
|
}
|
||||||
|
CenterUDPBusinessInstance.sendData(param2)
|
||||||
|
}
|
||||||
|
}, 1000)
|
||||||
|
CenterUDPBusinessInstance.onMsg((val) => {
|
||||||
|
if (AppStorage.get('statue') != 3) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (val.id == 48) {
|
||||||
|
if (val.body[13] == 1) {
|
||||||
|
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
||||||
|
this.showFaceCompare = !this.showFaceCompare
|
||||||
|
this.vocObj && this.vocObj.releasePlayer()
|
||||||
|
this.faceCompareSuccess = 1
|
||||||
|
clearInterval(this.interval)
|
||||||
|
} else if (val.body[13] == 1 && this.callBackFlag) {
|
||||||
|
AppStorage.setOrCreate('statue', 2)
|
||||||
|
this.vocObj && this.vocObj.playAudio({
|
||||||
|
type: 1,
|
||||||
|
name: 'face_chekc_fail.wav'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async getVideoConfig() {
|
||||||
|
dConsole.log('faceEnterIn')
|
||||||
|
this.vocObj = new voiceService(async (status: string, val?: string) => {
|
||||||
|
if (status == 'idle') {
|
||||||
|
if (val === 'face_check.mp3' || val === 'face_fail.mp3') {
|
||||||
|
if (this.times >= 3) {
|
||||||
|
AppStorage.setOrCreate('statue', 3);
|
||||||
|
this.faceCompareSuccess = -1;
|
||||||
|
this.vocObj && this.vocObj.playAudio({
|
||||||
|
type: 1,
|
||||||
|
name: 'face_checking.wav',
|
||||||
|
});
|
||||||
|
this.heartMsg();
|
||||||
|
} else {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.faceCompareFn();
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
} else if (val === 'yzcg.wav') {
|
||||||
|
this.showFaceCompare = !this.showFaceCompare;
|
||||||
|
this.showFaceCompareFlag = !this.showFaceCompareFlag;
|
||||||
|
AppStorage.setOrCreate('statue', 4);
|
||||||
|
this.faceCompareSuccess = 1;
|
||||||
|
this.vocObj && this.vocObj.releasePlayer();
|
||||||
|
} else if (val === 'face_chekc_fail.wav') {
|
||||||
|
this.vocObj && this.vocObj.releasePlayer();
|
||||||
|
this.faceCompareSuccess = -1;
|
||||||
|
this.showFaceCompare = !this.showFaceCompare;
|
||||||
|
this.showFaceCompareFlag = !this.showFaceCompareFlag;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, this.context);
|
||||||
|
|
||||||
|
const data = await this.fileUtil.readFile(GlobalConfig.commonFileWriteAddress + '/config/config3.txt');
|
||||||
|
dConsole.log('faceEnterIn,data', data)
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
this.vocObj && this.vocObj.playAudio({
|
||||||
|
type: 1,
|
||||||
|
name: 'face_check.mp3'
|
||||||
|
})
|
||||||
|
}, 1000)
|
||||||
|
this.param = JSON.parse(data)
|
||||||
|
this.param.userName = JSON.parse(data).userName
|
||||||
|
this.param.ip = this.param.ip
|
||||||
|
this.param.pwd = this.param.pwd
|
||||||
|
this.param.port = this.param.port
|
||||||
|
this.param.rlls = this.param.rlls
|
||||||
|
this.controller.start()
|
||||||
|
}
|
||||||
|
|
||||||
|
async aboutToDisappear() {
|
||||||
|
clearInterval(this.interval)
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Column() {
|
Column() {
|
||||||
Column() {
|
Column() {
|
||||||
Text('照片比对')// .lineHeight('16%')
|
Text('照片比对')
|
||||||
.height('16%')
|
.height('16%')
|
||||||
.fontWeight(FontWeight.Bold)
|
.fontWeight(FontWeight.Bold)
|
||||||
.fontSize(24)
|
.fontSize(24)
|
||||||
@ -122,7 +274,7 @@ export default struct FaceCompare {
|
|||||||
this.vocObj && this.vocObj.releasePlayer()
|
this.vocObj && this.vocObj.releasePlayer()
|
||||||
this.showFaceCompare = !this.showFaceCompare
|
this.showFaceCompare = !this.showFaceCompare
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
||||||
this.faceCompareSucess = -1
|
this.faceCompareSuccess = -1
|
||||||
AppStorage.setOrCreate('statue', 2)
|
AppStorage.setOrCreate('statue', 2)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -159,10 +311,8 @@ export default struct FaceCompare {
|
|||||||
this.vocObj && this.vocObj.releasePlayer()
|
this.vocObj && this.vocObj.releasePlayer()
|
||||||
this.showFaceCompare = !this.showFaceCompare
|
this.showFaceCompare = !this.showFaceCompare
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
||||||
this.faceCompareSucess = -1
|
this.faceCompareSuccess = -1
|
||||||
AppStorage.setOrCreate('statue', 2)
|
AppStorage.setOrCreate('statue', 2)
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
.width('100%')
|
.width('100%')
|
||||||
@ -170,172 +320,5 @@ export default struct FaceCompare {
|
|||||||
.backgroundColor('rgba(0, 0, 0, 0.8)')
|
.backgroundColor('rgba(0, 0, 0, 0.8)')
|
||||||
.position({ x: 0, y: 0 })
|
.position({ x: 0, y: 0 })
|
||||||
}
|
}
|
||||||
|
|
||||||
onPageShow() {
|
|
||||||
}
|
|
||||||
|
|
||||||
async aboutToAppear() {
|
|
||||||
const fileUtil = new FileUtils(this.context)
|
|
||||||
this.carInfo = AppStorage.get<CarInfoType>('carInfo')!
|
|
||||||
this.fileUtil = fileUtil
|
|
||||||
this.getVideoConfig()
|
|
||||||
}
|
|
||||||
|
|
||||||
clearIntervalFn() {
|
|
||||||
this.callBackFlag = false
|
|
||||||
clearInterval(this.interval)
|
|
||||||
this.vocObj && this.vocObj.releasePlayer()
|
|
||||||
}
|
|
||||||
|
|
||||||
async faceComparFn() {
|
|
||||||
dConsole.log('mmmmm0', 2)
|
|
||||||
this.param.pztd = this.param.rlls
|
|
||||||
const data: takePhotoParam = await takePhoto(this.param, this.context, 'jt/', 1,)
|
|
||||||
this.base64 = this.imageBase64 + (data?.base64 || "")
|
|
||||||
dConsole.log('mmmmt', this.base64)
|
|
||||||
faceCompare({
|
|
||||||
sfzh: this.sfzh.toString(),
|
|
||||||
firstImage: this.firstImage.substr(22),
|
|
||||||
secondImage: data?.base64 || "",
|
|
||||||
type: "2",
|
|
||||||
verifyType: "1"
|
|
||||||
})
|
|
||||||
.then(res => {
|
|
||||||
dConsole.log('mmmmm8', JSON.stringify(res))
|
|
||||||
if (res.imageCompareRsp?.head?.resultCode == '0') {
|
|
||||||
this.controller.stop()
|
|
||||||
this.showFaceCompare = !this.showFaceCompare
|
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
|
||||||
this.faceCompareSucess = 1;
|
|
||||||
// this.faceCatchImg = result
|
|
||||||
this.vocObj.playAudio({
|
|
||||||
type: 1,
|
|
||||||
name: 'yzcg.wav'
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.times++;
|
|
||||||
//3s后开始语音提示
|
|
||||||
this.vocObj.playAudio({
|
|
||||||
type: 1,
|
|
||||||
name: 'face_fail.mp3'
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
dConsole.log('mmmmm8', 9)
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
async heartMsg() {
|
|
||||||
let tmpList: number[] = []
|
|
||||||
const str = this.lsh
|
|
||||||
dConsole.log('this.lshbitbit', this.lsh, this.carInfo.carNo, this.carInfo.examinationRoomId)
|
|
||||||
for (let i = 0; i < str.length; i++) {
|
|
||||||
if (str && str.charCodeAt(i) !== undefined) {
|
|
||||||
tmpList.push(NumberToByteArray(str.charCodeAt(i), 1 * 8)[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const param: UDPParamType = {
|
|
||||||
id: 46,
|
|
||||||
list: tmpList,
|
|
||||||
carNo: this.carInfo.carNo || "",
|
|
||||||
placeId: this.carInfo.examinationRoomId || "",
|
|
||||||
sendCallback: () => {
|
|
||||||
this.callBackFlag = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
CenterUDPBusinessInstance.sendData(param)
|
|
||||||
// UDP缺失
|
|
||||||
// globalThis.udpClient2 && globalThis.udpClient2.sendMsgExt(param, this.context)
|
|
||||||
clearInterval(this.interval)
|
|
||||||
this.interval = setInterval(() => {
|
|
||||||
if (this.callBackFlag) {
|
|
||||||
const param2: UDPParamType = {
|
|
||||||
id: 47,
|
|
||||||
list: tmpList,
|
|
||||||
carNo: this.carInfo.carNo || "",
|
|
||||||
placeId: this.carInfo.examinationRoomId || "",
|
|
||||||
}
|
|
||||||
CenterUDPBusinessInstance.sendData(param2)
|
|
||||||
}
|
|
||||||
}, 1000)
|
|
||||||
CenterUDPBusinessInstance.onMsg((val) => {
|
|
||||||
if (AppStorage.get('statue') != 3) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (val.id == 48) {
|
|
||||||
if (val.body[13] == 1) {
|
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag
|
|
||||||
this.showFaceCompare = !this.showFaceCompare
|
|
||||||
this.vocObj && this.vocObj.releasePlayer()
|
|
||||||
this.faceCompareSucess = 1
|
|
||||||
clearInterval(this.interval)
|
|
||||||
} else if (val.body[13] == 1 && this.callBackFlag) {
|
|
||||||
AppStorage.setOrCreate('statue', 2)
|
|
||||||
this.vocObj && this.vocObj.playAudio({
|
|
||||||
type: 1,
|
|
||||||
name: 'face_chekc_fail.wav'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
async getVideoConfig() {
|
|
||||||
dConsole.log('faceEnterIn')
|
|
||||||
this.vocObj = new voiceService(async (status: string, val?: string) => {
|
|
||||||
if (status == 'idle') {
|
|
||||||
if (val === 'face_check.mp3' || val === 'face_fail.mp3') {
|
|
||||||
if (this.times >= 3) {
|
|
||||||
AppStorage.setOrCreate('statue', 3);
|
|
||||||
this.faceCompareSucess = -1;
|
|
||||||
this.vocObj && this.vocObj.playAudio({
|
|
||||||
type: 1,
|
|
||||||
name: 'face_checking.wav',
|
|
||||||
});
|
|
||||||
this.heartMsg();
|
|
||||||
} else {
|
|
||||||
setTimeout(() => {
|
|
||||||
this.faceComparFn();
|
|
||||||
}, 2000);
|
|
||||||
}
|
|
||||||
} else if (val === 'yzcg.wav') {
|
|
||||||
this.showFaceCompare = !this.showFaceCompare;
|
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag;
|
|
||||||
AppStorage.setOrCreate('statue', 4);
|
|
||||||
this.faceCompareSucess = 1;
|
|
||||||
this.vocObj && this.vocObj.releasePlayer();
|
|
||||||
} else if (val === 'face_chekc_fail.wav') {
|
|
||||||
this.vocObj && this.vocObj.releasePlayer();
|
|
||||||
this.faceCompareSucess = -1;
|
|
||||||
this.showFaceCompare = !this.showFaceCompare;
|
|
||||||
this.showFaceCompareFlag = !this.showFaceCompareFlag;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}, this.context);
|
|
||||||
|
|
||||||
const data = await this.fileUtil.readFile(GlobalConfig.commonFileWriteAddress + '/config/config3.txt');
|
|
||||||
dConsole.log('faceEnterIn,data', data)
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.vocObj && this.vocObj.playAudio({
|
|
||||||
type: 1,
|
|
||||||
name: 'face_check.mp3'
|
|
||||||
})
|
|
||||||
}, 1000)
|
|
||||||
this.param = JSON.parse(data)
|
|
||||||
this.param.userName = JSON.parse(data).userName
|
|
||||||
this.param.ip = this.param.ip
|
|
||||||
this.param.pwd = this.param.pwd
|
|
||||||
this.param.port = this.param.port
|
|
||||||
this.param.rlls = this.param.rlls
|
|
||||||
this.controller.start()
|
|
||||||
}
|
|
||||||
|
|
||||||
async aboutToDisappear() {
|
|
||||||
clearInterval(this.interval)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -87,10 +87,12 @@ export default struct SignalDisplayComponent {
|
|||||||
t++
|
t++
|
||||||
}
|
}
|
||||||
this.GPSColum[14].value = ((Number((this.signArr[97] || 0)) * 1.852).toFixed(2)).toString()
|
this.GPSColum[14].value = ((Number((this.signArr[97] || 0)) * 1.852).toFixed(2)).toString()
|
||||||
|
if (this.signArr.length > 93 && this.signArr[93]) {
|
||||||
const str0 = this.signArr[93].slice(0, 2);
|
const str0 = this.signArr[93].slice(0, 2);
|
||||||
const str1 = this.signArr[93].slice(2, 4);
|
const str1 = this.signArr[93].slice(2, 4);
|
||||||
const str2 = this.signArr[93].slice(4);
|
const str2 = this.signArr[93].slice(4);
|
||||||
this.signArr[93] = str2 + str1 + str0
|
this.signArr[93] = str2 + str1 + str0
|
||||||
|
}
|
||||||
this.GPSColum[10].value = this.signArr[93]
|
this.GPSColum[10].value = this.signArr[93]
|
||||||
|
|
||||||
// this.signArr[53]=192.168.7.170'
|
// this.signArr[53]=192.168.7.170'
|
||||||
|
|||||||
@ -62,7 +62,7 @@ class logWorker {
|
|||||||
|
|
||||||
// 通用日志方法
|
// 通用日志方法
|
||||||
private logWithLevel(level: 'log' | 'info' | 'error', ...args: ESObject[]): void {
|
private logWithLevel(level: 'log' | 'info' | 'error', ...args: ESObject[]): void {
|
||||||
console.log("当前环境查看", this.isLogEnabled, "日志级别:", level)
|
// console.log("当前环境查看", this.isLogEnabled, "日志级别:", level)
|
||||||
if (this.isLogEnabled === "1") {
|
if (this.isLogEnabled === "1") {
|
||||||
const message = this.formatMessage(...args);
|
const message = this.formatMessage(...args);
|
||||||
if (message.length > MAX_MESSAGE_LENGTH) {
|
if (message.length > MAX_MESSAGE_LENGTH) {
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import convertxml from '@ohos.convertxml';
|
|||||||
import { BusinessError } from '@ohos.base';
|
import { BusinessError } from '@ohos.base';
|
||||||
import promptAction from '@ohos.promptAction';
|
import promptAction from '@ohos.promptAction';
|
||||||
import { RequestTag } from '../config';
|
import { RequestTag } from '../config';
|
||||||
|
import Prompt from '@system.prompt';
|
||||||
|
|
||||||
interface RequestOption {
|
interface RequestOption {
|
||||||
url: string
|
url: string
|
||||||
@ -87,7 +88,7 @@ interface CenterCodeResult {
|
|||||||
keystr?: string
|
keystr?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCodeResult {
|
function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCodeResult | undefined {
|
||||||
if (isNewCenter) {
|
if (isNewCenter) {
|
||||||
const msg: object = JSON.parse(message);
|
const msg: object = JSON.parse(message);
|
||||||
const result: object = msg?.['data'][0]?.result;
|
const result: object = msg?.['data'][0]?.result;
|
||||||
@ -111,25 +112,35 @@ function dealCenterCode(message: string, isNewCenter: boolean = false): CenterCo
|
|||||||
return returnResult
|
return returnResult
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
const result = [new RegExp('<code>(.*)<\/code>', 'i'), new RegExp('<message>(.*)<\/message>', 'i'), new RegExp('<keystr>(.*)<\/keystr>', 'i')].map(pattern => {
|
const result = parseXml(message)
|
||||||
const patternArr = pattern.exec(message);
|
if (result.code != '1') {
|
||||||
return patternArr && patternArr[1]
|
Prompt.showToast({
|
||||||
});
|
|
||||||
|
|
||||||
if (result[0] != '1') {
|
|
||||||
promptAction.showToast({
|
|
||||||
message: decodeURIComponent(message as string),
|
message: decodeURIComponent(message as string),
|
||||||
duration: 3000
|
duration: 3000
|
||||||
});
|
});
|
||||||
|
return { code: result.code, message: decodeURIComponent(result.message || "") } as CenterCodeResult
|
||||||
return { code: result[0], message: decodeURIComponent(result[1]) }
|
|
||||||
} else {
|
} else {
|
||||||
return { code: result[0], message: decodeURIComponent(result[1]), keystr: result[2], }
|
return result
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parseXml(xml: string) {
|
||||||
|
const codeRegex = new RegExp("<code>(.*?)<\\/code>");
|
||||||
|
const messageRegex = new RegExp("<message>(.*?)<\\/message>");
|
||||||
|
const keystrRegex = new RegExp("<keystr>(.*?)<\\/keystr>");
|
||||||
|
|
||||||
|
const codeMatch = xml.match(codeRegex);
|
||||||
|
const messageMatch = xml.match(messageRegex);
|
||||||
|
const keystrMatch = xml.match(keystrRegex);
|
||||||
|
|
||||||
|
return {
|
||||||
|
code: codeMatch ? codeMatch[1] : null,
|
||||||
|
message: messageMatch ? messageMatch[1] : null,
|
||||||
|
keystr: keystrMatch ? keystrMatch[1] : null,
|
||||||
|
} as CenterCodeResult;
|
||||||
|
}
|
||||||
|
|
||||||
type RequestResult = Object | object | string | CenterCodeResult
|
type RequestResult = Object | object | string | CenterCodeResult
|
||||||
|
|
||||||
export default function Request<T extends RequestResult>(options: RequestOption): Promise<T> {
|
export default function Request<T extends RequestResult>(options: RequestOption): Promise<T> {
|
||||||
@ -149,9 +160,9 @@ export default function Request<T extends RequestResult>(options: RequestOption)
|
|||||||
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, baseURL, options.url, "返回的数据", JSON.stringify(data))
|
||||||
// let result = options.xml ? xmlToJSON(data.result as string) : data.result
|
console.log(RequestTag, baseURL, options.url, "入参", options.accept, "xml", options.xml)
|
||||||
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解析", JSON.stringify(result))
|
||||||
let resObj: object = new Object()
|
let resObj: object = new Object()
|
||||||
if (typeof result === 'string') {
|
if (typeof result === 'string') {
|
||||||
result = JSON.parse(result)
|
result = JSON.parse(result)
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export const InitSerialPortData =
|
|||||||
* @returns Promise<number> 成功返回发送的字节数,失败返回-1
|
* @returns Promise<number> 成功返回发送的字节数,失败返回-1
|
||||||
*/
|
*/
|
||||||
export const SendSerialPortData = (fd: number, data: number[]) => {
|
export const SendSerialPortData = (fd: number, data: number[]) => {
|
||||||
console.log(SerialPortTag, "wzj-----发送数据")
|
// console.log(SerialPortTag, "wzj-----发送数据")
|
||||||
return new Promise<number>((resolve, reject) => {
|
return new Promise<number>((resolve, reject) => {
|
||||||
testNapi.SerialSendAsync(fd, data, (value: number) => {
|
testNapi.SerialSendAsync(fd, data, (value: number) => {
|
||||||
if (value === -1) {
|
if (value === -1) {
|
||||||
@ -68,7 +68,7 @@ export const SendSerialPortData = (fd: number, data: number[]) => {
|
|||||||
* @returns Promise<HiSerialSDK.receiveInfo> 成功返回接收到的数据,失败返回-1
|
* @returns Promise<HiSerialSDK.receiveInfo> 成功返回接收到的数据,失败返回-1
|
||||||
*/
|
*/
|
||||||
export const ReceiveSerialPortData = (fd: number, timeout: number,) => {
|
export const ReceiveSerialPortData = (fd: number, timeout: number,) => {
|
||||||
console.log(SerialPortTag, "wzj-----接受数据")
|
// console.log(SerialPortTag, "wzj-----接受数据")
|
||||||
return new Promise<HiSerialSDK.receiveInfo>((resolve) => {
|
return new Promise<HiSerialSDK.receiveInfo>((resolve) => {
|
||||||
testNapi.SerialRecvAsync(fd, timeout, (value: HiSerialSDK.receiveInfo) => {
|
testNapi.SerialRecvAsync(fd, timeout, (value: HiSerialSDK.receiveInfo) => {
|
||||||
resolve(value)
|
resolve(value)
|
||||||
|
|||||||
@ -79,7 +79,7 @@ export default class UdpClient {
|
|||||||
address: this.oppositeIp, port: parseInt(this.oppositeIpPort), family: 1
|
address: this.oppositeIp, port: parseInt(this.oppositeIpPort), family: 1
|
||||||
}
|
}
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(UDPTag, "udp发送成功", JSON.stringify(res))
|
// console.log(UDPTag, "udp发送成功", JSON.stringify(res))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ export default class UdpClient {
|
|||||||
private bindEvent() {
|
private bindEvent() {
|
||||||
this.udp?.on("message", value => {
|
this.udp?.on("message", value => {
|
||||||
let result = this.dealMethod?.(value.message)
|
let result = this.dealMethod?.(value.message)
|
||||||
console.log(UDPTag, "中心返回消息", result)
|
// console.log(UDPTag, "中心返回消息", result)
|
||||||
this.messageEvents.forEach(cb => {
|
this.messageEvents.forEach(cb => {
|
||||||
cb(result)
|
cb(result)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -45,7 +45,7 @@ class CenterUDPBusiness {
|
|||||||
this.timer = setInterval(() => {
|
this.timer = setInterval(() => {
|
||||||
// 生成流水号
|
// 生成流水号
|
||||||
SerialNumberInstance.generate()
|
SerialNumberInstance.generate()
|
||||||
console.log(CenterUdpTag, "流水号生成")
|
// console.log(CenterUdpTag, "流水号生成")
|
||||||
// SetSerialNumber()
|
// SetSerialNumber()
|
||||||
const arr = [this.signNum || 0, this.statue || 1]
|
const arr = [this.signNum || 0, this.statue || 1]
|
||||||
let tmpList: number[] = [];
|
let tmpList: number[] = [];
|
||||||
@ -57,16 +57,16 @@ class CenterUDPBusiness {
|
|||||||
for (let i = 0; i < str.length; i++) {
|
for (let i = 0; i < str.length; i++) {
|
||||||
tmpList.push(NumberToByteArray(str.charCodeAt(i), 1 * 8)[0])
|
tmpList.push(NumberToByteArray(str.charCodeAt(i), 1 * 8)[0])
|
||||||
}
|
}
|
||||||
console.log(CenterUdpTag, "学员流水号", JSON.stringify(tmpList))
|
// console.log(CenterUdpTag, "学员流水号", JSON.stringify(tmpList))
|
||||||
const data: UDPParamType = {
|
const data: UDPParamType = {
|
||||||
id: 31,
|
id: 31,
|
||||||
list: tmpList,
|
list: tmpList,
|
||||||
carNo: this.carInfo.carNo!,
|
carNo: this.carInfo.carNo!,
|
||||||
placeId: this.carInfo.examinationRoomId!
|
placeId: this.carInfo.examinationRoomId!
|
||||||
}
|
}
|
||||||
console.log(CenterUdpTag, "查看生成的", JSON.stringify(data))
|
// console.log(CenterUdpTag, "查看生成的", JSON.stringify(data))
|
||||||
const param = this.setWholeMsg(data)
|
const param = this.setWholeMsg(data)
|
||||||
console.log(CenterUdpTag, "查看", JSON.stringify(param))
|
// console.log(CenterUdpTag, "查看", JSON.stringify(param))
|
||||||
this.udp.sendMsg(param);
|
this.udp.sendMsg(param);
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,7 +67,7 @@ class differentialAndSignal {
|
|||||||
getMessage() {
|
getMessage() {
|
||||||
this.workerInstance.onmessage = (e: MessageEvents): void => {
|
this.workerInstance.onmessage = (e: MessageEvents): void => {
|
||||||
if (e.data) {
|
if (e.data) {
|
||||||
console.log(WorkerTag, "Worker 收到消息: " + e.data);
|
// console.log(WorkerTag, "Worker 收到消息: " + e.data);
|
||||||
this.events.forEach((callback) => {
|
this.events.forEach((callback) => {
|
||||||
callback(e.data);
|
callback(e.data);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -41,7 +41,7 @@ class differentialSignal {
|
|||||||
// 获取消息
|
// 获取消息
|
||||||
getData(callback: (data: ArrayBuffer) => void) {
|
getData(callback: (data: ArrayBuffer) => void) {
|
||||||
this.differentialSignalTcp.onMsg((data: ArrayBuffer) => {
|
this.differentialSignalTcp.onMsg((data: ArrayBuffer) => {
|
||||||
console.log(TCPTag, "获取", data);
|
// console.log(TCPTag, "获取", data);
|
||||||
callback(data);
|
callback(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -135,6 +135,7 @@ export async function InitializeTheCentralTable(params: InitializeTheCentralTabl
|
|||||||
if (!res || !res.head || res.head.resultCode === "1") {
|
if (!res || !res.head || res.head.resultCode === "1") {
|
||||||
resolve(false);
|
resolve(false);
|
||||||
}
|
}
|
||||||
|
dConsole.log(InitTableTag, "插表操作开始");
|
||||||
if (res && res.body) {
|
if (res && res.body) {
|
||||||
try {
|
try {
|
||||||
const tableKeys = Object.keys(res.body);
|
const tableKeys = Object.keys(res.body);
|
||||||
@ -145,9 +146,12 @@ export async function InitializeTheCentralTable(params: InitializeTheCentralTabl
|
|||||||
|
|
||||||
dConsole.log(InitTableTag, "-------------------表名-----------------------", newKey, isExit);
|
dConsole.log(InitTableTag, "-------------------表名-----------------------", newKey, isExit);
|
||||||
|
|
||||||
if (!isExit) return false;
|
if (!isExit) {
|
||||||
|
dConsole.error(InitTableTag, newKey, "表不存在")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
dConsole.log("可以插入的表", newKey, CenterMap.get(newKey));
|
dConsole.log(InitTableTag, "可以插入的表", newKey, CenterMap.get(newKey));
|
||||||
|
|
||||||
let arrList: Array<RecordType> | RecordType = [];
|
let arrList: Array<RecordType> | RecordType = [];
|
||||||
const value: PublicInfoType = Reflect.get(res.body, key);
|
const value: PublicInfoType = Reflect.get(res.body, key);
|
||||||
@ -167,6 +171,7 @@ export async function InitializeTheCentralTable(params: InitializeTheCentralTabl
|
|||||||
dConsole.log(InitTableTag, "插入表结果,表", newKey, "结果", result);
|
dConsole.log(InitTableTag, "插入表结果,表", newKey, "结果", result);
|
||||||
|
|
||||||
if (!result) {
|
if (!result) {
|
||||||
|
dConsole.log(InitTableTag, "初始化失败", newKey)
|
||||||
Prompt.showToast({
|
Prompt.showToast({
|
||||||
message: `初始化表 ${newKey} 失败`
|
message: `初始化表 ${newKey} 失败`
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,7 +1,13 @@
|
|||||||
// 处理worker线程的消息tcp拿差分改正数,udp给后置机
|
// 处理worker线程的消息tcp拿差分改正数,udp给后置机
|
||||||
import worker, { ErrorEvent, MessageEvents, ThreadWorkerGlobalScope } from '@ohos.worker';
|
import worker, { ErrorEvent, MessageEvents, ThreadWorkerGlobalScope } from '@ohos.worker';
|
||||||
import { SerialPortTag, WorkerTag } from '../config';
|
import { WorkerTag } from '../config';
|
||||||
import { CenterCallBackMsgType, WorkerBackMessage, WorkerBackMessageType, WorkerMessage } from '../model';
|
import {
|
||||||
|
CenterCallBackMsgType,
|
||||||
|
EnvironmentConfigurationType,
|
||||||
|
WorkerBackMessage,
|
||||||
|
WorkerBackMessageType,
|
||||||
|
WorkerMessage
|
||||||
|
} from '../model';
|
||||||
import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness';
|
import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness';
|
||||||
import { DifferentialSignal } from '../utils/business/DifferentialSignal';
|
import { DifferentialSignal } from '../utils/business/DifferentialSignal';
|
||||||
import { ObtainUdpBusinessInstance } from '../utils/business/ObtainUdpBusiness';
|
import { ObtainUdpBusinessInstance } from '../utils/business/ObtainUdpBusiness';
|
||||||
@ -23,7 +29,7 @@ workerPort.onmessage = (e: MessageEvents) => {
|
|||||||
// if (result.centerUdpParam) {
|
// if (result.centerUdpParam) {
|
||||||
// CenterUDPBusinessInstance.sendData(result.centerUdpParam);
|
// CenterUDPBusinessInstance.sendData(result.centerUdpParam);
|
||||||
// }
|
// }
|
||||||
getDataFn()
|
getDataFn(result.config)
|
||||||
// 必传环境配置
|
// 必传环境配置
|
||||||
if (result.close) {
|
if (result.close) {
|
||||||
closedFn(result)
|
closedFn(result)
|
||||||
@ -50,19 +56,19 @@ function initFn(result: WorkerMessage) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDataFn() {
|
function getDataFn(config: EnvironmentConfigurationType) {
|
||||||
// 获取TCP差分改正数信号
|
// 获取TCP差分改正数信号
|
||||||
DifferentialSignal.getData((data: ArrayBuffer) => {
|
DifferentialSignal.getData((data: ArrayBuffer) => {
|
||||||
console.log(WorkerTag, "Received differential signal data:", data.byteLength, "bytes")
|
// console.log(WorkerTag, "Received differential signal data:", data.byteLength, "bytes")
|
||||||
// TCP拿到差分改正数发给后置机
|
// TCP拿到差分改正数发给后置机
|
||||||
ObtainUdpBusinessInstance.sendData(data)
|
ObtainUdpBusinessInstance.sendData(data)
|
||||||
})
|
})
|
||||||
// 后置机回执PLC和GPS
|
// 后置机回执PLC和GPS
|
||||||
ObtainUdpBusinessInstance.onMsg(async (data: string) => {
|
ObtainUdpBusinessInstance.onMsg(async (data: string) => {
|
||||||
if (data !== "") {
|
if (data !== "" && config.carType !== "2") {
|
||||||
// TODO
|
// TODO
|
||||||
// 需要观察
|
// 需要观察
|
||||||
console.log(WorkerTag, "后置机消息", data)
|
// console.log(WorkerTag, "后置机消息", data)
|
||||||
const res = await SerialPortService.getData()
|
const res = await SerialPortService.getData()
|
||||||
if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
const dataArray = data.split(",");
|
const dataArray = data.split(",");
|
||||||
@ -70,7 +76,7 @@ function getDataFn() {
|
|||||||
dataArray[28] = res[9].toString();
|
dataArray[28] = res[9].toString();
|
||||||
data = dataArray.join(",");
|
data = dataArray.join(",");
|
||||||
}
|
}
|
||||||
console.log(SerialPortTag, "处理完的档位信号", data)
|
// console.log(SerialPortTag, "处理完的档位信号", data)
|
||||||
workerPort.postMessage(
|
workerPort.postMessage(
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
type: WorkerBackMessageType.ObtainUdpData,
|
type: WorkerBackMessageType.ObtainUdpData,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user