diff --git a/entry/src/main/ets/api/index.ts b/entry/src/main/ets/api/index.ts
index b571b0f..5e9b3fd 100644
--- a/entry/src/main/ets/api/index.ts
+++ b/entry/src/main/ets/api/index.ts
@@ -9,7 +9,7 @@ export async function timeSynchronization(params){
${params.deviceNo}
${params.version}
- ${params.version}
+ ${params.judgeVersion}
`,
method:'post',
diff --git a/entry/src/main/ets/common/database/Rdb.ts b/entry/src/main/ets/common/database/Rdb.ts
index 85f570f..b10d079 100644
--- a/entry/src/main/ets/common/database/Rdb.ts
+++ b/entry/src/main/ets/common/database/Rdb.ts
@@ -170,7 +170,7 @@ export default class Rdb {
return
}
console.log('ExecuteSqlsuccess')
- callback('ExecuteSqlsuccess')
+ callback(true)
})
}
diff --git a/entry/src/main/ets/common/service/indexService.ts b/entry/src/main/ets/common/service/indexService.ts
new file mode 100644
index 0000000..0f84744
--- /dev/null
+++ b/entry/src/main/ets/common/service/indexService.ts
@@ -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)
+ })
+
+ })
+
+}
\ No newline at end of file
diff --git a/entry/src/main/ets/common/service/initable.ts b/entry/src/main/ets/common/service/initable.ts
index 2c5a9e6..c9ca178 100644
--- a/entry/src/main/ets/common/service/initable.ts
+++ b/entry/src/main/ets/common/service/initable.ts
@@ -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)
+ })
})
+
}
diff --git a/entry/src/main/ets/common/service/terminalService.ts b/entry/src/main/ets/common/service/terminalService.ts
index d0aadfb..0aefc50 100644
--- a/entry/src/main/ets/common/service/terminalService.ts
+++ b/entry/src/main/ets/common/service/terminalService.ts
@@ -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) => {
- 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) => {
+ // if (result.length) {
+ // globalThis.deviceNo = result[0].deviceId
+ // this.deviceId = result[0].deviceId
+ // resolve(result[0].deviceId)
+ // } else {
+ // resolve('')
+ // }
+ // })
+ // })
}
//获取考车信息
diff --git a/entry/src/main/ets/common/service/timeService.ts b/entry/src/main/ets/common/service/timeService.ts
index 8be7421..3858aa4 100644
--- a/entry/src/main/ets/common/service/timeService.ts
+++ b/entry/src/main/ets/common/service/timeService.ts
@@ -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
diff --git a/entry/src/main/ets/common/service/videoService.ts b/entry/src/main/ets/common/service/videoService.ts
new file mode 100644
index 0000000..ee807e3
--- /dev/null
+++ b/entry/src/main/ets/common/service/videoService.ts
@@ -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(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=0不获取base64
+ */
+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
+}
+
diff --git a/entry/src/main/ets/common/utils/FileConfig.ts b/entry/src/main/ets/common/utils/FileConfig.ts
new file mode 100644
index 0000000..6d08826
--- /dev/null
+++ b/entry/src/main/ets/common/utils/FileConfig.ts
@@ -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/'
+}
\ No newline at end of file
diff --git a/entry/src/main/ets/common/utils/UdpClientByCenter.ts b/entry/src/main/ets/common/utils/UdpClientByCenter.ts
index 5403878..69e269c 100644
--- a/entry/src/main/ets/common/utils/UdpClientByCenter.ts
+++ b/entry/src/main/ets/common/utils/UdpClientByCenter.ts
@@ -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'&¶m.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})
});
diff --git a/entry/src/main/ets/entryability/EntryAbility.ts b/entry/src/main/ets/entryability/EntryAbility.ts
index 6b96920..e0877d4 100644
--- a/entry/src/main/ets/entryability/EntryAbility.ts
+++ b/entry/src/main/ets/entryability/EntryAbility.ts
@@ -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;
diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets
index ea7f705..6efe36b 100644
--- a/entry/src/main/ets/pages/Index.ets
+++ b/entry/src/main/ets/pages/Index.ets
@@ -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) => {
- 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
- }
}
\ No newline at end of file
diff --git a/entry/src/main/ets/pages/interfaces.ts b/entry/src/main/ets/pages/interfaces.ts
index a4b56e2..def0446 100644
--- a/entry/src/main/ets/pages/interfaces.ts
+++ b/entry/src/main/ets/pages/interfaces.ts
@@ -1,5 +1,6 @@
export interface VideoConfig{
+ videoNum?:string,
spls:string
faceFlag:boolean
pztd:string