This commit is contained in:
“wangzhongjie” 2024-02-22 10:40:35 +08:00
parent 5992d0493d
commit 4c2515c1fb
12 changed files with 367 additions and 413 deletions

View File

@ -9,7 +9,7 @@ export async function timeSynchronization(params){
<head><time>${params.time}</time></head>
<body><deviceNo>${params.deviceNo}</deviceNo>
<shellVersion>${params.version}</shellVersion>
<judgeVersion>${params.version}</judgeVersion>
<judgeVersion>${params.judgeVersion}</judgeVersion>
</body>
</timeSynchronizationReq>`,
method:'post',

View File

@ -170,7 +170,7 @@ export default class Rdb {
return
}
console.log('ExecuteSqlsuccess')
callback('ExecuteSqlsuccess')
callback(true)
})
}

View File

@ -0,0 +1,127 @@
// @ts-nocheck
import promptAction from '@ohos.promptAction'
import router from '@ohos.router'
import { dateFormat} from '../utils/tools'
import FileUtil from '../../common/utils/File'
import AccountTable from '../../common/database/tables/AccountTable';
import MA_SYSSET from '../../common/constants/MA_SYSSET';
import {
getDataBaseTable,
upDateTable,
getMySystemSetTable,
delSyncTable,
upDataZhongxinginitialization
} from '../../common/service/initable'
import configAddress from '../../common/utils/FileConfig'
//配置流水号
export async function setliushuiNum(context){
const fileUtil = new FileUtil(context)
let res = fs.accessSync(configAddress.comoonfileWriteAddress+'/config/liushui.txt');
const fileData = await fileUtil.readFile(configAddress.comoonfileWriteAddress+'/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))
return
}
}
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))
}
//双中心表
export async function getDoubleCeneterTable() {
return new Promise(async (reslove,reject)=>{
// MA_SYSSET双中心下做合并表格操作
const db = new AccountTable(() => {
}, MA_SYSSET);
db.getRdbStore(() => {
db.query('0', async (array) => {
if (array.length) {
delSyncTable('MA_SYSSET').then(async () => {
await getDataBaseTable({ tableName: 'MA_SYSSET' })
await getMySystemSetTable({ tableName: 'MA_SYSSET' })
})
} else {
await getDataBaseTable({ tableName: 'MA_SYSSET' })
await getMySystemSetTable({ tableName: 'MA_SYSSET' })
}
})
})
const typeObj = {
'MA_MARKRULE': false,
'MA_SYSTEMPARM': false,
'MA_MAP_COLLECT': false,
'MA_MAP_COLLECT_SHAPE': false,
'MA_MAP_ITEMCLASS': false,
'MA_MAP_POINT': false,
'MA_MAP_POINT_ITEM': false,
'MA_MAP_ROAD': false,
'MA_MAP_ROAD_LANE': false,
'MA_MAP_SUBITEM': false,
'ES_CARINFO': false,
'ES_EXAMPOINTDETAIL': false,
'MA_MARKRULESET': false,
'ES_CAR_VIDEO_PARAMETER': false,
'MA_CDSBINFO': false,
'MA_ITEMINFO': false,
'MA_T_CARPARMSET': false
}
for(let key in typeObj){
typeObj[key] = await upDateTable({ tableName: key })
if (!typeObj[key]) {
promptAction.showToast({
message: `未能查询到${key}表数据, 请先检查网络是否连接正常`,
duration: 3000
});
reslove(false)
return
}
}
reslove(true)
router.pushUrl({
url: 'pages/ExaminerLogin',
}, router.RouterMode.Single);
})
}
//单中心存表
export async function getSingleCenterTable() {
return new Promise((reslove,reject)=>{
upDataZhongxinginitialization().then((flag)=>{
if(flag){
router.pushUrl({
url: 'pages/ExaminerLogin',
}, router.RouterMode.Single)
reslove(true)
}else{
// router.pushUrl({
// url: 'pages/ExaminerLogin',
// }, router.RouterMode.Single)
// reslove(true)
promptAction.showToast({
message: '联网更新失败,请检查网络后重新更新',
duration: 1000
});
reslove(false)
}
}).catch((error)=>{
console.log(error)
})
})
}

View File

@ -73,10 +73,9 @@ const centerToMap={
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
function sqlInsertCommonFn(tableName,resultArr){
new Promise((reslove,reject)=>{
return new Promise((resolve,reject)=>{
const accountTable = new AccountTable(() => {
}, map[params.tableName]);
}, map[tableName]);
accountTable.getRdbStore(() => {
accountTable.query('0', async (result) => {
if (result.length == 0) {
@ -93,7 +92,7 @@ function sqlInsertCommonFn(tableName,resultArr){
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[tableName].length-1){
if(i==resultArr.length-1){
str+=')'
}else{
str+='),'
@ -101,8 +100,8 @@ function sqlInsertCommonFn(tableName,resultArr){
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,tableName,()=>{
resolve(true)
accountTable.sqlOperate(INSERT_SQL,tableName,(val)=>{
resolve(val)
})
}
@ -121,7 +120,7 @@ function sqlInsertCommonFn(tableName,resultArr){
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[tableName].length-1){
if(i==resultArr.length-1){
str+=')'
}else{
str+='),'
@ -129,8 +128,8 @@ function sqlInsertCommonFn(tableName,resultArr){
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,tableName,()=>{
resolve(true)
accountTable.sqlOperate(INSERT_SQL,tableName,(val)=>{
resolve(val)
})
}
}, true);
@ -200,7 +199,7 @@ export async function getDataBaseTable(params) {
}
export async function upDateTable(params) {
return new Promise(async (resolve, reject) => {
return new Promise((resolve, reject) => {
const date = new Date()
let paraKdid=''
let examinationRoomId=''
@ -220,14 +219,19 @@ export async function upDateTable(params) {
}
}
const url=globalThis.timeInfo.url
let res: any = await initCenterCache(str,url)
if(!res||res==undefined||res==''){
resolve(false)
return
}
const result=await sqlInsertCommonFn(params.tableName,res.body[params.tableName])
resolve(result)
initCenterCache(str,url).then(async (res)=>{
if(!res||res==undefined||res==''){
resolve(false)
return
}
try {
const result=await sqlInsertCommonFn(params.tableName,res.body[params.tableName])
resolve(result)
}catch (error){
console.log(error)
}
})
});
}
@ -238,7 +242,7 @@ export async function upDateTableConfig(tableName,arr) {
}
//考试平台
export async function getMySystemSetTable(params) {
return new Promise(async (resolve, reject) => {
return new Promise((resolve, reject) => {
const date = new Date()
if(!globalThis.timeInfo?.paraKdid){
prompt.showToast({
@ -255,13 +259,17 @@ export async function getMySystemSetTable(params) {
"typeRsp": "0" // 赋默认值0无需改变
}
}
let res: any = await initCenterCacheByKSPT(str)
if( res.body[params.tableName].length==0){
resolve();
return
}
const result=sqlInsertCommonFn(params.tableName,res.body[params.tableName])
resolve(result)
initCenterCacheByKSPT(str).then((res)=>{
if( res.body[params.tableName].length==0){
resolve();
return
}
sqlInsertCommonFn(params.tableName,res.body[params.tableName]).then((result)=>{
resolve(result)
})
})
})
}
@ -343,7 +351,7 @@ export async function getEsCarModel(context){
}
export async function upDataZhongxinginitialization(){
return new Promise(async (resolve, reject) => {
return new Promise((resolve, reject) => {
if(!globalThis.carInfo?.carId){
resolve(false)
@ -356,28 +364,33 @@ export async function upDataZhongxinginitialization(){
judgeVersion:globalThis.judgeVersion,
shellVersion: globalThis.version
}
let res: any = await initialization(str)
if(!res){
resolve(false)
return
}
let flag
for(let key in res.initializationRsp.body){
if(!centerToMap[key]){
continue
}
flag = await setSyncCenterSqlData(key,res)
if(!flag){
initialization(str).then(async(res)=>{
if(!res){
resolve(false)
return
}
}
resolve(true)
let flag
for(let key in res.initializationRsp.body){
if(!centerToMap[key]){
continue
}
try{
flag= await setSyncCenterSqlData(key,res)
}catch (error){
console.log(error)
}
if(!flag){
resolve(false)
return
}
}
resolve(true)
})
})
}
function setSyncCenterSqlData(key,res){
return new Promise(async (resolve,reject)=>{
return new Promise((resolve,reject)=>{
const mapName={
'ItemInfo':'MA_ITEMINFO',
'MarkRule':'MA_MARKRULE',
@ -406,7 +419,18 @@ function setSyncCenterSqlData(key,res){
}else{
arrList=[res.initializationRsp.body[key].record]
}
const reslut=await sqlInsertCommonFn(mapName[key],arrList)
resolve(reslut)
res
sqlInsertCommonFn(mapName[key],arrList).then((result)=>{
console.log(key,'表建立成功')
if(result){
resolve(true)
}else{
resolve(false)
}
}).catch((msg)=>{
reject(false)
console.log(msg)
})
})
}

View File

@ -4,23 +4,23 @@ import { dateFormat} from '../utils/tools'
//获取设备信息
export async function getDeviceInfo() {
// globalThis.deviceNo = 'J43405J003101'; //设备mac
// globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
// globalThis.diskId = '1231231231'; //硬盘号
// globalThis.hasAuth = true;
globalThis.deviceNo = 'J43405J003101'; //设备mac
globalThis.deviceNo = 'FE-FC-FE-7C-5C-77'; //设备mac
globalThis.diskId = '1231231231'; //硬盘号
globalThis.hasAuth = true;
//
// return null
return new Promise((resolve, reject) => {
getSyncData('DeviceInfoTable').then((result: Array<any>) => {
if (result.length) {
globalThis.deviceNo = result[0].deviceId
this.deviceId = result[0].deviceId
resolve(result[0].deviceId)
} else {
resolve('')
}
})
})
// return new Promise((resolve, reject) => {
// getSyncData('DeviceInfoTable').then((result: Array<any>) => {
// if (result.length) {
// globalThis.deviceNo = result[0].deviceId
// this.deviceId = result[0].deviceId
// resolve(result[0].deviceId)
// } else {
// resolve('')
// }
// })
// })
}
//获取考车信息

View File

@ -7,7 +7,7 @@ export async function timeSynchronize() {
let date = new Date();
console.info('jiangsong1:timeSynchronization begin ' );
let params = { time: dateFormat(date), deviceNo: globalThis.deviceNo,version:globalThis.version}
let params = { time: dateFormat(date), deviceNo: globalThis.deviceNo,version:globalThis.version,judgeVersion:globalThis.judgeVersion}
let res:any = await timeSynchronization(params)
res = res.timeSynchronizationRsp;
globalThis.timeInfo=res.body

View File

@ -0,0 +1,124 @@
import mediaLibrary from '@ohos.multimedia.mediaLibrary'
import onvifclient from '@ohos.onvifclient';
import fs from '@ohos.file.fs'
import util from '@ohos.util';
import configAddress from '../../common/utils/FileConfig'
import {getCurrentTime} from '../utils/tools'
//开始录屏
export async function startRecordVideo(param,td,context) {
return new Promise<videoPlayRes>(async (reslove,reject)=>{
var video_uri = `rtsp://${param.userName}:${param.pwd}@${param.ip}:${param.port}/h264/ch${td}/main/av_stream`;
// var result3 = onvifclient.startRecordVideo(video_uri, "video/" );
// const record_handle = result3.dataInt;
// console.info( `baoyihu startRecordVideo result:`+result3.result+ ` VideoFile:`+result3.dataString );
// reslove(record_handle)
// return
var mediaTest = mediaLibrary.getMediaLibrary(context);
let mediaType = mediaLibrary.MediaType.VIDEO;
let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_VIDEO;
const num = Math.floor(Math.random() * 10000)
const name = `movie_record${getCurrentTime(1)}.mp4`
const path = await mediaTest.getPublicDirectory(DIR_DOCUMENTS);
mediaTest.createAsset(mediaType, name, path, (error, asset) => {
const file_asset = asset; // 记录 ,关闭时用到
asset.open('rw', (error, fd) => {
if (fd > 0) {
var file_path = configAddress.videoSavePath + name;
var result = onvifclient.startRecordVideo(video_uri, file_path, fd);
var rocord_handle = result.dataInt; // 记录 ,关闭时用到
reslove({fd,rocord_handle,file_asset})
} else {
reslove({fd:0,rocord_handle:0,file_asset:0})
console.error('baoyihu startRecordVideo File Open failed with error: ' + error);
}
});
});
})
}
//结束录屏
export async function endRecordVideo(record_handle) {
if(this.record_handle >0)
{
var result = onvifclient.endRecordVideo(record_handle);
// this.record_handle = -1;
console.info( `baoyihu endRecordVideo result:`+result.result+ ` VideoFile:`+result.dataString );
}
else
{
console.info( `baoyihu endRecordVideo no task error`);
}
// var result = onvifclient.endRecordVideo(filehandle);
// fs.closeSync(filehandle);
// file_asset.close(filehandle);
}
/**
*
* @param param
* @param context
* @param type=0base64
*/
export async function takePhoto(param,context,type=0) {
return new Promise(async (reslove,reject)=>{
var video_uri = `rtsp://${param.userName}:${param.pwd}@${param.ip}:${param.port}/h264/ch${param.pztd}/main/av_stream`;
var mediaTest = mediaLibrary.getMediaLibrary(context);
let mediaType = mediaLibrary.MediaType.IMAGE;
let DIR_DOCUMENTS = mediaLibrary.DirectoryType.DIR_IMAGE;
const path = await mediaTest.getPublicDirectory(DIR_DOCUMENTS);
const name="picture_record" + getCurrentTime(1) + ".jpg"
// if(type==1){
// var result = onvifclient.getVideoSnapshot(video_uri,"")
// reslove(result.dataString)
// }else{
// var result = onvifclient.getVideoSnapshot(video_uri,"")
// reslove('')
// }
// return
mediaTest.createAsset(mediaType, name, path, (error, asset) => {
asset.open('rw', (error, fd) => {
if (fd > 0) {
var file_path =configAddress.picSavePath + name
// var result3 = onvifclient.getVideoSnapshot(video_uri,"");
var result3 = onvifclient.getVideoSnapshot(video_uri, file_path, fd);
fs.closeSync(fd);
asset.close(fd);
if(type==1){
fs.lstat(file_path).then((stat) => {
let file = fs.openSync(file_path, fs.OpenMode.READ_WRITE);
const size = Number(stat.size) + 100
let buf = new ArrayBuffer(size);
let num = fs.readSync(file.fd, buf);
var that = new util.Base64();
var array = new Uint8Array(buf);
var result = that.encodeToStringSync(array); //base64圖片
mediaTest.deleteAsset(file_path).then(() => {
console.log('delSuccess')
}).catch(() => {
console.log('delError')
})
this.fileUtil.deleteF(file_path, 3)
reslove(result)
}).catch((err) => {
console.info("get link status failed with error message: " + err.message + ", error code: " + err.code);
});
}else{
reslove('')
}
} else {
console.error('baoyihu getVideoSnapshot File Open failed with error: ' + error);
}
});
});
})
}
export interface videoPlayRes {
rocord_handle?: number;
fd?: number;
file_asset?:any
}

View File

@ -0,0 +1,5 @@
export default {
comoonfileWriteAddress:'/mnt/hmdfs/100/account/device_view/localfiles/files',
videoSavePath:'/mnt/hmdfs/100/account/device_view/local/files/Videos/',
picSavePath:'/mnt/hmdfs/100/account/device_view/local/files/Pictures/'
}

View File

@ -38,7 +38,7 @@ export default class UdpClientByCenter {
private sendId: any = 0
private lsh: string = null
private context
private stashFn
constructor(udplocalIp: string, udplocalIpPort:string,udpOppositeIp: string,udpOppositeIpPort:string) {
this.localIp = udplocalIp
this.oppositeIp = udpOppositeIp
@ -177,6 +177,7 @@ export default class UdpClientByCenter {
port: parseInt(this.oppositeIpPort),
}
});
this.stashFn=param.callback?param.callback:()=>{}
promise.then(() => {
if(this.sendId=='46'&&param.callback){
param.callback()
@ -203,7 +204,8 @@ export default class UdpClientByCenter {
for(let i=9;i<=9+length-1;i++){
list.push(arr[i])
}
this.stashFn({id,length,body:list,sendId:this.sendId})
this.stashFn=()=>{}
callback({id,length,body:list,sendId:this.sendId})
});

View File

@ -29,7 +29,7 @@ export default class EntryAbility extends UIAbility {
globalThis.deviceNo = '';
globalThis.hasAuth = false
globalThis.version = '2024.11.22.14'
globalThis.judgeVersion = '2023.10.31.17'
globalThis.judgeVersion = '2024.11.22.14'
// globalThis.version = '2022.03.14.01'
globalThis.context = this.context;

View File

@ -3,34 +3,17 @@ 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 {Array2Byte} from '../common/utils/tools'
import {Array2Byte,string2Bytes} from '../common/utils/tools'
import {
getDataBaseTable,
upDateTable,
getMySystemSetTable,
getSyncData,
delSyncTable,
getEsCarModel,
upDataZhongxinginitialization
} 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'
import {setliushuiNum,getSingleCenterTable,getDoubleCeneterTable} from '../common/service/indexService'
@Entry
@Component
struct Index {
@ -58,8 +41,6 @@ struct Index {
if (this.loading) {
return
}
// this.url = 'pages/Settings'
router.pushUrl({
url: 'pages/Settings',
}, router.RouterMode.Single);
@ -69,12 +50,7 @@ struct Index {
if (this.loading) {
return
}
// getSyncData('MA_SYSSET')
router.back()
// this.url = 'back'
// app.terminate()
})
}
}
@ -86,27 +62,26 @@ 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
}
const that = this
this.loading = true
setTimeout(() => {
that.angle = 360
this.angle = 360
}, 1000)
that.angle = 0
// this.getCenterDataTable()
this.angle = 0
//mode为3双中心下载表
if(globalThis.timeInfo.mode=='3'){
this.upDateTable()
getDoubleCeneterTable().then(()=>{
this.loading=false
})
}else{
this.getCenterDataTable()
getSingleCenterTable().then(()=>{
this.loading=false
})
}
})
}
if (this.isSingle) {
@ -124,9 +99,6 @@ struct Index {
if (this.loading) {
return
}
// globalThis.singlePlay = !globalThis.singlePlay
// this.isSingle = globalThis.singlePlay
// return
router.pushUrl({
url: 'pages/carCheck'
}, router.RouterMode.Single);
@ -193,8 +165,6 @@ struct Index {
.backgroundColor('#E6E3DF')
.borderRadius(19 * this.ratio)
}
}
.width('100%')
.height('100%')
@ -207,136 +177,20 @@ 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');
// TODO
return
if (res) {
if(JSON.stringify(fileData).indexOf('u0000')>=0){
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{
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
{
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))
}
const arr = [globalThis.signNum||0, globalThis.statue||1]
let tmpList = [];
tmpList.push(this.string2Bytes(arr[0], 1 * 8)[0])
tmpList.push(this.string2Bytes(arr[1], 1 * 8)[0])
tmpList.push(string2Bytes(arr[0], 1 * 8)[0])
tmpList.push(string2Bytes(arr[1], 1 * 8)[0])
const str =globalThis.lsh|| '0000000000000'
for (let i = 0;i < str.length; i++) {
tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0])
tmpList.push(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)
}
@ -347,6 +201,7 @@ struct Index {
getUDP()
getUDP2()
setInterval(() => {
setliushuiNum(this.context)
this.heartMsg(this.context)
}, 1000)
// getTCP()
@ -362,207 +217,23 @@ 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
await getDeviceInfo()
// await this.getDeviceId()
await setCurrentTime();
await getCarInfo();
this.carNum = globalThis.carInfo.plateNo;
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)
// globalThis.udpClientByTopLine.sendMsg(Array2Byte(arr).buffer)
}
getDeviceId() {
return new Promise((resolve, reject) => {
getSyncData('DeviceInfoTable').then((result: Array<any>) => {
if (result.length) {
globalThis.deviceNo = result[0].deviceId
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('')
}
})
})
}
async getModel() {
const context = this.context;
//下载模型
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()
this.loading = false
if(flag){
router.pushUrl({
url: 'pages/ExaminerLogin',
}, router.RouterMode.Single)
}else{
prompt.showToast({
message: '联网更新失败,请检查网络后重新更新',
duration: 1000
});
}
}
async upDateTable() {
// return
const db = new AccountTable(() => {
}, MA_SYSSET);
db.getRdbStore(() => {
db.query('0', async (array) => {
if (array.length) {
delSyncTable('MA_SYSSET').then(async () => {
// getSyncData('MA_SYSSET')
await getDataBaseTable({ tableName: 'MA_SYSSET' })
await getMySystemSetTable({ tableName: 'MA_SYSSET' })
})
} else {
await getDataBaseTable({ tableName: 'MA_SYSSET' })
await getMySystemSetTable({ tableName: 'MA_SYSSET' })
}
// console.log(markRuleParams)
})
})
const typeObj = {
'MA_MARKRULE': false,
'MA_SYSTEMPARM': false,
'MA_MAP_COLLECT': false,
'MA_MAP_COLLECT_SHAPE': false,
'MA_MAP_ITEMCLASS': false,
'MA_MAP_POINT': false,
'MA_MAP_POINT_ITEM': false,
'MA_MAP_ROAD': false,
'MA_MAP_ROAD_LANE': false,
'MA_MAP_SUBITEM': false,
'ES_CARINFO': false,
'ES_EXAMPOINTDETAIL': false,
'MA_MARKRULESET': false,
'ES_CAR_VIDEO_PARAMETER': false,
'MA_CDSBINFO': false,
'MA_ITEMINFO': false,
'MA_T_CARPARMSET': false
}
typeObj.MA_MARKRULE = await upDateTable({ tableName: 'MA_MARKRULE' })
typeObj.MA_SYSTEMPARM = await upDateTable({ tableName: 'MA_SYSTEMPARM' })
typeObj.MA_MAP_COLLECT = await upDateTable({ tableName: 'MA_MAP_COLLECT' })
typeObj.MA_MAP_COLLECT_SHAPE = await upDateTable({ tableName: 'MA_MAP_COLLECT_SHAPE' })
typeObj.MA_MAP_ITEMCLASS = await upDateTable({ tableName: 'MA_MAP_ITEMCLASS' })
typeObj.MA_MAP_POINT = await upDateTable({ tableName: 'MA_MAP_POINT' })
typeObj.MA_MAP_POINT_ITEM = await upDateTable({ tableName: 'MA_MAP_POINT_ITEM' })
typeObj.MA_MAP_ROAD = await upDateTable({ tableName: 'MA_MAP_ROAD' })
typeObj.MA_MAP_ROAD_LANE = await upDateTable({ tableName: 'MA_MAP_ROAD_LANE' })
typeObj.MA_MAP_SUBITEM = await upDateTable({ tableName: 'MA_MAP_SUBITEM' })
typeObj.ES_CARINFO = await upDateTable({ tableName: 'ES_CARINFO' })
typeObj.ES_EXAMPOINTDETAIL = await upDateTable({ tableName: 'ES_EXAMPOINTDETAIL' })
typeObj.MA_MARKRULESET = await upDateTable({ tableName: 'MA_MARKRULESET' })
typeObj.ES_CAR_VIDEO_PARAMETER = await upDateTable({ tableName: 'ES_CAR_VIDEO_PARAMETER' })
typeObj.MA_CDSBINFO = await upDateTable({ tableName: 'MA_CDSBINFO' })
typeObj.MA_ITEMINFO = await upDateTable({ tableName: 'MA_ITEMINFO' })
typeObj.MA_T_CARPARMSET = await upDateTable({ tableName: 'MA_T_CARPARMSET' })
for (let key in typeObj) {
if (!typeObj[key]) {
this.loading = false
prompt.showToast({
message: `未能查询到${key}表数据, 请先检查网络是否连接正常`,
duration: 3000
});
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
}
}

View File

@ -1,5 +1,6 @@
export interface VideoConfig{
videoNum?:string,
spls:string
faceFlag:boolean
pztd:string