forked from harmony_car/subject-two
Fix file paths and update versions
This commit is contained in:
parent
74bcb8f05c
commit
93f87208f0
@ -558,8 +558,8 @@ export async function upDataZhongxinginitialization(){
|
||||
"carId": globalThis.carInfo?.carId, // 表名
|
||||
"examinationRoomId": globalThis.carInfo?.examinationRoomId, //考试平台kdid
|
||||
videoVersion:'1.0',
|
||||
judgeVersion:'2022.03.17.1',
|
||||
shellVersion:'2022.03.14.01'
|
||||
judgeVersion:'2024.11.22.14',
|
||||
shellVersion:'2024.11.22.14'
|
||||
}
|
||||
let res: any = await initialization(str)
|
||||
if(!res){
|
||||
|
||||
@ -4,15 +4,14 @@ import { dateFormat} from '../utils/tools'
|
||||
|
||||
//获取设备信息
|
||||
export async function getDeviceInfo() {
|
||||
globalThis.deviceNo = 'J43405J003101'; //设备mac
|
||||
// globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
|
||||
// globalThis.deviceNo = 'J43405J003101'; //设备mac
|
||||
globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
|
||||
globalThis.diskId = '1231231231'; //硬盘号
|
||||
globalThis.hasAuth = true;
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
//获取考车信息
|
||||
export async function getCarInfo() {
|
||||
let date = new Date();
|
||||
|
||||
@ -23,7 +23,7 @@ export default class FileUtil{
|
||||
}
|
||||
|
||||
/*
|
||||
* @desc 校验文件夹,文件夹不存在会自动创建,支持嵌套
|
||||
* @desc 校验文件夹,文件夹不存在会创建,支持嵌套
|
||||
*
|
||||
*/
|
||||
public initFolder = async (folderPath:string) => {
|
||||
@ -36,8 +36,6 @@ export default class FileUtil{
|
||||
const isExit = fs.accessSync(path);
|
||||
if(!isExit){
|
||||
fs.mkdirSync(path)
|
||||
console.error(LOGTAG,path)
|
||||
const isExit = fs.accessSync(path);
|
||||
}
|
||||
}));
|
||||
return path;
|
||||
|
||||
@ -4,8 +4,8 @@ import prompt from '@ohos.prompt'
|
||||
import { sendGreen } from '../../pages/judgeSDK/utils/judge-common';
|
||||
|
||||
const config = {
|
||||
// host: 'http://112.80.35.83:11052',
|
||||
host: 'http://192.168.36.2:8083',
|
||||
host: 'http://112.80.35.83:11052',
|
||||
// host: 'http://192.168.36.2:8083',
|
||||
}
|
||||
|
||||
let httpRequest = http.createHttp();
|
||||
|
||||
@ -53,10 +53,12 @@ export function dateVersionFormat(t) {
|
||||
return year + "." + fill(month) + "." + fill(day) + "." + fill(hours);
|
||||
}
|
||||
|
||||
|
||||
enum timeType{
|
||||
fulltime = 1
|
||||
}
|
||||
|
||||
//获取当前时间并转化
|
||||
export async function getCurrentTime(type?:1):Promise<string> {
|
||||
export async function getCurrentTime(type?:timeType):Promise<string> {
|
||||
|
||||
const date = await systemTime.getDate();
|
||||
const year = date.getFullYear();
|
||||
@ -133,13 +135,13 @@ export function chunkArr (arr, size:number) {
|
||||
//对象深拷贝
|
||||
export function deepClone(target) {
|
||||
// 如果是对象,且不是原始值null
|
||||
if (typeof target === 'object' && target !== 'null') { //注解一
|
||||
if (typeof target === 'object' && target !== 'null') {
|
||||
// 创建容器
|
||||
const result = Array.isArray(target) ? [] : {}; //注解三
|
||||
const result = Array.isArray(target) ? [] : {};
|
||||
const keys = Object.keys(target); //注解二
|
||||
// Object.keys()会过滤掉原型链上的属性
|
||||
keys.forEach(key => {
|
||||
result[key] = deepClone(target[key]) // 注解三
|
||||
result[key] = deepClone(target[key])
|
||||
})
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -28,8 +28,8 @@ export default class EntryAbility extends UIAbility {
|
||||
globalThis.examinerInfo = {}
|
||||
globalThis.deviceNo = '';
|
||||
globalThis.hasAuth = false
|
||||
// globalThis.version = '2024.11.22.14'
|
||||
globalThis.version = '2022.03.14.01'
|
||||
globalThis.version = '2024.11.22.14'
|
||||
// globalThis.version = '2022.03.14.01'
|
||||
|
||||
globalThis.context = this.context;
|
||||
globalThis.pathDir = this.context.filesDir;
|
||||
|
||||
@ -3,7 +3,7 @@ import common from '@ohos.app.ability.common';
|
||||
import router from '@ohos.router'
|
||||
import { getCarInfo, getDeviceInfo } from '../common/service/terminalService'
|
||||
import { setCurrentTime } from '../common/service/timeService'
|
||||
import { string2Bytes } from '../common/utils/tools'
|
||||
import {Array2Byte} from '../common/utils/tools'
|
||||
import {
|
||||
getDataBaseTable,
|
||||
upDateTable,
|
||||
@ -15,12 +15,22 @@ import {
|
||||
} from '../common/service/initable'
|
||||
import prompt from '@ohos.prompt'
|
||||
import { dateFormat } from '../common/utils/tools'
|
||||
import deviceManager from '@ohos.distributedHardware.deviceManager'
|
||||
import AccountTable from '../common/database/tables/AccountTable';
|
||||
import MA_SYSSET from '../common/constants/MA_SYSSET';
|
||||
import { getUDP, getUDP2 } from '../common/utils/GlobleUdp'
|
||||
import {initJudgeUdp} from '../common/utils/UdpJudge'
|
||||
import { getTCP } from '../common/utils/GlobleTcp'
|
||||
import { voiceService } from '../common/service/voiceService'
|
||||
import testNapi from '@ohos.hiserialsdk'
|
||||
import TcpClient from '../common/utils/TcpClient';
|
||||
import Router from '@system.router'
|
||||
|
||||
import socket from '@ohos.net.socket';
|
||||
import fs from '@ohos.file.fs'
|
||||
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
|
||||
import FileUtil from '../common/utils/File'
|
||||
|
||||
@Entry
|
||||
@Component
|
||||
struct Index {
|
||||
@ -37,6 +47,7 @@ struct Index {
|
||||
@State devPath: string = "/dev/ttyS0"
|
||||
@State fd: number = -1;
|
||||
private context = getContext(this) as common.UIAbilityContext;
|
||||
|
||||
build() {
|
||||
Column() {
|
||||
Column() {
|
||||
@ -62,6 +73,7 @@ struct Index {
|
||||
// getSyncData('MA_SYSSET')
|
||||
router.back()
|
||||
// this.url = 'back'
|
||||
|
||||
// app.terminate()
|
||||
|
||||
})
|
||||
@ -75,6 +87,10 @@ struct Index {
|
||||
Row() {
|
||||
if (!this.isSingle) {
|
||||
Image($r('app.media.index_lw')).width('30.5%').height('74%').onClick(() => {
|
||||
// this.vocObj.playAudio({
|
||||
// type: 1,
|
||||
// name: 'button_media.wav'
|
||||
// })
|
||||
if (this.loading) {
|
||||
return
|
||||
}
|
||||
@ -89,7 +105,9 @@ struct Index {
|
||||
this.upDateTable()
|
||||
}else{
|
||||
this.getCenterDataTable()
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
if (this.isSingle) {
|
||||
@ -190,25 +208,81 @@ struct Index {
|
||||
aboutToAppear() {
|
||||
this.angle = 0
|
||||
this.loading = false
|
||||
|
||||
// this.vocObj = new voiceService(async (status, val) => {
|
||||
// if (status == 'idle') {
|
||||
// if (this.url == 'back') {
|
||||
// router.back()
|
||||
// // that.udpClient.sendMsg('111')
|
||||
// } else {
|
||||
// router.pushUrl({
|
||||
// url: this.url,
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
Array2Byte(array) {
|
||||
var buf = new ArrayBuffer(array.length);
|
||||
var view = new Uint8Array(buf);
|
||||
for (var i = 0; i != array.length; ++i)
|
||||
{
|
||||
view[i] = array[i] & 0xFF;
|
||||
}
|
||||
return view;
|
||||
}
|
||||
openChuankouMsg() {
|
||||
this.fd = testNapi.SerialOpen(this.devPath);
|
||||
}
|
||||
|
||||
string2Bytes(number, len) {
|
||||
// console.log('string2Bytes == ', number)
|
||||
let str = (+number).toString(2);
|
||||
if (str.length > len) {
|
||||
console.log('数据长度不对~~');
|
||||
return
|
||||
}
|
||||
var byteString = this.fillZero(str, len);
|
||||
|
||||
var arrBytes = new Array();
|
||||
for (var i = byteString.length; i > 0; ) {
|
||||
let j = i - 8;
|
||||
if (j < 0) {
|
||||
j = 0
|
||||
}
|
||||
var s = byteString.slice(j, i);
|
||||
var v = parseInt(s, 2);
|
||||
arrBytes.push(v);
|
||||
i = i - 8
|
||||
|
||||
}
|
||||
return arrBytes;
|
||||
}
|
||||
//补0
|
||||
fillZero(str, len) {
|
||||
str = str + '';
|
||||
if (str.length > len || !len) {
|
||||
return str
|
||||
}
|
||||
|
||||
let num = len - str.length;
|
||||
let zeroStr = '';
|
||||
for (var i = 0; i < num; i++) {
|
||||
zeroStr = zeroStr + '0'
|
||||
}
|
||||
|
||||
return zeroStr + str;
|
||||
}
|
||||
|
||||
async heartMsg(context) {
|
||||
const fileUtil = new FileUtil(context)
|
||||
const fileData = await fileUtil.readFile('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt');
|
||||
let res = fs.accessSync('/mnt/hmdfs/100/account/device_view/localfiles/files/config/liushui.txt');
|
||||
if(res&&JSON.stringify(fileData).indexOf('u0000')<0){
|
||||
const date = new Date()
|
||||
const time1 = JSON.parse(fileData).date.split(' ')[0]
|
||||
const time2 = dateFormat(date).split(' ')[0]
|
||||
if (time1 == time2) {
|
||||
const date = new Date()
|
||||
const param = {
|
||||
date: dateFormat(date),
|
||||
value: Number(JSON.parse(fileData).value) + 1
|
||||
}
|
||||
const folderPath = await fileUtil.initFolder(`/config`);
|
||||
fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param))
|
||||
} else {
|
||||
// TODO
|
||||
return
|
||||
if (res) {
|
||||
if(JSON.stringify(fileData).indexOf('u0000')>=0){
|
||||
const date = new Date()
|
||||
const param = {
|
||||
date: dateFormat(date),
|
||||
@ -216,8 +290,30 @@ struct Index {
|
||||
}
|
||||
const folderPath = await fileUtil.initFolder(`/config`);
|
||||
fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param))
|
||||
}else{
|
||||
const date = new Date()
|
||||
const time1 = JSON.parse(fileData).date.split(' ')[0]
|
||||
const time2 = dateFormat(date).split(' ')[0]
|
||||
if (time1 == time2) {
|
||||
const date = new Date()
|
||||
const param = {
|
||||
date: dateFormat(date),
|
||||
value: Number(JSON.parse(fileData).value) + 1
|
||||
}
|
||||
const folderPath = await fileUtil.initFolder(`/config`);
|
||||
fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param))
|
||||
} else {
|
||||
const date = new Date()
|
||||
const param = {
|
||||
date: dateFormat(date),
|
||||
value: 0
|
||||
}
|
||||
const folderPath = await fileUtil.initFolder(`/config`);
|
||||
fileUtil.addFile(`${folderPath}/liushui.txt`, JSON.stringify(param))
|
||||
}
|
||||
}
|
||||
}else{
|
||||
}else
|
||||
{
|
||||
const date = new Date()
|
||||
const param = {
|
||||
date: dateFormat(date),
|
||||
@ -228,27 +324,35 @@ struct Index {
|
||||
}
|
||||
const arr = [globalThis.signNum||0, globalThis.statue||1]
|
||||
let tmpList = [];
|
||||
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
|
||||
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0])
|
||||
const str =globalThis.lsh|| '0000000000000'
|
||||
for (let i = 0;i < str.length; i++) {
|
||||
tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
}
|
||||
|
||||
// const str ='1111160366580'
|
||||
// for (let i = 0;i < str.length; i++) {
|
||||
// tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
// }
|
||||
// const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 }
|
||||
const param= {id: 31,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId}
|
||||
|
||||
globalThis.udpClient2.sendMsg(param, this.context)
|
||||
|
||||
}
|
||||
|
||||
|
||||
onPageShow() {
|
||||
this.loading = false
|
||||
this.initParams()
|
||||
getUDP()
|
||||
getUDP2()
|
||||
|
||||
setInterval(() => {
|
||||
this.heartMsg(this.context)
|
||||
}, 1000)
|
||||
// getTCP()
|
||||
|
||||
// const TcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort)
|
||||
|
||||
if (globalThis.singlePlay == undefined || globalThis.singlePlay == null) {
|
||||
globalThis.singlePlay = false
|
||||
@ -259,6 +363,14 @@ struct Index {
|
||||
|
||||
}
|
||||
|
||||
Array2Byte(array) {
|
||||
var buf = new ArrayBuffer(array.length);
|
||||
var view = new Uint8Array(buf);
|
||||
for (var i = 0; i != array.length; ++i) {
|
||||
view[i] = array[i] & 0xFF;
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
async initParams() {
|
||||
this.loading=false
|
||||
@ -270,6 +382,11 @@ struct Index {
|
||||
this.version = globalThis.version;
|
||||
this.hasAuth = globalThis.hasAuth;
|
||||
initJudgeUdp()
|
||||
// await this.getDataBaseTableFn()
|
||||
//下载模型
|
||||
// await this.getModel()
|
||||
// const arr = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00]
|
||||
// globalThis.udpClientByTopLine.sendMsg(this.Array2Byte(arr).buffer)
|
||||
}
|
||||
|
||||
getDeviceId() {
|
||||
@ -280,6 +397,16 @@ struct Index {
|
||||
this.deviceId = result[0].deviceId
|
||||
resolve(result[0].deviceId)
|
||||
} else {
|
||||
// deviceManager.createDeviceManager('com.example.udptest', (error, value) => {
|
||||
// if (error) {
|
||||
// console.error('createDeviceManager failed.');
|
||||
// return;
|
||||
// }
|
||||
// let dvMgrObj = value;
|
||||
// globalThis.deviceNo=dvMgrObj.getLocalDeviceInfoSync().deviceName
|
||||
// this.deviceId=globalThis.deviceNo
|
||||
// resolve(dvMgrObj.getLocalDeviceInfoSync().deviceName)
|
||||
// });
|
||||
resolve('')
|
||||
}
|
||||
})
|
||||
@ -293,6 +420,28 @@ struct Index {
|
||||
await getEsCarModel(context)
|
||||
}
|
||||
|
||||
async getDataBaseTableFn() {
|
||||
// getDataBaseTable({ tableName: 'MA_MARKRULE' })
|
||||
// getDataBaseTable({ tableName: 'MA_SYSTEMPARM' })
|
||||
// await getDataBaseTable({ tableName: 'MA_SYSSET' })
|
||||
// await getMySystemSetTable({ tableName: 'MA_SYSSET' })
|
||||
//
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_COLLECT' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_COLLECT_SHAPE' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_ITEMCLASS' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_POINT' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_POINT_ITEM' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_ROAD' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_ROAD_LANE' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MAP_SUBITEM' })
|
||||
// await getDataBaseTable({ tableName: 'ES_CARINFO' })
|
||||
// await getDataBaseTable({ tableName: 'ES_EXAMPOINTDETAIL' })
|
||||
// await getDataBaseTable({ tableName: 'MA_MARKRULESET' })
|
||||
// await getDataBaseTable({ tableName: 'ES_CAR_VIDEO_PARAMETER' })
|
||||
// await getDataBaseTable({ tableName: 'MA_CDSBINFO' })
|
||||
// await getDataBaseTable({ tableName: 'MA_ITEMINFO' })
|
||||
// await getDataBaseTable({ tableName: 'MA_T_CARPARMSET' })
|
||||
}
|
||||
|
||||
async getCenterDataTable() {
|
||||
const flag= await upDataZhongxinginitialization()
|
||||
@ -320,8 +469,17 @@ struct Index {
|
||||
// getSyncData('MA_SYSSET')
|
||||
getDataBaseTable({ tableName: 'MA_SYSSET' })
|
||||
})
|
||||
// array.map((res, i) => {
|
||||
// db.deleteData(res, async () => {
|
||||
// if (i == array.length - 1) {
|
||||
// await getDataBaseTable({ tableName: 'MA_SYSSET' })
|
||||
// // await getMySystemSetTable({ tableName: 'MA_SYSSET' })
|
||||
// }
|
||||
// });
|
||||
// })
|
||||
} else {
|
||||
await getDataBaseTable({ tableName: 'MA_SYSSET' })
|
||||
// await getMySystemSetTable({ tableName: 'MA_SYSSET' })
|
||||
}
|
||||
// console.log(markRuleParams)
|
||||
})
|
||||
@ -372,10 +530,46 @@ struct Index {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
this.loading = false
|
||||
// await getSyncData('MA_MARKRULE')
|
||||
// await getSyncData('MA_SYSTEMPARM')
|
||||
// await getSyncData('MA_MAP_COLLECT')
|
||||
// await getSyncData('MA_MAP_COLLECT_SHAPE')
|
||||
// await getSyncData('MA_MAP_ITEMCLASS')
|
||||
// await getSyncData('MA_MAP_POINT')
|
||||
// await getSyncData('MA_SYSTEMPARM')
|
||||
// await getSyncData('MA_MAP_POINT_ITEM')
|
||||
// await getSyncData('MA_MAP_POINT')
|
||||
// await getSyncData('MA_MAP_POINT_ITEM')
|
||||
// await getSyncData('MA_MAP_ROAD')
|
||||
// await getSyncData('MA_MAP_ROAD_LANE')
|
||||
// await getSyncData('MA_MAP_SUBITEM')
|
||||
// await getSyncData('ES_CARINFO')
|
||||
// await getSyncData('ES_EXAMPOINTDETAIL')
|
||||
// await getSyncData('MA_CDSBINFO')
|
||||
// await getSyncData('MA_T_CARPARMSET')
|
||||
// if(!flag){
|
||||
|
||||
router.pushUrl({
|
||||
url: 'pages/ExaminerLogin',
|
||||
}, router.RouterMode.Single);
|
||||
// return
|
||||
// }
|
||||
// await upDateTable({ tableName: 'MA_SYSSET' })
|
||||
|
||||
}
|
||||
|
||||
termialCheck() {
|
||||
// if(!globalThis.deviceNo) {
|
||||
// prompt.showToast({
|
||||
// message: '未能查询到当前车辆信息, 请先注册该车辆, 或者检查网络是否连接正常!',
|
||||
// duration: 3000
|
||||
// });
|
||||
//
|
||||
// return false
|
||||
// }
|
||||
|
||||
return true
|
||||
}
|
||||
}
|
||||
@ -62,7 +62,6 @@ struct Index {
|
||||
await this.initSysset();
|
||||
await this.initCDSBInfo()
|
||||
|
||||
|
||||
const {name,idCard,lsh,kszp} = this;
|
||||
|
||||
const fileLog = new FileLog(this.context);
|
||||
@ -72,7 +71,8 @@ struct Index {
|
||||
|
||||
//断点续考
|
||||
await this.goDdxkItems()
|
||||
// //初始化评判
|
||||
|
||||
//初始化评判
|
||||
const judge = await this.initJudge(fileLog);
|
||||
this.judge = judge
|
||||
}
|
||||
@ -123,9 +123,11 @@ struct Index {
|
||||
//@ts-ignore
|
||||
const serialNumberArr = syssetParams.filter(sys => sys.v_no === '901');
|
||||
this.serialNumber = (serialNumberArr[0] && serialNumberArr[0].v_value) || '123456'
|
||||
// 211,603,660,671
|
||||
|
||||
//TODO 杭州用到的特殊评判参数 211,603,660,671
|
||||
const judgeNumbers = ['211','603','660','671','606'];
|
||||
const judgeConfig = []
|
||||
|
||||
//@ts-ignore
|
||||
syssetParams.forEach((sys)=>{
|
||||
if(judgeNumbers.includes(sys.v_no)){
|
||||
@ -210,31 +212,6 @@ struct Index {
|
||||
})
|
||||
}
|
||||
|
||||
//获取项目信息
|
||||
async initProjectInfo(){
|
||||
const systemParamsArr = await getSyncData('MA_SYSTEMPARM')
|
||||
const itemInfoArr = await getSyncData('MA_ITEMINFO')
|
||||
//@ts-ignore
|
||||
const filterProjectsArr = systemParamsArr.filter(item => item.no1 == 6)
|
||||
testAllitems.map(project => {
|
||||
//TODO 临时代码
|
||||
const currentProject = {
|
||||
name:(project.name),
|
||||
abbreviation:(project.abbreviation),
|
||||
projectCode:(project.projectCode),
|
||||
projectCodeCenter:(project.projectCodeCenter),
|
||||
sbxh:project.type
|
||||
// type:project.type
|
||||
}
|
||||
this.projectsObj[project.projectCode] = currentProject
|
||||
this.projectsCenterObj[project.projectCodeCenter] = currentProject
|
||||
return currentProject
|
||||
});
|
||||
//@ts-ignore
|
||||
//TODO 临时代码待替换
|
||||
this.projects = testUIAllitems
|
||||
}
|
||||
|
||||
// 评判相关初始化
|
||||
async initJudge(fileLog){
|
||||
const judge = new Judge(this,fileLog);
|
||||
@ -246,11 +223,14 @@ struct Index {
|
||||
});
|
||||
return judge
|
||||
}
|
||||
|
||||
// 断点续考判断
|
||||
async goDdxkItems(){
|
||||
//断点续考判断
|
||||
let currentParams:any = router.getParams();
|
||||
const examItems:string = currentParams?.examItems;
|
||||
// 2024-01-03 16:29:26;0;20300,;2,4`^;null;
|
||||
|
||||
if(examItems !== '' && examItems !== undefined){
|
||||
const examItemsArrs = examItems.split(';');
|
||||
const startTime = examItemsArrs[0]
|
||||
|
||||
@ -1,15 +1,30 @@
|
||||
//@ts-ignore
|
||||
import camera from '@ohos.multimedia.camera';
|
||||
import image from '@ohos.multimedia.image'
|
||||
import util from '@ohos.util';
|
||||
import { writeFile } from '../../common/service/fileService'
|
||||
import TopLogo from '../compontents/topLogo'
|
||||
import { cameraService } from '../../common/service/cameraService'
|
||||
import { voiceService } from '../../common/service/voiceService'
|
||||
import { faceCompare } from '../../api/userInfo'
|
||||
import prompt from '@ohos.prompt'
|
||||
import grantPermission from '../../common/utils/PermissionUtils';
|
||||
import CameraModel from '../../common/service/CameraModel';
|
||||
import FileUtil from '../../common/utils/File'
|
||||
import { VideoConfig } from '../interfaces'
|
||||
import common from '@ohos.app.ability.common';
|
||||
import fs from '@ohos.file.fs'
|
||||
import onvifclient from '@ohos.onvifclient';
|
||||
import buffer from '@ohos.buffer';
|
||||
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
|
||||
import {string2Bytes} from '../../common/utils/tools'
|
||||
|
||||
// import MediaModel from '../../common/utils/MediaModel';
|
||||
let previewWidth;
|
||||
let previewHeight;
|
||||
|
||||
const PERMISSIONS: Array<string> = [
|
||||
'ohos.permission.CAMERA']
|
||||
|
||||
@Component
|
||||
struct FaceCompare {
|
||||
constructor() {
|
||||
@ -32,7 +47,9 @@ struct FaceCompare {
|
||||
@State callBackFlag:boolean=false;
|
||||
@State @Watch('changefaceCompareSucess') showFaceCompare2: Boolean = false;
|
||||
|
||||
private surfaceId: string = '';
|
||||
@State video_url: string = 'rtsp://admin:12345qwe@192.168.5.41:8000/h264/ch2/main/av_stream'
|
||||
private fileAsset: mediaLibrary.FileAsset = undefined;
|
||||
@State previewUri: Resource = $r('app.media.2_nor')
|
||||
@State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X
|
||||
@State showControls: boolean = false
|
||||
@ -41,7 +58,7 @@ struct FaceCompare {
|
||||
@State signNum: number = 0;
|
||||
private fileUtil: FileUtil
|
||||
private interval: any
|
||||
// private mediaTest: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(globalThis.abilityContext)
|
||||
private mediaTest: mediaLibrary.MediaLibrary = mediaLibrary.getMediaLibrary(globalThis.abilityContext)
|
||||
private fd: number = -1;
|
||||
@State param: VideoConfig = {
|
||||
spls: '',
|
||||
@ -211,11 +228,23 @@ struct FaceCompare {
|
||||
}
|
||||
getqkFn(){
|
||||
let tmpList = [];
|
||||
tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0])
|
||||
// const str =globalThis.signNum
|
||||
// for (let i = 0;i < str.length; i++) {
|
||||
// tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
// }
|
||||
// const arr = [globalThis.signNum||0, globalThis.statue||1]
|
||||
// let tmpList = [];
|
||||
tmpList.push(this.string2Bytes(globalThis.signNum, 1 * 8)[0])
|
||||
const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId}
|
||||
|
||||
globalThis.udpClient2.sendMsg(param, this.context)
|
||||
}
|
||||
async faceComparFn() {
|
||||
var loginInfo1 = {
|
||||
host: `http://${this.param.ip}:80`, user: "administrator", pass: this.param.pwd }
|
||||
// var file_dir = "/data/service/el1/public/netmanager/ethernet/";
|
||||
// var result3 = onvifclient.getVideoSnapshot(loginInfo1, video_uri, file_dir);
|
||||
// console.info(`baoyihu endRecordVideo result:` + result3.result + ` pictureFile:` + result3.dataString);
|
||||
var mediaTest = mediaLibrary.getMediaLibrary(this.context);
|
||||
let mediaType = mediaLibrary.MediaType.IMAGE;
|
||||
let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE;
|
||||
@ -229,6 +258,7 @@ struct FaceCompare {
|
||||
var result3 = onvifclient.getVideoSnapshot(`rtsp://${this.param.userName}:${this.param.pwd}@${this.param.ip}:${this.param.port}/h264/ch${this.param.rlls}/main/av_stream`, file_path, fd);
|
||||
fs.closeSync(fd);
|
||||
asset.close(fd);
|
||||
// let filePath = pathDir + "/test.txt";
|
||||
fs.lstat(file_path).then((stat) => {
|
||||
console.info("get link status succeed, the size of file is" + stat.size);
|
||||
let file = fs.openSync(file_path, fs.OpenMode.READ_WRITE);
|
||||
@ -304,7 +334,7 @@ struct FaceCompare {
|
||||
let tmpList=[]
|
||||
const str =this.lsh
|
||||
for (let i = 0;i < str.length; i++) {
|
||||
tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
}
|
||||
const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{
|
||||
console.log('46send')
|
||||
@ -461,7 +491,50 @@ struct FaceCompare {
|
||||
}
|
||||
})
|
||||
}
|
||||
fillZero(str, len) {
|
||||
str = str + '';
|
||||
if (str.length > len || !len) {
|
||||
return str
|
||||
}
|
||||
|
||||
let num = len - str.length;
|
||||
let zeroStr = '';
|
||||
for (var i = 0; i < num; i++) {
|
||||
zeroStr = zeroStr + '0'
|
||||
}
|
||||
|
||||
return zeroStr + str;
|
||||
}
|
||||
|
||||
// takePictureHandle = (thumbnail: string) => {
|
||||
// this.imageThumbnail = thumbnail;
|
||||
// };
|
||||
string2Bytes(number, len) {
|
||||
// console.log('string2Bytes == ', number)
|
||||
let str = (+number).toString(2);
|
||||
if(str.length > len) {
|
||||
console.log('数据长度不对~~');
|
||||
return
|
||||
}
|
||||
var byteString = this.fillZero(str, len);
|
||||
|
||||
var arrBytes = new Array();
|
||||
for (var i = byteString.length; i > 0;) {
|
||||
let j = i - 8;
|
||||
if (j < 0) {
|
||||
j = 0
|
||||
}
|
||||
var s = byteString.slice(j, i);
|
||||
var v = parseInt(s, 2);
|
||||
arrBytes.push(v);
|
||||
i = i - 8
|
||||
|
||||
}
|
||||
return arrBytes;
|
||||
}
|
||||
|
||||
async aboutToDisappear() {
|
||||
// this.mediaModel = MediaModel.getMediaInstance();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,6 @@ import { voiceService } from '../../common/service/voiceService'
|
||||
import prompt from '@ohos.prompt'
|
||||
import SerialPortClient from '../../common/utils/SerialPortClient'
|
||||
import RealTime from '../compontents/judge/real-time'
|
||||
|
||||
@Component
|
||||
struct SignDisplayCom {
|
||||
constructor() {
|
||||
|
||||
@ -12,7 +12,7 @@ interface Params{
|
||||
rlls:string
|
||||
}
|
||||
|
||||
export default class PhotoModel{
|
||||
export default class FilePhoto{
|
||||
|
||||
private params:Params
|
||||
private context:any
|
||||
|
||||
@ -111,11 +111,11 @@ export default class JudgeData{
|
||||
ljmc:p[24], lcmc:0, csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0, tbp:0, hsj:0, dcj:0, gx:0, yl:0
|
||||
},
|
||||
gps:{
|
||||
//TODO 办卡类型 定位差分状态
|
||||
//办卡类型 定位差分状态
|
||||
bklx:p[56], dwzt:p[83],
|
||||
//@ts-ignore 角度差分状态
|
||||
jdzt:p[92].split('-')[0]*1,
|
||||
//TODO gps数据
|
||||
//gps数据
|
||||
//gps时间 经度 纬度 航向角 俯仰角 海拔高 高度差 速度
|
||||
sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97],
|
||||
//龄期 经度因子 纬度因子 定位搜星数
|
||||
|
||||
@ -17,10 +17,9 @@ export default class JudgeTask{
|
||||
try {
|
||||
await currentTask();
|
||||
}catch (e){
|
||||
// TODO 优化
|
||||
console.info(TAG,'鸿蒙:过程数据接口解析错误')
|
||||
console.info(TAG,'过程数据接口解析错误')
|
||||
prompt.showToast({
|
||||
message: '鸿蒙:过程数据接口解析错误',
|
||||
message: '过程数据接口解析错误',
|
||||
duration: 3000
|
||||
});
|
||||
}
|
||||
@ -31,12 +30,12 @@ export default class JudgeTask{
|
||||
this.status = 'end'
|
||||
}
|
||||
}
|
||||
|
||||
addTask = async (fn) =>{
|
||||
this.queue.push(fn);
|
||||
if(this.status == 'end' && this.queue.length === 1){
|
||||
await this.executeQueue();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -48,7 +48,6 @@ const judgeTag = 'SURENJUN_JUDGE'
|
||||
export default class Judge{
|
||||
|
||||
constructor(judgeUI,fileLog) {
|
||||
this.totalScore = 0;
|
||||
this.serialIndex = 1;
|
||||
this.judgeUI = judgeUI
|
||||
this.fileLog = fileLog;
|
||||
@ -67,11 +66,9 @@ export default class Judge{
|
||||
this.xmmcCode = '';
|
||||
this.carztStr = '';
|
||||
this.allKm2ItemsObj = {};
|
||||
this.isTrajectoryOpen = false;
|
||||
this.modelPath = 'models/model_enc'
|
||||
this.trajectoryPath = '/logs/2024_01_18/2230201333925_330802200407086520_吴雪娥_2024_01_18_10_39_40/judge_exam_data.txt';
|
||||
//1234236633488_679417917543435904_尹立曙_2024_01_15_19_27_56
|
||||
//2230201333925_330802200407086520_吴雪娥_2024_01_18_10_39_40
|
||||
this.isTrajectoryOpen = true;
|
||||
this.trajectoryPath = '/logs/2024_01_24/2024_01_24_11_30_06_2210707689316_620502199005070478_马鸣五/judge_exam_data.txt';
|
||||
this.isExam = !globalThis.singlePlay;
|
||||
const {projectsCenterObj} = judgeUI
|
||||
|
||||
@ -113,10 +110,12 @@ export default class Judge{
|
||||
|
||||
//日志回调
|
||||
console.info(judgeTag,'1.进入评判入口')
|
||||
|
||||
await examJudgeSetLogCallback(3, async (level, info,len)=>{
|
||||
console.log('评判日志:' + info)
|
||||
await fileLog.setExamJudgeLogData(info);
|
||||
})
|
||||
|
||||
console.info(judgeTag,'2.注册日志回调完成')
|
||||
|
||||
//相关评判初始化只做一次
|
||||
@ -135,6 +134,7 @@ export default class Judge{
|
||||
const initInfo = await this.getJudgeInitData();
|
||||
await fileLog.setExamJudgeData(initInfo)
|
||||
}
|
||||
|
||||
globalThis.isJudge = true
|
||||
// 2.评判过程回调
|
||||
await examJudgeSetRealExamCallback(async (strData,len)=>{
|
||||
@ -159,7 +159,6 @@ export default class Judge{
|
||||
await examJudgeBeginExam(beginExamInfo);
|
||||
console.info(judgeTag,'6.开始考试注册完成')
|
||||
|
||||
// sendGreen()
|
||||
//实时plc数据信号
|
||||
// let open = true;
|
||||
if(isTrajectoryOpen){
|
||||
@ -174,7 +173,6 @@ export default class Judge{
|
||||
clearInterval(judgeTimer)
|
||||
return
|
||||
}
|
||||
const {totalScore} = this;
|
||||
// 4.过程数据
|
||||
this.tempData = msg
|
||||
this.plcData= msg
|
||||
@ -193,7 +191,6 @@ export default class Judge{
|
||||
return
|
||||
}
|
||||
const plcData = await getPlcData(msg);
|
||||
const {totalScore} = this;
|
||||
// 4.过程数据
|
||||
await fileLog.setExamJudgeData(plcData)
|
||||
await examJudgeRealExam(plcData)
|
||||
@ -282,7 +279,7 @@ export default class Judge{
|
||||
});
|
||||
const copyProjectsObj = this.judgeUI.projectsObj;
|
||||
|
||||
//语音播报 & 发送中心接口
|
||||
//语音播报
|
||||
this.goVoiceAnnounce(event,xmdm, this.kfArr,xmjs)
|
||||
judgeUI.projectsObj = deepClone(copyProjectsObj)
|
||||
}
|
||||
@ -365,7 +362,7 @@ export default class Judge{
|
||||
}
|
||||
}
|
||||
|
||||
//当前项目转换
|
||||
// 当前项目转换
|
||||
getDqxmStr = (type) => {
|
||||
const projectsObj = this.judgeUI.projectsObj
|
||||
if(projectsObj){
|
||||
@ -616,7 +613,6 @@ export default class Judge{
|
||||
this.isJudgeDisConnect = true;
|
||||
}
|
||||
const isJudgeDisConnect = this.isJudgeDisConnect;
|
||||
// isJudgeDisConnect ? fileLog.setExamJudgeDisWuxiProgressData(data) : fileLog.setExamJudgeWuxiData(data)
|
||||
let toast = '';
|
||||
switch (code){
|
||||
case -1:toast = '无当前科目考试信息';break;
|
||||
@ -926,11 +922,11 @@ export default class Judge{
|
||||
ljmc:p[24], lcmc:0, csbzh:p[32], csbyh:p[30], csbyq:p[31], csbzq:p[29], zy:0, tbp:0, hsj:0, dcj:0, gx:0, yl:0
|
||||
},
|
||||
gps:{
|
||||
//TODO 办卡类型 定位差分状态
|
||||
//办卡类型 定位差分状态
|
||||
bklx:p[56], dwzt:p[83],
|
||||
//@ts-ignore 角度差分状态
|
||||
jdzt:p[92].split('-')[0]*1,
|
||||
//TODO gps数据
|
||||
//gps数据
|
||||
//gps时间 经度 纬度 航向角 俯仰角 海拔高 高度差 速度
|
||||
sj:time, jd:p[96], wd:p[95], hxj:p[90], fyj:p[91], hbg:p[85], gdc:p[86], sd:p[97],
|
||||
//龄期 经度因子 纬度因子 定位搜星数
|
||||
@ -1064,7 +1060,6 @@ export default class Judge{
|
||||
//考试是否结束了
|
||||
private isEnd:boolean
|
||||
//UDP服务序列号
|
||||
private serialNumber:number
|
||||
private serialIndex:number
|
||||
private fileUtil:FileUtil
|
||||
private judgeTask:JudgeTask
|
||||
|
||||
@ -62,12 +62,6 @@ export default class FileLog {
|
||||
await fileUtil.editFile(`${folderPath}/wuxi_dis_progress_data.txt`,str);
|
||||
}
|
||||
|
||||
// // 读取断点续考无锡过程数据
|
||||
// public readExamJudgeDisWuxiProgressData = async () =>{
|
||||
// const {fileUtil,folderPath} = this;
|
||||
// await fileUtil.readFile(`${folderPath}/wuxi_dis_progress_data.txt`);
|
||||
// }
|
||||
|
||||
// plc文件数据
|
||||
public setPlcProgressData = async (str:string) => {
|
||||
const {fileUtil,folderPath} = this;
|
||||
|
||||
@ -12,7 +12,7 @@ interface Params{
|
||||
rlls:string
|
||||
}
|
||||
|
||||
export default class PhotoModel{
|
||||
export default class FilePhoto{
|
||||
|
||||
private params:Params
|
||||
private context:any
|
||||
@ -41,6 +41,7 @@ export default class PhotoModel{
|
||||
let mediaType = mediaLibrary.MediaType.IMAGE;
|
||||
let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE;
|
||||
const path = await mediaTest.getPublicDirectory(DIR_DOCUMENTS);
|
||||
|
||||
return new Promise(async (resolve)=>{
|
||||
mediaTest.createAsset(mediaType, 'judge_face.jpg', path,(error,asset)=>{
|
||||
asset.open('rw', (error, fd) => {
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
import { getExaminationItem, getExaminationStudentInfo, examinationStuAbsent,getPhotosForOther } from '../api/userInfo'
|
||||
import { voiceService } from '../common/service/voiceService'
|
||||
|
||||
import router from '@ohos.router'
|
||||
import TopLogo from './compontents/topLogo'
|
||||
import Md5 from '../common/utils/md5';
|
||||
@ -7,16 +9,22 @@ import USER from '../common/constants/USER';
|
||||
import { dateFormat,getCurrentTime } from '../common/utils/tools';
|
||||
import MA_SYSSET from '../common//constants/MA_SYSSET';
|
||||
import FaceCompare from './compontents/faceCompareByhaikang'
|
||||
import ethernet from '@ohos.net.ethernet';
|
||||
import prompt from '@ohos.prompt'
|
||||
import {initJudgeUdp} from '../common/utils/UdpJudge'
|
||||
// import testNapi from "@ohos.idcard";
|
||||
import CommonEvent from '@ohos.commonEventManager';
|
||||
// @ts-ignore
|
||||
import {writeObjectOut} from '../api/judge'
|
||||
import testNapi from "@ohos.idcard";
|
||||
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
|
||||
import fs from '@ohos.file.fs'
|
||||
import FileUtil from '../common/utils/File'
|
||||
import common from '@ohos.app.ability.common';
|
||||
import onvifclient from '@ohos.onvifclient';
|
||||
import util from '@ohos.util';
|
||||
import { VideoConfig } from './interfaces'
|
||||
import WebRTCVoice from './webRTC/'
|
||||
import {string2Bytes} from '../common/utils/tools'
|
||||
@Entry
|
||||
@Component
|
||||
struct Index {
|
||||
@ -95,6 +103,7 @@ struct Index {
|
||||
@State effectDate: string = '';
|
||||
@State interval: any = null;
|
||||
@State interval2: any = null;
|
||||
@State interval3: any = null;
|
||||
@State studentRefreshStatue: string = '0';
|
||||
@State photo: string = 'data:image/bmp;base64,';
|
||||
@State numCount: number = 0;
|
||||
@ -143,6 +152,8 @@ struct Index {
|
||||
this.numCount=0
|
||||
const fileUtil = new FileUtil(this.context)
|
||||
this.fileUtil = fileUtil
|
||||
|
||||
|
||||
globalThis.udpClient2&&globalThis.udpClient2.onMessage((val)=>{
|
||||
console.log('valvaltotol2',val.id,val.body,val.length)
|
||||
|
||||
@ -156,8 +167,25 @@ struct Index {
|
||||
this.signNum=val.body[1]
|
||||
}
|
||||
}else if(val.id=='48'){
|
||||
console.log('valvalkkkk',val.body)
|
||||
// if(val.body[13]=='1'){
|
||||
// this.faceCompareSucess=1
|
||||
// console.log('ttt111')
|
||||
// // clearInterval(this.interval)
|
||||
// this.facePass()
|
||||
// }
|
||||
}else if(val.id=='42'){
|
||||
console.log('qkfnqkfn',val.body[0])
|
||||
this.qkFn()
|
||||
// this.getExaminationStudentInfoFn()
|
||||
// const arr = [globalThis.signNum,1];
|
||||
// let tmpList = [];
|
||||
// tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0])
|
||||
// tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0])
|
||||
//
|
||||
// const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId}
|
||||
//
|
||||
// globalThis.udpClient2.sendMsg(param, this.context)
|
||||
}
|
||||
})
|
||||
// 应用启动时打开读卡设备
|
||||
@ -168,6 +196,19 @@ struct Index {
|
||||
} else {
|
||||
console.error("zzctest Failed to Open Device");
|
||||
}
|
||||
// this.vocObj = new voiceService(async (status,val) => {
|
||||
// if (status == 'idle') {
|
||||
// if(val==='ksks.WAV'){
|
||||
// router.pushUrl({
|
||||
// url: 'pages/Judge',
|
||||
// params:{examItems:this.examItems}
|
||||
// }, router.RouterMode.Single);
|
||||
// globalThis.statue=4
|
||||
// this.vocObj&&this.vocObj.releasePlayer()
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
if(globalThis.singlePlay){
|
||||
this.list=[
|
||||
{
|
||||
@ -400,7 +441,7 @@ struct Index {
|
||||
}
|
||||
getqkFn(){
|
||||
let tmpList = [];
|
||||
tmpList.push(string2Bytes(globalThis.signNum, 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(globalThis.signNum, 1 * 8)[0])
|
||||
const param= {id: 41,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId}
|
||||
|
||||
globalThis.udpClient2.sendMsg(param, this.context)
|
||||
@ -409,7 +450,7 @@ struct Index {
|
||||
let tmpList=[]
|
||||
const str =globalThis.lsh
|
||||
for (let i = 0;i < str.length; i++) {
|
||||
tmpList.push(string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
}
|
||||
|
||||
const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{
|
||||
@ -418,17 +459,42 @@ struct Index {
|
||||
}}
|
||||
this.interval=setInterval(()=>{
|
||||
if(this.callBackFlag){
|
||||
console.log('validqqq333')
|
||||
const param2 = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId }
|
||||
globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param2,this.context)
|
||||
}
|
||||
},1000)
|
||||
// const param = { id: 31, list: tmpList, carNo: 489, placeId: 62 }
|
||||
globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param, this.context)
|
||||
|
||||
|
||||
// return {id: 31,list:tmpList,carNo:489,placeId:62}
|
||||
}
|
||||
aboutToDisappear() {
|
||||
clearInterval(this.interval)
|
||||
clearInterval(this.interval2)
|
||||
testNapi.StopReadCard();
|
||||
// console.log("zzctest Close Device ret = " + testNapi.CloseDevice());
|
||||
}
|
||||
changeStudentStatue(val){
|
||||
const arr = [globalThis.signNum||0, val]
|
||||
let tmpList = [];
|
||||
tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0])
|
||||
const str = globalThis.lsh
|
||||
for (let i = 0;i < str.length; i++) {
|
||||
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
}
|
||||
// const str ='1111160366580'
|
||||
// for (let i = 0;i < str.length; i++) {
|
||||
// tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
// }
|
||||
// const param = { id: 46, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId,callback:()=>{
|
||||
|
||||
// const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 }
|
||||
const param= {id: 31,list:tmpList,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId}
|
||||
|
||||
globalThis.udpClient2&&globalThis.udpClient2.sendMsg(param, this.context)
|
||||
}
|
||||
facePass(){
|
||||
if(!this.stepFlag){
|
||||
@ -521,7 +587,21 @@ struct Index {
|
||||
})
|
||||
})
|
||||
}
|
||||
// async getVideoConfig(){
|
||||
// const data = await this.fileUtil.readFile('/mnt/hmdfs/100/account/device_view/localfiles/files/logs/config/config3.txt');
|
||||
// this.param=JSON.parse(data)
|
||||
// }
|
||||
changefaceCompareSucess() {
|
||||
// globalThis.statue=3
|
||||
console.log('this.faceCompareSuces',this.faceCompareSucess,JSON.stringify(this.currentUser))
|
||||
// if(this.faceCompareSucess!=1){
|
||||
// this.heartMsg(this.context)
|
||||
// return
|
||||
// }else{
|
||||
// console.log('kkkk2')
|
||||
// this.sfbdinterfaceFn()
|
||||
//
|
||||
// }
|
||||
if(this.faceCompareSucess>0){
|
||||
this.sfbdinterfaceFn()
|
||||
}
|
||||
@ -552,8 +632,12 @@ struct Index {
|
||||
this.lsh=this.currentUser.lsh
|
||||
globalThis.lsh=this.currentUser.lsh
|
||||
globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm
|
||||
|
||||
// this.currentUser.kszp=this.photo+res.kszp
|
||||
// this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp
|
||||
if(globalThis.singlePlay){
|
||||
testNapi.StopReadCard();
|
||||
// globalThis.statue=4
|
||||
router.pushUrl({
|
||||
url: 'pages/Judge',
|
||||
},router.RouterMode.Single);
|
||||
@ -667,11 +751,59 @@ struct Index {
|
||||
this.lsh=this.currentUser.lsh
|
||||
globalThis.lsh=this.lsh
|
||||
globalThis.ksyh=this.currentUser.ksy1sfzmhm||this.currentUser.ksy2sfzmhm
|
||||
|
||||
// this.currentUser.kszp=this.photo+this.currentUser.kszp
|
||||
// this.currentUser.ksmjzp=this.photo+this.currentUser.ksmjzp
|
||||
// this.currentUser.kszp='data:image/jpg;base64,'+this.currentUser.kszp
|
||||
// this.currentUser.ksmjzp='data:image/jpg;base64,'+this.currentUser.ksmjzp
|
||||
// this.getPhotosForOtherFn(this.currentUser,1)
|
||||
// this.getPhotosForOtherFn(this.currentUser,2)
|
||||
// for (let i in this.currentUser) {
|
||||
// this.currentUser[i] = decodeURI(this.currentUser[i])
|
||||
// }
|
||||
console.log('this.currentUse3' + JSON.stringify(this.currentUser))
|
||||
this.pageIndex = 0
|
||||
}).catch((error) => {
|
||||
console.log('error12error' + error)
|
||||
})
|
||||
}
|
||||
fillZero(str, len) {
|
||||
str = str + '';
|
||||
if (str.length > len || !len) {
|
||||
return str
|
||||
}
|
||||
|
||||
let num = len - str.length;
|
||||
let zeroStr = '';
|
||||
for (var i = 0; i < num; i++) {
|
||||
zeroStr = zeroStr + '0'
|
||||
}
|
||||
|
||||
return zeroStr + str;
|
||||
}
|
||||
string2Bytes(number, len) {
|
||||
// console.log('string2Bytes == ', number)
|
||||
let str = (+number).toString(2);
|
||||
if(str.length > len) {
|
||||
console.log('数据长度不对~~');
|
||||
return
|
||||
}
|
||||
var byteString = this.fillZero(str, len);
|
||||
|
||||
var arrBytes = new Array();
|
||||
for (var i = byteString.length; i > 0;) {
|
||||
let j = i - 8;
|
||||
if (j < 0) {
|
||||
j = 0
|
||||
}
|
||||
var s = byteString.slice(j, i);
|
||||
var v = parseInt(s, 2);
|
||||
arrBytes.push(v);
|
||||
i = i - 8
|
||||
|
||||
}
|
||||
return arrBytes;
|
||||
}
|
||||
getPhotosForOtherFn(data,type){
|
||||
const date=new Date()
|
||||
const param={
|
||||
@ -703,9 +835,15 @@ struct Index {
|
||||
examinationStuAbsent(param).then(res => {
|
||||
const arr = [this.signNum||0,1]
|
||||
let tmpList = [];
|
||||
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
|
||||
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0])
|
||||
tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0])
|
||||
|
||||
// const str ='1111160366580'
|
||||
// for (let i = 0;i < str.length; i++) {
|
||||
// tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
|
||||
// }
|
||||
// const param = { id: 46, list: tmpList, carNo: 489, placeId: 62 }
|
||||
console.log('globalThis.signNum',globalThis.signNum)
|
||||
const param= {id: 43,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId}
|
||||
|
||||
globalThis.udpClient2.sendMsg(param, this.context)
|
||||
@ -735,6 +873,7 @@ struct Index {
|
||||
yycs: ''
|
||||
}
|
||||
this.getExaminationStudentInfoFn()
|
||||
// this.errorMsg = decodeURI(res.examinationStuAbsentRsp.head.resultMessage)
|
||||
return
|
||||
}
|
||||
|
||||
@ -1018,14 +1157,27 @@ struct Index {
|
||||
.margin({ left: 53 * this.ratio })
|
||||
|
||||
Column() {
|
||||
// Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
||||
// Image($r('app.media.yydj')).width(45 * this.ratio).height(45 * this.ratio)
|
||||
// Text('语音对讲').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio)
|
||||
// }
|
||||
Image($r('app.media.yydj_btn'))
|
||||
.width(220 * this.ratio)
|
||||
.height(69 * this.ratio)
|
||||
.backgroundImage($r('app.media.button_nor'))
|
||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||
.margin({ bottom: 12 * this.ratio }).onClick(()=>{
|
||||
// this.getCurrentStudent('3423231995014700007')
|
||||
// this.vocObj.playAudio({
|
||||
// type: 1,
|
||||
// name: 'media_button.wav'
|
||||
// })
|
||||
})
|
||||
|
||||
// Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
||||
// Image($r('app.media.gx')).width(45 * this.ratio).height(45 * this.ratio)
|
||||
// Text(' 更 新 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio)
|
||||
// }
|
||||
Image($r('app.media.gx_btn'))
|
||||
.width(220 * this.ratio)
|
||||
.height(69 * this.ratio)
|
||||
@ -1035,8 +1187,16 @@ struct Index {
|
||||
this.faceCompareSucess=0
|
||||
this.numCount=0
|
||||
this.getExaminationStudentInfoFn()
|
||||
// this.vocObj.playAudio({
|
||||
// type: 1,
|
||||
// name: 'media_button.wav'
|
||||
// })
|
||||
})
|
||||
|
||||
// Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
||||
// Image($r('app.media.qk')).width(45 * this.ratio).height(45 * this.ratio)
|
||||
// Text(' 缺 考 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio)
|
||||
// }
|
||||
Image($r('app.media.qk_btn'))
|
||||
.width(220 * this.ratio)
|
||||
.height(69 * this.ratio)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user