From 2a6eb111a3cf4f9646ce374790e25d137ecd3e8f Mon Sep 17 00:00:00 2001 From: wangzhongjie Date: Tue, 15 Apr 2025 14:24:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E8=A1=A8=E7=9B=B8=E5=85=B3=E7=9A=84=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/model/Common.ets | 36 +++++----- entry/src/main/ets/model/Table.ets | 59 ++++++++-------- entry/src/main/ets/model/api.ets | 55 ++++++++++++++- entry/src/main/ets/pages/Index.ets | 29 +++----- entry/src/main/ets/pages/Index/utils.ets | 8 +++ entry/src/main/ets/pages/Judge.ets | 45 +++++------- entry/src/main/ets/pages/UserInfo.ets | 74 ++++++++++---------- entry/src/main/ets/pages/UserInfo/utils.ets | 6 +- entry/src/main/ets/utils/Request.ets | 3 + entry/src/main/ets/utils/table/Operation.ets | 17 ++--- 10 files changed, 188 insertions(+), 144 deletions(-) diff --git a/entry/src/main/ets/model/Common.ets b/entry/src/main/ets/model/Common.ets index 2544b91..cb0b0d5 100644 --- a/entry/src/main/ets/model/Common.ets +++ b/entry/src/main/ets/model/Common.ets @@ -6,13 +6,13 @@ export interface User { lsh: string ksy1: string ksy2: string - id: string + id?: string kszp: string ksmjzp: string bz1: string jxmc: string kchp: string - kscx: string + kscx?: string ksdd: string kssycs: string ksxl: string @@ -177,21 +177,21 @@ export interface centerCallBackMsgType { sendId: number; } -export interface JudgeConfigType{ - isTrajectoryOpen:boolean; - isPhotoOpen:boolean; - kfVoiceOpen:boolean; - ignoreProjects?:string[]; - isCheckFireOpen:boolean; - udpOpen:boolean; - modelPath:string; - trajectoryPath:string; - fourInOneScreen:FourInOneScreenType - systemParamConfig?:SystemParamConfigType +export interface JudgeConfigType { + isTrajectoryOpen: boolean; + isPhotoOpen: boolean; + kfVoiceOpen: boolean; + ignoreProjects?: string[]; + isCheckFireOpen: boolean; + udpOpen: boolean; + modelPath: string; + trajectoryPath: string; + fourInOneScreen: FourInOneScreenType + systemParamConfig?: SystemParamConfigType } -interface FourInOneScreenType{ - gpsDigit:number -} -interface SystemParamConfigType{ -} \ No newline at end of file +interface FourInOneScreenType { + gpsDigit: number +} + +interface SystemParamConfigType {} \ No newline at end of file diff --git a/entry/src/main/ets/model/Table.ets b/entry/src/main/ets/model/Table.ets index 3ce4bf6..822e92d 100644 --- a/entry/src/main/ets/model/Table.ets +++ b/entry/src/main/ets/model/Table.ets @@ -127,12 +127,12 @@ export interface ES_CARINFOType { // 'id', 'no1', 'no2', 'no3', 'txt1', 'txt2', 'txt3' export interface MA_SYSTEMPARMType { id?: string - no1: string - no2: string - no3: string - txt1: string - txt2: string - txt3: string + no1?: string + no2?: string + no3?: string + txt1?: string + txt2?: string + txt3?: string NO1?: number, NO2?: number, NO3?: number, @@ -143,33 +143,33 @@ export interface MA_SYSTEMPARMType { // 'id', 'sbbm', 'itemsno', 'sbbh', 'kdid', 'bk3' export interface MA_CDSBINFOType { - id: string - sbbm: string - itemsno: string - sbbh: string - kdid: string - bk3: string + id?: string + sbbm?: string + itemsno?: string + sbbh?: string + kdid?: string + bk3?: string } // 'id', 'cininfo', 'setup9', 'nextinfo', 'setup7', 'setup8', 'setup5', 'carlist', 'setup6', 'setup3', // 'setup4', 'setup1', 'setup2', 'itemsno', 'end_cardsno', 'freqinfo' export interface MA_ITEMINFOType { - id: string - cininfo: string - setup9: string - nextinfo: string - setup7: string - setup8: string - setup5: string - carlist: string - setup6: string - setup3: string - setup4: string - setup1: string - setup2: string - itemsno: string - end_cardsno: string - freqinfo: string + id?: string + cininfo?: string + setup9?: string + nextinfo?: string + setup7?: string + setup8?: string + setup5?: string + carlist?: string + setup6?: string + setup3?: string + setup4?: string + setup1?: string + setup2?: string + itemsno?: string + end_cardsno?: string + freqinfo?: string } // 'id', 'point_no', 'point_no_f', 'gps_e', 'gps_e_location', 'gps_n', 'gps_n_location', 'f_gps_e', @@ -212,7 +212,4 @@ export interface MA_MARKRULEType { markshow?: string txt1?: string kfxh?: string - - - } \ No newline at end of file diff --git a/entry/src/main/ets/model/api.ets b/entry/src/main/ets/model/api.ets index 0ccb3c9..05c2433 100644 --- a/entry/src/main/ets/model/api.ets +++ b/entry/src/main/ets/model/api.ets @@ -1,4 +1,15 @@ -import { CarInfoType, DrvexamType } from '.'; +import { + CarInfoType, + DrvexamType, + ES_CARINFOType, + MA_CDSBINFOType, + MA_ITEMINFOType, + MA_MAP_POINT_ITEMType, + MA_MAP_POINTType, + MA_MARKRULEType, + MA_SYSTEMPARMType, + User +} from '.'; // -----new----- export interface ApiResponseType { @@ -147,9 +158,49 @@ interface RegistrationDeviceNoRspDetails { interface ImageCompareRsp { head: Head; - body: ESObject + body: ImageCompareRspBodyType } +interface ImageCompareRspBodyType { + GunCameraInfo: GunCameraInfo, + Sysset: Sysset, + SystemParm: SystemParm, + MarkRule: MarkRuleType, + MarkRuleSet: MarkRuleSet, + Cdsbinfo: Cdsbinfo, + CarInfo: CarInfo, + ItemInfo: ItemInfoType +} + +//-----开始 初始化表结构--- +interface RecordContainer { + record: Array | T; +} + +export type PublicInfoType = RecordContainer; + +export type GunCameraInfo = RecordContainer; + +export type Sysset = RecordContainer; + +export type SystemParm = RecordContainer; + +export type MarkRuleType = RecordContainer; + +export type MarkRuleSet = RecordContainer; + +export type Cdsbinfo = RecordContainer; + +export type CarInfo = RecordContainer; + +export type ItemInfoType = RecordContainer; + + +export interface RecordType extends User, MA_SYSTEMPARMType, ES_CARINFOType, MA_SYSTEMPARMType, MA_CDSBINFOType, MA_ITEMINFOType, MA_MAP_POINTType, MA_MAP_POINT_ITEMType, MA_MARKRULEType {} + + +//-----结束 初始化表结构--- + export interface GetExaminationStudentInfoResponse { getExaminationStudentInfoRsp: ImageCompareRsp diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 3d0b05c..e382d37 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -2,16 +2,14 @@ import common from '@ohos.app.ability.common'; import router from '@ohos.router'; import { JudgeConfig } from '../config'; -import promptAction from '@ohos.promptAction'; import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements'; import { BaseInfoType, centerCallBackMsgType } from '../model/Common'; import { CarInfoType, InitializeTheCentralTableType, MASYSSETTableType, TimeSynchronizationRspBody } from '../model'; -import { GetCarInfo, GetDeviceInfo, SetCurrentTime, UseAuth } from './Index/utils'; +import { CreateAlbum, GetCarInfo, GetDeviceInfo, SetCurrentTime, UseAuth } from './Index/utils'; import { GetSyncData, InitializeTheCentralTable } from '../utils/table/Operation'; import { BusinessError } from '@ohos.base'; import { delPic } from '../utils/Video'; import { FileHelper } from '../utils/FileHelp'; -import { GetCurrentTime } from '../utils/Common'; import { ObtainUdpBusinessInstance } from '../utils/business/ObtainUdpBusiness'; import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness'; import { DrivingDataStorage } from '../utils/business/DrivingDataStorage'; @@ -21,6 +19,7 @@ import HeaderComponent from './compontents/Header'; import CardComponent from './Index/Card'; import BottomMessageComponent from './Index/BottomMessage'; import LoadingComponent from './Index/Loading'; +import Prompt from '@system.prompt'; @Entry @@ -96,7 +95,7 @@ struct Index { onlineExam() { this.customDialogController.open() if (!this.timeInfo) { - promptAction.showToast({ + Prompt.showToast({ message: `时间同步接口连接失败`, duration: 3000 }); @@ -104,14 +103,14 @@ struct Index { return } if (!this.carInfo) { - promptAction.showToast({ + Prompt.showToast({ message: `车辆信息接口获取失败`, duration: 3000 }); this.customDialogController.close() return } - this.testXMLToJSONInWorker() + this.initializationTableRelated() } // 单机训练逻辑处理 @@ -130,12 +129,12 @@ struct Index { url: 'pages/UserInfo', }, router.RouterMode.Single) } else { - this.testXMLToJSONInWorker() + this.initializationTableRelated() } }); } - async testXMLToJSONInWorker() { + async initializationTableRelated() { const param: InitializeTheCentralTableType = { carId: this.carInfo?.carId, examinationRoomId: this.carInfo?.examinationRoomId, @@ -171,18 +170,12 @@ struct Index { } }) }); + } else { + this.customDialogController.close() } }) } - async createAlbum() { - const time = GetCurrentTime() - const date = time.split(' ')[0] - this.fileHelper.createAlbum('jt') - this.fileHelper.createAlbum('pz'); - this.fileHelper.createAlbum(date); - } - async initParams() { console.log("test1111") ObtainUdpBusinessInstance.init(); @@ -205,7 +198,7 @@ struct Index { // takePhotoFn(this.context) // TODO // CenterUDPBusinessInstance.startHeartBeat() - this.createAlbum() + CreateAlbum(this.fileHelper) } build() { @@ -225,7 +218,7 @@ struct Index { this.onlineExam() } }) - + BottomMessageComponent({ version: this.baseInfo.version, judgeVersion: this.baseInfo.judgeVersion, diff --git a/entry/src/main/ets/pages/Index/utils.ets b/entry/src/main/ets/pages/Index/utils.ets index dc6a9aa..8b4769b 100644 --- a/entry/src/main/ets/pages/Index/utils.ets +++ b/entry/src/main/ets/pages/Index/utils.ets @@ -19,6 +19,7 @@ import { BusinessError } from '@ohos.base'; import systemTime from '@ohos.systemTime'; import { VideoConfigData } from '../../mock'; import FileUtils from '../../utils/FileUtils'; +import { FileHelper } from '../../utils/FileHelp'; //获取设备信息 export async function GetDeviceInfo(context: common.UIAbilityContext): Promise { @@ -40,6 +41,7 @@ export async function GetDeviceInfo(context: common.UIAbilityContext): Promise { let date = new Date(); let params: ObtainCarExamInfoParams = { @@ -156,3 +158,9 @@ export async function SetSerialNumber() { } } +export function CreateAlbum(fileHelper: FileHelper) { + const date = dayTs().format("YYYY-MM-DD") + fileHelper.createAlbum('jt') + fileHelper.createAlbum('pz'); + fileHelper.createAlbum(date); +} diff --git a/entry/src/main/ets/pages/Judge.ets b/entry/src/main/ets/pages/Judge.ets index 9afd414..f1e0188 100644 --- a/entry/src/main/ets/pages/Judge.ets +++ b/entry/src/main/ets/pages/Judge.ets @@ -10,17 +10,9 @@ import { defaultJudgeConfigObj } from './judgeSDK/utils//judgeCommon'; import { uploadExamMileage } from '../api/judge'; import DwztErrorPopup from './compontents/judge/DwztErrorPopup'; import MsgPopup from './compontents/judge/MsgPopup'; -import { - CARINFO, - CDSBInfo, - LANE, - MAPITEMPOINTITEM, - MAPPOINT, - Project, - SYSTEMPARMARR -} from './judgeSDK/api/judgeSDK.d'; +import { CARINFO, CDSBInfo, LANE, MAPITEMPOINTITEM, MAPPOINT, Project, SYSTEMPARMARR } from './judgeSDK/api/judgeSDK.d'; -import {JudgeConfig} from"../config" +import { JudgeConfig } from '../config'; import SignDisplayCom from './compontents/SignDisplayCom'; import { @@ -33,12 +25,12 @@ import { JudgeBeginObj, JudgeCallBacData, JudgeInitObj, - JudgeUI, MA_CDSBINFOType, MA_ITEMINFOType, MA_MAP_POINT_ITEMType, MA_MAP_POINTType, MA_SYSTEMPARMType, + MarkRule, MarkRules, MASYSSETTableType, ProjectInfo, @@ -47,8 +39,7 @@ import { RouteParamsType, SYSSET, SyssetConfig, - User, - MarkRule + User } from '../model'; import { GetSyncData } from '../utils/table/Operation'; import dayTs from '../utils/Date'; @@ -385,8 +376,8 @@ struct Index { systemParm.txt3 = systemParm.TXT3!; } // const { no1, no2, no3, } = systemParm; - const txt1 = decodeURI(systemParm.txt1) - const txt2 = decodeURI(systemParm.txt2) + const txt1 = decodeURI(systemParm.txt1 || "") + const txt2 = decodeURI(systemParm.txt2 || "") const no1 = systemParm.no1; const no2 = systemParm.no2; @@ -395,7 +386,7 @@ struct Index { //获取当前考车的no2 if (systemParm.no1 == "3" && systemParm.no3 == "1") { if (txt1 === this.carName) { - carNo = systemParm.no2 + carNo = systemParm?.no2 || "" this.carlist = carNo } } @@ -406,28 +397,28 @@ struct Index { } //根据车型获取应行驶里程数 if (systemParm.no1 == "3" && systemParm.no3 == "15" && carNo === systemParm.no2) { - this.examMileage = ((decodeURI(systemParm.txt1)) || '').split('^')[0]; + this.examMileage = ((decodeURI(systemParm.txt1 || "")) || '').split('^')[0]; } //获取当前考车的考试项目 if (carNo !== '' && systemParm.no1 == "3" && systemParm.no2 == carNo && systemParm.no3 == "10") { - allItems = decodeURIComponent(systemParm.txt1).split(',').filter(txt => txt !== '') + allItems = decodeURIComponent(systemParm.txt1 || "").split(',').filter(txt => txt !== '') console.info('surenjun', JSON.stringify(allItems)) } if ( //科目二获取项目 - (this.examSubject == "2" && allItems.length && systemParm.no1 == '6' && allItems.includes(systemParm.no2)) + (this.examSubject == "2" && allItems.length && systemParm.no1 == '6' && allItems.includes(systemParm?.no2 || "")) || //科目三获取项目 (this.examSubject == "3" && systemParm.no1 == "6") ) { - const name = decodeURI(systemParm.txt1) + const name = decodeURI(systemParm.txt1 || "") //小车过滤掉 夜间模拟行驶 if (sCarTypes.includes(this.carType) && name === '夜间行驶') { return } const currentProject: ProjectInfo = { name, - abbreviation: decodeURI(systemParm.txt3), + abbreviation: decodeURI(systemParm.txt3 || ""), projectCode: no2, projectCodeCenter: txt2, //是否是必考 加减档设置成非必考 @@ -456,9 +447,9 @@ struct Index { 'NO1': Number(systemParm.no1), 'NO2': Number(systemParm.no2), 'NO3': Number(systemParm.no3), - 'TXT1': decodeURIComponent(systemParm.txt1), - 'TXT2': decodeURIComponent(systemParm.txt2), - 'TXT3': decodeURIComponent(systemParm.txt3), + 'TXT1': decodeURIComponent(systemParm.txt1 || ""), + 'TXT2': decodeURIComponent(systemParm.txt2 || ""), + 'TXT3': decodeURIComponent(systemParm.txt3 || ""), }) }) const projects = this.projects; @@ -479,7 +470,7 @@ struct Index { //只记录考试项目的模型 const projectsObj = this.projectsObj cdsbParams.forEach((cdsb) => { - const key = decodeURI(cdsb.itemsno) + const key = decodeURI(cdsb.itemsno || "") const newKey = key.split('~').join('_') const xmdm = Number(key.split('~')[0]) const currentProject: ProjectInfo = Reflect.get(projectsObj, xmdm) @@ -504,8 +495,8 @@ struct Index { const carlist = this.carlist; const projectsObj = this.projectsObj infoParams.forEach((info) => { - const key = decodeURI(info.itemsno); - const carlistArr = info.carlist === '' ? [] : (decodeURI(info.carlist).split(',') || []); + const key = decodeURI(info.itemsno || ""); + const carlistArr = info.carlist === '' ? [] : (decodeURI(info.carlist || "").split(',') || []); const newKey = key.split('~').join('_') const xmdm = Number(key.split('~')[0]) const currentProject: ProjectInfo = Reflect.get(projectsObj, xmdm) diff --git a/entry/src/main/ets/pages/UserInfo.ets b/entry/src/main/ets/pages/UserInfo.ets index a4976f1..0cb42c0 100644 --- a/entry/src/main/ets/pages/UserInfo.ets +++ b/entry/src/main/ets/pages/UserInfo.ets @@ -125,6 +125,42 @@ struct UserInfo { } @State startExam: boolean = false @State singlePlay: boolean = false + private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; + private title = '' + private type = '2' + errorDialog: CustomDialogController = new CustomDialogController({ + builder: errorMsgDialog({ + title: this.title, + type: this.type, + cancel: () => { + }, + confirm: () => { + } + }), + customStyle: true, + alignment: DialogAlignment.Center, + }, + ) + private filePhoto!: FilePhoto + // 过程照片拍照 + getPhoto = async () => { + //单机模式返回空照片 + if (this.singlePlay) { + return '' + } else { + const photoBase64: string = (await this.filePhoto.getPhoto()) || ""; + return photoBase64 + } + } + private avPlayer!: VoiceAnnounce + private labelBlocks: LabelBlockType[] = [ + { label: '考生姓名', key: 'xm' }, + { label: '身份证号', key: 'sfzmhm' }, + { label: ' 流 水 号 ', key: 'lsh' }, + { label: '考试路线', key: 'ksxl' }, + { label: '待考次数', key: 'kssycs' }, + { label: '考试员名', key: 'ksy2' }, + ] //开始考试准备 prePareExam = async () => { if (this.ksksLimit) { @@ -171,42 +207,6 @@ struct UserInfo { } } - private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext; - private title = '' - private type = '2' - errorDialog: CustomDialogController = new CustomDialogController({ - builder: errorMsgDialog({ - title: this.title, - type: this.type, - cancel: () => { - }, - confirm: () => { - } - }), - customStyle: true, - alignment: DialogAlignment.Center, - }, - ) - private filePhoto!: FilePhoto - // 过程照片拍照 - getPhoto = async () => { - //单机模式返回空照片 - if (this.singlePlay) { - return '' - } else { - const photoBase64: string = (await this.filePhoto.getPhoto()) || ""; - return photoBase64 - } - } - private avPlayer!: VoiceAnnounce - private labelBlocks: LabelBlockType[] = [ - { label: '考生姓名', key: 'xm' }, - { label: '身份证号', key: 'sfzmhm' }, - { label: ' 流 水 号 ', key: 'lsh' }, - { label: '考试路线', key: 'ksxl' }, - { label: '待考次数', key: 'kssycs' }, - { label: '考试员名', key: 'ksy2' }, - ] aboutToAppear() { this.avPlayer = new VoiceAnnounce(this.context); @@ -682,7 +682,7 @@ struct UserInfo { // } // } for (const key of Object.keys(res.getExaminationStudentInfoRsp.body)) { - const a: User[] | User = res.getExaminationStudentInfoRsp.body[key]; + const a: User[] | User = Reflect.get(res.getExaminationStudentInfoRsp.body, key); if (Array.isArray(a)) { dataList = a; } else { diff --git a/entry/src/main/ets/pages/UserInfo/utils.ets b/entry/src/main/ets/pages/UserInfo/utils.ets index 15ad805..cc4f57f 100644 --- a/entry/src/main/ets/pages/UserInfo/utils.ets +++ b/entry/src/main/ets/pages/UserInfo/utils.ets @@ -1,4 +1,4 @@ -import { User } from "../../model"; +import { User } from '../../model'; export const GetCurrentUserKeyValue = (user: User, key: string): string => { switch (key) { @@ -13,7 +13,7 @@ export const GetCurrentUserKeyValue = (user: User, key: string): string => { case "ksy2": return user.ksy2; case "id": - return user.id; + return user.id!; case "kszp": return user.kszp; case "ksmjzp": @@ -25,7 +25,7 @@ export const GetCurrentUserKeyValue = (user: User, key: string): string => { case "kchp": return user.kchp; case "kscx": - return user.kscx; + return user.kscx!; case "ksdd": return user.ksdd; case "kssycs": diff --git a/entry/src/main/ets/utils/Request.ets b/entry/src/main/ets/utils/Request.ets index e9553a8..a13a548 100644 --- a/entry/src/main/ets/utils/Request.ets +++ b/entry/src/main/ets/utils/Request.ets @@ -16,6 +16,7 @@ interface RequestOption { function xmlToJSON(target: string): object { + console.log("进入xml解析") let conv = new convertxml.ConvertXML() const result: object = conv.convertToJSObject(target, { trim: false, @@ -31,6 +32,7 @@ function xmlToJSON(target: string): object { nameKey: "_name", elementsKey: "_elements", }) + console.log("xml解析完成", JSON.stringify(result)) return transfer(result['_elements']) } @@ -131,6 +133,7 @@ export default function Request(options: RequestOption) }).then(async data => { console.log(RequestTag, options.url, "返回的数据", JSON.stringify(data)) let result = options.xml ? xmlToJSON(data.result as string) : data.result + console.log("结束xml解析") let resObj: object = new Object() if (typeof result === 'string') { result = JSON.parse(result) diff --git a/entry/src/main/ets/utils/table/Operation.ets b/entry/src/main/ets/utils/table/Operation.ets index 9152701..70c26f8 100644 --- a/entry/src/main/ets/utils/table/Operation.ets +++ b/entry/src/main/ets/utils/table/Operation.ets @@ -1,4 +1,4 @@ -import { InitializeTheCentralTableType, ResponseDataType, User } from '../../model'; +import { InitializeTheCentralTableType, PublicInfoType, RecordType, ResponseDataType } from '../../model'; import DB, { ColumnInfo, ColumnType } from '../DbSql'; import { CenterMap, ParameterPlatform, RemappingTableName } from './Relationship'; import { BusinessError } from '@ohos.base'; @@ -19,7 +19,7 @@ export async function InitTable() { } // 插表操作 -export function SqlInsertTable(tableName: string, data: Array, delFlag = true): Promise { +export function SqlInsertTable(tableName: string, data: Array, delFlag = true): Promise { return new Promise((resolve, reject) => { data.forEach((element, index) => { element.id = !delFlag ? `${index + data.length}` : `${index}` @@ -51,7 +51,7 @@ export function SqlInsertTable(tableName: string, data: Array, delFlag = t // TODO 后续废弃这个方法,直接调用SqlInsertTable // 依据数组和表名更新sql表 -export function UpdateTableByArray(tableName: string, arr: Array): Promise { +export function UpdateTableByArray(tableName: string, arr: Array): Promise { return SqlInsertTable(tableName, arr) } @@ -126,6 +126,7 @@ export async function InitializeTheCentralTable(params: InitializeTheCentralTabl host: params.host } const res: ResponseDataType = await initialization(str) + console.log("解析完成") if (!res || !res.initializationRsp || res.initializationRsp.head.resultCode === "1") { resolve(false); } @@ -134,12 +135,12 @@ export async function InitializeTheCentralTable(params: InitializeTheCentralTabl if (CenterMap[key]) { continue } - // TODO 后续替换类型 - let arrList: ESObject[] = [] - if (res.initializationRsp.body[key] instanceof Array) { - arrList = res.initializationRsp.body[key] + let arrList: Array | RecordType = [] + let value: PublicInfoType = Reflect.get(res.initializationRsp.body, key) + if (value.record instanceof Array) { + arrList = value.record } else { - arrList.push(res.initializationRsp.body[key]) + arrList.push(value.record) } const folderPath = await fileUtil.initFolder(`/config/tableList`); fileUtil.addFile(`${folderPath}/${RemappingTableName.get(key)}.txt`, JSON.stringify(arrList))