This commit is contained in:
“wangzhongjie” 2024-02-21 17:00:55 +08:00
parent c68804bfa4
commit 5992d0493d
3 changed files with 153 additions and 415 deletions

View File

@ -32,9 +32,7 @@ import FileModel from '../../pages/judgeSDK/utils/file-model';
// @ts-nocheck
//读表
//参数平台
export async function getDataBaseTable(params) {
return new Promise((resolve, reject) => {
const map = {
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
@ -53,7 +51,94 @@ export async function getDataBaseTable(params) {
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
}
const centerToMap={
'ItemInfo':MA_ITEMINFO,
'MarkRule':MA_MARKRULE,
'SystemParm':MA_SYSTEMPARM,
'mapCollectList':MA_MAP_COLLECT,
'mapCollectshapeList':MA_MAP_COLLECT_SHAPE,
// MA_MAP_ITEMCLASS:MA_MAP_ITEMCLASS
'mapPointList':MA_MAP_POINT,
// 'MA_MAP_POINT_ITEM':MA_MAP_POINT_ITEM,
'mapRoadList':MA_MAP_ROAD,
'mapRoadLaneList':MA_MAP_ROAD_LANE,
'mapSubitemList':MA_MAP_SUBITEM,
'Sysset':MA_SYSSET,
'CarInfo':ES_CARINFO,
// 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
// 'MA_MARKRULESET':MA_MARKRULE,
'Cdsbinfo':MA_CDSBINFO,
't_carparmset':MA_T_CARPARMSET,
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
function sqlInsertCommonFn(tableName,resultArr){
new Promise((reslove,reject)=>{
const accountTable = new AccountTable(() => {
}, map[params.tableName]);
accountTable.getRdbStore(() => {
accountTable.query('0', async (result) => {
if (result.length == 0) {
let INSERT_SQL = "INSERT INTO "+tableName
+ " ("+ map[tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
resultArr.map((data,i) => {
data.id=`${i}`
let str='('
map[tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[tableName].length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,tableName,()=>{
resolve(true)
})
}
else {
await delSyncTable(tableName)
let INSERT_SQL = "INSERT INTO "+tableName
+ " ("+ map[tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
resultArr.map((data,i) => {
data.id=`${i}`
let str='('
map[tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[tableName].length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,tableName,()=>{
resolve(true)
})
}
}, true);
});
})
}
export async function getDataBaseTable(params) {
return new Promise((resolve, reject) => {
const accountTable = new AccountTable(() => {
}, map[params.tableName]);
accountTable.getRdbStore(() => {
@ -135,204 +220,25 @@ export async function upDateTable(params) {
}
}
const url=globalThis.timeInfo.url
// const str={"head":{"time":"2023-06-09 15:55:58"},"body":{"tableName":"MA_SYSSET","paraKdid":"2","examinationRoomId":"2","typeRsp":"0"}}
let res: any = await initCenterCache(str,url)
if(!res||res==undefined||res==''){
resolve(false)
return
}
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
'MA_MAP_POINT': MA_MAP_POINT,
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
'MA_MAP_ROAD': MA_MAP_ROAD,
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
'MA_SYSSET': MA_SYSSET,
'ES_CARINFO': ES_CARINFO,
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
'MA_MARKRULESET': MA_MARKRULESET,
'MA_CDSBINFO': MA_CDSBINFO,
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
'CommonConstants':CommonConstants
}
const accountTable = new AccountTable(() => {
}, map[params.tableName]);
accountTable.getRdbStore(() => {
accountTable.query(0,async (result) => {
console.log('param,tablenametttt',res.body[params.tableName])
if(res.body[params.tableName].length){
if (result.length == 0) {
let INSERT_SQL = "INSERT INTO "+params.tableName
+ " ("+ map[params.tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
const result=await sqlInsertCommonFn(params.tableName,res.body[params.tableName])
resolve(result)
res.body[params.tableName].map((data,i) => {
data.id=`${i}`
let str='('
map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[params.tableName].length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,params.tableName,()=>{
resolve(true)
})
} else {
await delSyncTable(params.tableName)
let INSERT_SQL = "INSERT INTO "+params.tableName
+ " ("+ map[params.tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
res.body[params.tableName].map((data,i) => {
data.id=`${i}`
let str='('
map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[params.tableName].length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,params.tableName,()=>{
resolve(true)
})
}
}else{
resolve(true)
}
}, true);
});
});
}
//
export async function upDateTableConfig(tableName,arr) {
return new Promise(async (resolve, reject) => {
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
'MA_MAP_POINT': MA_MAP_POINT,
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
'MA_MAP_ROAD': MA_MAP_ROAD,
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
'MA_SYSSET': MA_SYSSET,
'ES_CARINFO': ES_CARINFO,
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
'MA_MARKRULESET': MA_MARKRULESET,
'MA_CDSBINFO': MA_CDSBINFO,
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
'IpConfigTable':IpConfigTable,
'DeviceInfoTable':DeviceInfoTable,
'USER':USER,
'CommonConstants':CommonConstants
}
const accountTable = new AccountTable(() => {
}, map[tableName]);
accountTable.getRdbStore(() => {
accountTable.query(0,async (result) => {
if(arr.length){
if(result.length){
await delSyncTable(tableName)
upDateTableConfig(tableName,arr)
}else{
let INSERT_SQL = "INSERT INTO "+tableName
+ " ("+ map[tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
arr.map((data,i) => {
data.id=`${i}`
let str='('
map[tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==arr.length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,tableName,()=>{
resolve();
})
}
}else{
resolve()
}
}, true);
});
});
sqlInsertCommonFn(tableName,arr)
}
//考试平台
export async function getMySystemSetTable(params) {
return new Promise((resolve, reject) => {
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
'MA_MAP_POINT': MA_MAP_POINT,
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
'MA_MAP_ROAD': MA_MAP_ROAD,
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
'MA_SYSSET': MA_SYSSET,
'ES_CARINFO': ES_CARINFO,
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
'MA_MARKRULESET': MA_MARKRULESET,
'MA_CDSBINFO': MA_CDSBINFO,
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER
}
const accountTable = new AccountTable(() => {
}, map[params.tableName]);
accountTable.getRdbStore(() => {
accountTable.query('0', async (result) => {
return new Promise(async (resolve, reject) => {
const date = new Date()
if(!globalThis.timeInfo?.paraKdid){
prompt.showToast({
@ -354,72 +260,18 @@ export async function getMySystemSetTable(params) {
resolve();
return
}
let INSERT_SQL = "INSERT INTO "+params.tableName
+ " ("+ map[params.tableName].ACCOUNT_TABLE.columns.toString()+") VALUES "
res.body[params.tableName].map((data,i) => {
data.id=`${i+result.length}`
let str='('
map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==res.body[params.tableName].length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,params.tableName,()=>{
resolve(true)
})
// res.body[params.tableName].map((data, i) => {
// accountTable.insertData(data, (id) => {
// if (i == res.body[params.tableName].length - 1) {
// resolve();
// }
// });
// })
}, true);
});
const result=sqlInsertCommonFn(params.tableName,res.body[params.tableName])
resolve(result)
})
}
export async function getSyncData(tableName) {
return new Promise((resolve, reject) => {
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
'MA_MAP_POINT': MA_MAP_POINT,
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
'MA_MAP_ROAD': MA_MAP_ROAD,
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
'MA_SYSSET': MA_SYSSET,
'ES_CARINFO': ES_CARINFO,
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
'MA_MARKRULESET': MA_MARKRULESET,
'MA_CDSBINFO': MA_CDSBINFO,
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
'IpConfigTable':IpConfigTable,
'DeviceInfoTable':DeviceInfoTable,
'USER':USER
}
const accountTable = new AccountTable(() => {
}, map[tableName]);
accountTable.getRdbStore(() => {
accountTable.query('0', async (result) => {
console.log('ruelse',result.length)
resolve(result)
}, true);
});
@ -428,29 +280,6 @@ export async function getSyncData(tableName) {
}
export async function delSyncTable(tableName){
return new Promise((resolve,reject)=>{
const map = {
'MA_MARKRULE': MA_MARKRULE,
'MA_SYSTEMPARM': MA_SYSTEMPARM,
'MA_MAP_COLLECT': MA_MAP_COLLECT,
'MA_MAP_COLLECT_SHAPE': MA_MAP_COLLECT_SHAPE,
'MA_MAP_ITEMCLASS': MA_MAP_ITEMCLASS,
'MA_MAP_POINT': MA_MAP_POINT,
'MA_MAP_POINT_ITEM': MA_MAP_POINT_ITEM,
'MA_MAP_ROAD': MA_MAP_ROAD,
'MA_MAP_ROAD_LANE': MA_MAP_ROAD_LANE,
'MA_MAP_SUBITEM': MA_MAP_SUBITEM,
'MA_SYSSET': MA_SYSSET,
'ES_CARINFO': ES_CARINFO,
'ES_EXAMPOINTDETAIL': ES_EXAMPOINTDETAIL,
'MA_MARKRULESET': MA_MARKRULESET,
'MA_CDSBINFO': MA_CDSBINFO,
'MA_ITEMINFO': MA_ITEMINFO,
'MA_T_CARPARMSET': MA_T_CARPARMSET,
'ES_CAR_VIDEO_PARAMETER': ES_CAR_VIDEO_PARAMETER,
'IpConfigTable':IpConfigTable,
'DeviceInfoTable':DeviceInfoTable,
'USER':USER
}
const accountTable = new AccountTable(() => {
}, map[tableName]);
accountTable.deleteTableData(()=>{
@ -524,7 +353,7 @@ export async function upDataZhongxinginitialization(){
"carId": globalThis.carInfo?.carId, // 表名
"examinationRoomId": globalThis.carInfo?.examinationRoomId, //考试平台kdid
videoVersion:'1.0',
judgeVersion:'2022.03.17.1',
judgeVersion:globalThis.judgeVersion,
shellVersion: globalThis.version
}
let res: any = await initialization(str)
@ -533,57 +362,13 @@ export async function upDataZhongxinginitialization(){
resolve(false)
return
}
const map={
'ItemInfo':MA_ITEMINFO,
'MarkRule':MA_MARKRULE,
'SystemParm':MA_SYSTEMPARM,
'mapCollectList':MA_MAP_COLLECT,
'mapCollectshapeList':MA_MAP_COLLECT_SHAPE,
// MA_MAP_ITEMCLASS:MA_MAP_ITEMCLASS
'mapPointList':MA_MAP_POINT,
// 'MA_MAP_POINT_ITEM':MA_MAP_POINT_ITEM,
'mapRoadList':MA_MAP_ROAD,
'mapRoadLaneList':MA_MAP_ROAD_LANE,
'mapSubitemList':MA_MAP_SUBITEM,
'Sysset':MA_SYSSET,
'CarInfo':ES_CARINFO,
// 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
// 'MA_MARKRULESET':MA_MARKRULE,
'Cdsbinfo':MA_CDSBINFO,
't_carparmset':MA_T_CARPARMSET,
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
const mapName={
'ItemInfo':'MA_ITEMINFO',
'MarkRule':'MA_MARKRULE',
'SystemParm':'MA_SYSTEMPARM',
'mapCollectList':'MA_MAP_COLLECT',
'mapCollectshapeList':'MA_MAP_COLLECT_SHAPE',
// MA_MAP_ITEMCLASS:MA_MAP_ITEMCLASS
'mapPointList':'MA_MAP_POINT',
// 'MA_MAP_POINT_ITEM':MA_MAP_POINT_ITEM,
'mapRoadList':'MA_MAP_ROAD',
'mapRoadLaneList':'MA_MAP_ROAD_LANE',
'mapSubitemList':'MA_MAP_SUBITEM',
'Sysset':'MA_SYSSET',
'CarInfo':'ES_CARINFO',
// 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
// 'MA_MARKRULESET':MA_MARKRULE,
'Cdsbinfo':'MA_CDSBINFO',
't_carparmset':'MA_T_CARPARMSET',
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
let flag
for(let key in res.initializationRsp.body){
if(!map[key]){
if(!centerToMap[key]){
continue
}
flag = await setSyncCenterSqlData(key,res)
if(!flag){
// prompt.showToast({
// message: '联网更新失败,请检查网络后重新更新',
// duration: 1000
// });
resolve(false)
return
}
@ -593,26 +378,6 @@ export async function upDataZhongxinginitialization(){
}
function setSyncCenterSqlData(key,res){
return new Promise(async (resolve,reject)=>{
const map={
'ItemInfo':MA_ITEMINFO,
'MarkRule':MA_MARKRULE,
'SystemParm':MA_SYSTEMPARM,
'mapCollectList':MA_MAP_COLLECT,
'mapCollectshapeList':MA_MAP_COLLECT_SHAPE,
// MA_MAP_ITEMCLASS:MA_MAP_ITEMCLASS
'mapPointList':MA_MAP_POINT,
// 'MA_MAP_POINT_ITEM':MA_MAP_POINT_ITEM,
'mapRoadList':MA_MAP_ROAD,
'mapRoadLaneList':MA_MAP_ROAD_LANE,
'mapSubitemList':MA_MAP_SUBITEM,
'Sysset':MA_SYSSET,
'CarInfo':ES_CARINFO,
// 'ES_EXAMPOINTDETAIL':ES_EXAMPOINTDETAIL,
// 'MA_MARKRULESET':MA_MARKRULE,
'Cdsbinfo':MA_CDSBINFO,
't_carparmset':MA_T_CARPARMSET,
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
const mapName={
'ItemInfo':'MA_ITEMINFO',
'MarkRule':'MA_MARKRULE',
@ -634,51 +399,14 @@ function setSyncCenterSqlData(key,res){
// 'ES_CAR_VIDEO_PARAMETER':ES_CAR_VIDE0pO_PARAMETER
}
const accountTable = new AccountTable(() => {
}, map[key]);
}, centerToMap[key]);
let arrList
if(res.initializationRsp.body[key].record instanceof Array){
arrList =res.initializationRsp.body[key].record
}else{
arrList=[res.initializationRsp.body[key].record]
}
accountTable.getRdbStore(() => {
accountTable.query('0', async (result) => {
if(!result.length){
if(arrList.length==0){
resolve(false);
return
}
let INSERT_SQL = "INSERT INTO "+mapName[key]
+ " ("+ map[key].ACCOUNT_TABLE.columns.toString()+") VALUES "
arrList.map((data,i) => {
data.id=`${i+result.length}`
let str='('
map[key].ACCOUNT_TABLE.columns.map((res,index)=>{
if(map[key].ACCOUNT_TABLE.columns.length-1==index){
str+=`"${data[res]||'1'}"`
}else{
str+=`"${data[res]||'1'}"`+','
}
})
if(i==arrList.length-1){
str+=')'
}else{
str+='),'
}
INSERT_SQL+=str
})
accountTable.sqlOperate(INSERT_SQL,mapName[key],(val)=>{
console.log('valval',val)
resolve(val)
})
}
else{
await delSyncTable(mapName[key])
setSyncCenterSqlData(key,res)
}
}, true);
});
const reslut=await sqlInsertCommonFn(mapName[key],arrList)
resolve(reslut)
})
}

View File

@ -5,11 +5,22 @@ 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;
return null
// 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('')
}
})
})
}
//获取考车信息
@ -21,11 +32,9 @@ export async function getCarInfo() {
this.errorMsg=decodeURI(res.examinerLoginRsp.head.resultMessage)
}else {
globalThis.carInfo=res.obtainCarExamInfoRsp.body
console.log('carInfo',JSON.stringify(globalThis.carInfo))
// globalThis.carInfo.carId=res.obtainCarExamInfoRsp.body.carId
globalThis.carInfo.plateNo = decodeURIComponent(globalThis.carInfo.plateNo)
}
//{"obtainCarExamInfoRsp":{"head":{"checkCode":"2A5787C27195EE83CB9A45C1EEAE9AA8","resultCode":"0","resultMessage":"%E8%8E%B7%E5%8F%96%E8%80%83%E8%BD%A6%E8%80%83%E8%AF%95%E4%BF%A1%E6%81%AF-%E6%88%90%E5%8A%9F","time":"2023-04-03 16:19:40"},"body":{"carId":"1003","carNo":"4","examSubject":"3","examinationRoomId":"2","gpsAddress":"192.4.0.114","hintPort":"33333","isNeedCheck":"N","ksdd":"6224J252","messagePort":"11111","plateNo":"%E5%90%89CB525","udpAddress":"192.168.32.167","voicePort":"22222"}}}
return res
}

View File

@ -29,6 +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.version = '2022.03.14.01'
globalThis.context = this.context;