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