fix: 补全日志
This commit is contained in:
parent
0ee2b76130
commit
46730847ee
@ -71,5 +71,9 @@ export const StartExamTag = '[StartExam]'
|
|||||||
|
|
||||||
//人脸对比
|
//人脸对比
|
||||||
export const FaceCompareTag = '[FaceCompare]';
|
export const FaceCompareTag = '[FaceCompare]';
|
||||||
|
|
||||||
//过程数据处理
|
//过程数据处理
|
||||||
export const ProcessDataTag = '[ProcessData]';
|
export const ProcessDataTag = '[ProcessData]';
|
||||||
|
|
||||||
|
// 日志
|
||||||
|
export const LogTag = '[LogWorker]';
|
||||||
|
|||||||
@ -206,6 +206,7 @@ struct JudgePage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async aboutToAppear() {
|
async aboutToAppear() {
|
||||||
|
dConsole.log(JudgeTag, "JudgePage aboutToAppear")
|
||||||
this.carInfo = AppStorage.get<CarInfoType>('carInfo')!
|
this.carInfo = AppStorage.get<CarInfoType>('carInfo')!
|
||||||
this.singlePlay = AppStorage.get<boolean>('singlePlay')!
|
this.singlePlay = AppStorage.get<boolean>('singlePlay')!
|
||||||
this.startFullTime = dayTs().format("YYYYMMDDHHmmss");
|
this.startFullTime = dayTs().format("YYYYMMDDHHmmss");
|
||||||
|
|||||||
@ -12,13 +12,19 @@ export default struct MessageComponent {
|
|||||||
@Prop jl: number
|
@Prop jl: number
|
||||||
@Prop wayno: number
|
@Prop wayno: number
|
||||||
@Prop judgeConfigObj: DefaultJudgeConfigObj
|
@Prop judgeConfigObj: DefaultJudgeConfigObj
|
||||||
|
@State timer: number = -1
|
||||||
|
|
||||||
aboutToAppear(): void {
|
aboutToAppear(): void {
|
||||||
setInterval(async () => {
|
this.timer = setInterval(async () => {
|
||||||
this.examTime += 1;
|
this.examTime += 1;
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aboutToDisappear(): void {
|
||||||
|
clearInterval(this.timer)
|
||||||
|
this.timer = -1
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Row() {
|
Row() {
|
||||||
Column() {
|
Column() {
|
||||||
|
|||||||
@ -166,6 +166,7 @@ struct UserInfoPage {
|
|||||||
]
|
]
|
||||||
//开始考试准备
|
//开始考试准备
|
||||||
prePareExam = async () => {
|
prePareExam = async () => {
|
||||||
|
dConsole.log(StartExamTag, 'prePareExam')
|
||||||
try {
|
try {
|
||||||
// await this.checkSignal()
|
// await this.checkSignal()
|
||||||
await CheckSignal(this.systemParam, this.avPlayer)
|
await CheckSignal(this.systemParam, this.avPlayer)
|
||||||
@ -175,14 +176,16 @@ struct UserInfoPage {
|
|||||||
if (!this.currentUser.xm) {
|
if (!this.currentUser.xm) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// 单机
|
||||||
if (this.singlePlay) {
|
if (this.singlePlay) {
|
||||||
this.currentUser.id = '0'
|
this.currentUser.id = '0'
|
||||||
dConsole.log('开始考试3')
|
dConsole.log(StartExamTag, '开始考试3', this.currentUser)
|
||||||
SqlInsertTable('USER', [this.currentUser]).catch((e: BusinessError) => {
|
SqlInsertTable('USER', [this.currentUser]).catch((e: BusinessError) => {
|
||||||
dConsole.log("error", JSON.stringify(e))
|
dConsole.log(StartExamTag, "error", JSON.stringify(e))
|
||||||
})
|
})
|
||||||
// 初始化开始考试过程数据文件夹
|
// 初始化开始考试过程数据文件夹
|
||||||
InitializeExamProcessData(this.currentUser)
|
InitializeExamProcessData(this.currentUser)
|
||||||
|
dConsole.log(StartExamTag, '开始考试4')
|
||||||
router.pushUrl({
|
router.pushUrl({
|
||||||
url: this.carInfo.examSubject == '3' ? 'pages/Roads' : 'pages/Judge',
|
url: this.carInfo.examSubject == '3' ? 'pages/Roads' : 'pages/Judge',
|
||||||
params: {
|
params: {
|
||||||
@ -193,7 +196,7 @@ struct UserInfoPage {
|
|||||||
this.stopDeviceById()
|
this.stopDeviceById()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
dConsole.log('this.FaceOpenStatuethis.FaceOpenStatue', this.FaceOpenStatue)
|
dConsole.log(StartExamTag, 'this.FaceOpenStatuethis.FaceOpenStatue', this.FaceOpenStatue)
|
||||||
if (this.FaceOpenStatue != '0') {
|
if (this.FaceOpenStatue != '0') {
|
||||||
// 同一学员连续第二次考试时不再验证身份
|
// 同一学员连续第二次考试时不再验证身份
|
||||||
if (this.currentUser.kssycs == '1' && this.systemParam.Param830Str == '1') {
|
if (this.currentUser.kssycs == '1' && this.systemParam.Param830Str == '1') {
|
||||||
@ -205,7 +208,7 @@ struct UserInfoPage {
|
|||||||
this.sfbdinterfaceFn()
|
this.sfbdinterfaceFn()
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
dConsole.info('Throw Error', JSON.stringify(e))
|
dConsole.error(UserInfoTag, 'Throw Error', JSON.stringify(e))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -292,7 +295,7 @@ struct UserInfoPage {
|
|||||||
// TODO UDP更改
|
// TODO UDP更改
|
||||||
//监听远程开始考试
|
//监听远程开始考试
|
||||||
JudgeEmitterInstance.onBeginExam(async () => {
|
JudgeEmitterInstance.onBeginExam(async () => {
|
||||||
dConsole.info('surenjun', 'userInfo收到UdpEvent事件')
|
dConsole.log('surenjun', 'userInfo收到UdpEvent事件')
|
||||||
if (this.isBoardPrePareSetPopupOpen && !this.isFirstBoardPrePareSetPopupBtnShow) {
|
if (this.isBoardPrePareSetPopupOpen && !this.isFirstBoardPrePareSetPopupBtnShow) {
|
||||||
await this.prePareSCZB()
|
await this.prePareSCZB()
|
||||||
} else {
|
} else {
|
||||||
@ -315,7 +318,7 @@ struct UserInfoPage {
|
|||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
testNapi.StartReadCard(this.onReadCard);
|
testNapi.StartReadCard(this.onReadCard);
|
||||||
} else {
|
} else {
|
||||||
dConsole.error("zzctest Failed to Open Device");
|
dConsole.error(UserInfoTag, " Failed to Open Device");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -380,7 +383,7 @@ struct UserInfoPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onReadCard(ret: IDCardSDK.IDCardInfo) {
|
onReadCard(ret: IDCardSDK.IDCardInfo) {
|
||||||
dConsole.info(`zzctest xx Read Card ret =${ret.status}`)
|
dConsole.log(`zzctest xx Read Card ret =${ret.status}`)
|
||||||
let thisVar: IdCard = AppStorage.get('indexComponent')!;
|
let thisVar: IdCard = AppStorage.get('indexComponent')!;
|
||||||
|
|
||||||
if (ret.status == 0) { // status = 1 为读到身份证信息; status = 1 为身份证离开读卡器
|
if (ret.status == 0) { // status = 1 为读到身份证信息; status = 1 为身份证离开读卡器
|
||||||
@ -399,10 +402,10 @@ struct UserInfoPage {
|
|||||||
|
|
||||||
if (ret.baseInfo.length > 2) {
|
if (ret.baseInfo.length > 2) {
|
||||||
// 收到身份证信息,填充页面
|
// 收到身份证信息,填充页面
|
||||||
dConsole.info(`zzctest Read Card 1`);
|
dConsole.log(`zzctest Read Card 1`);
|
||||||
let subIndex = ret.baseInfo.indexOf(":")
|
let subIndex = ret.baseInfo.indexOf(":")
|
||||||
let baseInfo: string = ret.baseInfo.substring(subIndex + 1, ret.baseInfo.length - 1);
|
let baseInfo: string = ret.baseInfo.substring(subIndex + 1, ret.baseInfo.length - 1);
|
||||||
dConsole.info(`zzctest Read Card 2 baseInfo=${baseInfo}`);
|
dConsole.log(`zzctest Read Card 2 baseInfo=${baseInfo}`);
|
||||||
let baseInfos: string[] = baseInfo.split("|");
|
let baseInfos: string[] = baseInfo.split("|");
|
||||||
thisVar.name = baseInfos[0];
|
thisVar.name = baseInfos[0];
|
||||||
thisVar.sex = baseInfos[1];
|
thisVar.sex = baseInfos[1];
|
||||||
@ -418,7 +421,7 @@ struct UserInfoPage {
|
|||||||
// 身份证照片数据处理
|
// 身份证照片数据处理
|
||||||
if (ret.photo instanceof ArrayBuffer) {
|
if (ret.photo instanceof ArrayBuffer) {
|
||||||
let dataView = new DataView(ret.photo)
|
let dataView = new DataView(ret.photo)
|
||||||
dConsole.info(`Read Card ret = length = ${dataView.byteLength}`)
|
dConsole.log(`Read Card ret = length = ${dataView.byteLength}`)
|
||||||
let str = ""
|
let str = ""
|
||||||
for (let i = 0; i < dataView.byteLength; ++i) {
|
for (let i = 0; i < dataView.byteLength; ++i) {
|
||||||
let c = String.fromCharCode(dataView.getUint8(i))
|
let c = String.fromCharCode(dataView.getUint8(i))
|
||||||
@ -428,7 +431,7 @@ struct UserInfoPage {
|
|||||||
}
|
}
|
||||||
thisVar.photo += str;
|
thisVar.photo += str;
|
||||||
}
|
}
|
||||||
dConsole.info(`zzctest Read Card end`);
|
dConsole.log(`zzctest Read Card end`);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -880,9 +883,9 @@ struct UserInfoPage {
|
|||||||
this.startExamDialogController.open()
|
this.startExamDialogController.open()
|
||||||
|
|
||||||
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
||||||
dConsole.info('surenjun', '播放结束开始考试接口调用')
|
dConsole.log(StartExamTag, '播放结束开始考试接口调用')
|
||||||
const res = await this.beginExam()
|
const res = await this.beginExam()
|
||||||
dConsole.info('surenjun', '开始考试接口调用结束', JSON.stringify(res))
|
dConsole.log(StartExamTag, '开始考试接口调用结束', res)
|
||||||
//TODO code转换
|
//TODO code转换
|
||||||
if (res.code != 1) {
|
if (res.code != 1) {
|
||||||
avPlayer.playAudio([res.code == -200 ? 'voice/photo_error.mp3' : 'voice/监管审核未通过.mp3']);
|
avPlayer.playAudio([res.code == -200 ? 'voice/photo_error.mp3' : 'voice/监管审核未通过.mp3']);
|
||||||
@ -895,12 +898,18 @@ struct UserInfoPage {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.currentUser.id = '0'
|
this.currentUser.id = '0'
|
||||||
// await upDateTableByArray('USER', [this.currentUser])
|
dConsole.log(StartExamTag, '插入用户表1')
|
||||||
await SqlInsertTable('USER', [this.currentUser])
|
try {
|
||||||
|
await SqlInsertTable('USER', [this.currentUser])
|
||||||
|
} catch (e) {
|
||||||
|
dConsole.error(StartExamTag, '插入用户表失败', e)
|
||||||
|
}
|
||||||
|
dConsole.log(StartExamTag, '插入用户表结束', res)
|
||||||
this.stepFlag = false
|
this.stepFlag = false
|
||||||
this.startExamDialogController.close()
|
this.startExamDialogController.close()
|
||||||
// 初始化开始考试过程数据文件夹
|
// 初始化开始考试过程数据文件夹
|
||||||
InitializeExamProcessData(this.currentUser)
|
InitializeExamProcessData(this.currentUser)
|
||||||
|
|
||||||
router.pushUrl({
|
router.pushUrl({
|
||||||
url: 'pages/Judge',
|
url: 'pages/Judge',
|
||||||
params: {
|
params: {
|
||||||
@ -923,6 +932,7 @@ struct UserInfoPage {
|
|||||||
const startHourTime = dayTs().format("HHmmssSSS")
|
const startHourTime = dayTs().format("HHmmssSSS")
|
||||||
AppStorage.setOrCreate('startHourTime', startHourTime)
|
AppStorage.setOrCreate('startHourTime', startHourTime)
|
||||||
const photoBase64 = await GetPhotoBase64(this.context);
|
const photoBase64 = await GetPhotoBase64(this.context);
|
||||||
|
dConsole.log(StartExamTag, "开始考试拍照完成")
|
||||||
if (photoBase64 == '') {
|
if (photoBase64 == '') {
|
||||||
dConsole.log(StartExamTag, "拍照失败")
|
dConsole.log(StartExamTag, "拍照失败")
|
||||||
this.startExamDialogController.close()
|
this.startExamDialogController.close()
|
||||||
@ -949,7 +959,7 @@ struct UserInfoPage {
|
|||||||
//接口标识
|
//接口标识
|
||||||
jkid: '17C51',
|
jkid: '17C51',
|
||||||
}
|
}
|
||||||
dConsole.info('surenjunjianguan', JSON.stringify(param))
|
dConsole.log(StartExamTag, "开始考试上传中心参数", param)
|
||||||
const temp = await writeObjectOut(param, "", this.context);
|
const temp = await writeObjectOut(param, "", this.context);
|
||||||
AppStorage.setOrCreate('lsh', this.currentUser.lsh)
|
AppStorage.setOrCreate('lsh', this.currentUser.lsh)
|
||||||
this.examinerLoginInfo.ksyh = this.currentUser.ksy1sfzmhm
|
this.examinerLoginInfo.ksyh = this.currentUser.ksy1sfzmhm
|
||||||
@ -1136,6 +1146,7 @@ struct UserInfoPage {
|
|||||||
dConsole.log(UserInfoTag, "不给开始考试")
|
dConsole.log(UserInfoTag, "不给开始考试")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
dConsole.log(StartExamTag, "开始考试按钮点击")
|
||||||
await this.prePareExam()
|
await this.prePareExam()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,20 @@ export enum ColumnType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class DbUtils {
|
class DbUtils {
|
||||||
|
private static instance: DbUtils | null = null;
|
||||||
rdbStore: relationalStore.RdbStore | undefined = undefined
|
rdbStore: relationalStore.RdbStore | undefined = undefined
|
||||||
|
|
||||||
|
private constructor() {
|
||||||
|
console.log(DbTag, "DbUtils instance created.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static getInstance(): DbUtils {
|
||||||
|
if (!DbUtils.instance) {
|
||||||
|
DbUtils.instance = new DbUtils();
|
||||||
|
}
|
||||||
|
return DbUtils.instance;
|
||||||
|
}
|
||||||
|
|
||||||
// 初始化 无需记录日志
|
// 初始化 无需记录日志
|
||||||
init(context: common.UIAbilityContext) {
|
init(context: common.UIAbilityContext) {
|
||||||
let config: relationalStore.StoreConfig = {
|
let config: relationalStore.StoreConfig = {
|
||||||
@ -27,6 +39,7 @@ class DbUtils {
|
|||||||
relationalStore.getRdbStore(context, config)
|
relationalStore.getRdbStore(context, config)
|
||||||
.then(rdbStore => {
|
.then(rdbStore => {
|
||||||
this.rdbStore = rdbStore
|
this.rdbStore = rdbStore
|
||||||
|
console.log(DbTag, "rdbStore:", JSON.stringify(rdbStore))
|
||||||
console.log(DbTag, "db rdbStore init success")
|
console.log(DbTag, "db rdbStore init success")
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
@ -60,6 +73,7 @@ class DbUtils {
|
|||||||
clearTable(tableName: string): Promise<void> {
|
clearTable(tableName: string): Promise<void> {
|
||||||
let sql = `DELETE FROM ${tableName}`
|
let sql = `DELETE FROM ${tableName}`
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
console.log(DbTag, "sql clearTable", JSON.stringify(this.rdbStore))
|
||||||
if (this.rdbStore) {
|
if (this.rdbStore) {
|
||||||
this.rdbStore?.executeSql(sql).then(() => {
|
this.rdbStore?.executeSql(sql).then(() => {
|
||||||
console.log(DbTag, "sql clearTable success", sql)
|
console.log(DbTag, "sql clearTable success", sql)
|
||||||
@ -242,6 +256,7 @@ class DbUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let DB: DbUtils = new DbUtils()
|
// let DB: DbUtils = new DbUtils()
|
||||||
|
const DB: DbUtils = DbUtils.getInstance();
|
||||||
|
|
||||||
export default DB
|
export default DB
|
||||||
|
|||||||
@ -70,6 +70,7 @@ function getDataFn(config: EnvironmentConfigurationType) {
|
|||||||
// 需要观察
|
// 需要观察
|
||||||
console.log(WorkerTag, "后置机消息", data)
|
console.log(WorkerTag, "后置机消息", data)
|
||||||
const res = await SerialPortService.getData()
|
const res = await SerialPortService.getData()
|
||||||
|
console.log(SerialPortTag, "档位原始数据", res)
|
||||||
if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
const dataArray = data.split(",");
|
const dataArray = data.split(",");
|
||||||
// 替换data的第28位
|
// 替换data的第28位
|
||||||
|
|||||||
@ -1,13 +1,6 @@
|
|||||||
import worker, { ErrorEvent, MessageEvents, ThreadWorkerGlobalScope } from '@ohos.worker';
|
import worker, { ErrorEvent, MessageEvents, ThreadWorkerGlobalScope } from '@ohos.worker';
|
||||||
import { GlobalConfig } from '../config';
|
import { GlobalConfig, LogTag } from '../config';
|
||||||
import {
|
import { FileQueueType, LogPathType, LogWorkerMessage, ProcessDataEnumType, WorkerMessageType } from '../model';
|
||||||
FileQueueType,
|
|
||||||
LogFileFd,
|
|
||||||
LogPathType,
|
|
||||||
LogWorkerMessage,
|
|
||||||
ProcessDataEnumType,
|
|
||||||
WorkerMessageType
|
|
||||||
} from '../model';
|
|
||||||
import { CreateDir, CreateFile, EditFile, IsExit } from '../utils/Common';
|
import { CreateDir, CreateFile, EditFile, IsExit } from '../utils/Common';
|
||||||
import dayTs from '../utils/Date';
|
import dayTs from '../utils/Date';
|
||||||
import fs from '@ohos.file.fs';
|
import fs from '@ohos.file.fs';
|
||||||
@ -20,7 +13,7 @@ let fileFdArr: number[] = []
|
|||||||
let writeQueue: Array<FileQueueType> = [];
|
let writeQueue: Array<FileQueueType> = [];
|
||||||
let isProcessing = false;
|
let isProcessing = false;
|
||||||
workerPort.onmessage = (e: MessageEvents) => {
|
workerPort.onmessage = (e: MessageEvents) => {
|
||||||
console.log("日志系统worker收到消息")
|
console.log(LogTag, "日志系统worker收到消息")
|
||||||
// 日志文件目录
|
// 日志文件目录
|
||||||
let logPaths: LogPathType = {
|
let logPaths: LogPathType = {
|
||||||
log: `${GlobalConfig.commonFileWriteAddress}/logs/${dayTs().format("YYYY_MM_DD")}/log/log.log`,
|
log: `${GlobalConfig.commonFileWriteAddress}/logs/${dayTs().format("YYYY_MM_DD")}/log/log.log`,
|
||||||
@ -80,7 +73,7 @@ async function InitLog() {
|
|||||||
|
|
||||||
// 初始化学员过程数据目录
|
// 初始化学员过程数据目录
|
||||||
async function InitExam(dirName: string) {
|
async function InitExam(dirName: string) {
|
||||||
console.log("初始化过程", dirName)
|
console.log(LogTag, "初始化过程", dirName)
|
||||||
let date = dayTs().format("YYYY_MM_DD")
|
let date = dayTs().format("YYYY_MM_DD")
|
||||||
const path = `${GlobalConfig.commonFileWriteAddress}/logs/${date}/${dirName}`
|
const path = `${GlobalConfig.commonFileWriteAddress}/logs/${date}/${dirName}`
|
||||||
const nameDirIsExit = await IsExit(path)
|
const nameDirIsExit = await IsExit(path)
|
||||||
@ -90,7 +83,7 @@ async function InitExam(dirName: string) {
|
|||||||
// 创建几个文件
|
// 创建几个文件
|
||||||
fileNameArr.forEach(async (item: string, index: number) => {
|
fileNameArr.forEach(async (item: string, index: number) => {
|
||||||
let filePath = path + "/" + item
|
let filePath = path + "/" + item
|
||||||
console.log("创建文件", filePath)
|
console.log(LogTag, "创建文件", filePath)
|
||||||
let result = await CreateFile(filePath)
|
let result = await CreateFile(filePath)
|
||||||
fileFdArr[index] = result
|
fileFdArr[index] = result
|
||||||
})
|
})
|
||||||
@ -132,7 +125,6 @@ async function WriteProcessData(type: ProcessDataEnumType, data: string) {
|
|||||||
} else {
|
} else {
|
||||||
writeQueue.push({ type, data });
|
writeQueue.push({ type, data });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isProcessing) {
|
if (!isProcessing) {
|
||||||
processQueue();
|
processQueue();
|
||||||
}
|
}
|
||||||
@ -153,7 +145,7 @@ function CloseProcessData() {
|
|||||||
fileFdArr.forEach((item: number) => {
|
fileFdArr.forEach((item: number) => {
|
||||||
fs.closeSync(item)
|
fs.closeSync(item)
|
||||||
})
|
})
|
||||||
console.log("关闭过程数据")
|
console.log(LogTag, "关闭过程数据")
|
||||||
}
|
}
|
||||||
|
|
||||||
workerPort.onmessageerror = (e: MessageEvents) => {
|
workerPort.onmessageerror = (e: MessageEvents) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user