feat:新科目三开发
This commit is contained in:
parent
4c6f25ee3a
commit
b5c641c16b
72
entry/src/main/ets/common/lidar/index.ts
Normal file
72
entry/src/main/ets/common/lidar/index.ts
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
import UdpClient from './udpClient/index'
|
||||||
|
import FileUtil from '../../common/utils/File';
|
||||||
|
import { GlobalConfig } from '../../config/index';
|
||||||
|
import emitter from '@ohos.events.emitter';
|
||||||
|
|
||||||
|
interface messageIds {
|
||||||
|
[k:string]:number;
|
||||||
|
}
|
||||||
|
|
||||||
|
class Lidar {
|
||||||
|
public localRadarUdp: UdpClient
|
||||||
|
public localVisionUdp: UdpClient
|
||||||
|
private isNewKm3: Boolean
|
||||||
|
private messageIds:messageIds = {}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.init()
|
||||||
|
}
|
||||||
|
|
||||||
|
//监听雷达信息
|
||||||
|
async onRadarMsg(messageId:string,callback:Function) {
|
||||||
|
if(this.messageIds[messageId] === undefined){
|
||||||
|
let timer = setInterval(()=>{
|
||||||
|
callback(this.radarObj)
|
||||||
|
},200)
|
||||||
|
this.messageIds[messageId] = timer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//监听视觉信息
|
||||||
|
async onSenseMsg(messageId:string,callback:Function) {
|
||||||
|
if(this.messageIds[messageId] === undefined){
|
||||||
|
let timer = setInterval(()=>{
|
||||||
|
callback(this.senseObj)
|
||||||
|
},200)
|
||||||
|
this.messageIds[messageId] = timer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//关闭消息
|
||||||
|
async offVisionMsg(eventId) {
|
||||||
|
clearInterval(this.messageIds[eventId])
|
||||||
|
delete this.messageIds[eventId]
|
||||||
|
}
|
||||||
|
|
||||||
|
async init() {
|
||||||
|
const fileUtil = new FileUtil(globalThis.context)
|
||||||
|
const addressStr = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt');
|
||||||
|
const {deviceType,deviceIpArr,devicePortArr,udplocalIp} = JSON.parse(addressStr);
|
||||||
|
|
||||||
|
//新科目三设备
|
||||||
|
if (deviceType == '2') {
|
||||||
|
//雷达数据
|
||||||
|
this.localRadarUdp = new UdpClient('radar', {
|
||||||
|
deviceIpArr, devicePortArr, udplocalIp
|
||||||
|
});
|
||||||
|
|
||||||
|
//视觉数据
|
||||||
|
this.localVisionUdp = new UdpClient('vision', {
|
||||||
|
deviceIpArr, devicePortArr, udplocalIp
|
||||||
|
})
|
||||||
|
|
||||||
|
this.localRadarUdp.onMessage((obj) => {
|
||||||
|
this.radarObj = obj
|
||||||
|
})
|
||||||
|
this.localVisionUdp.onMessage((obj) => {
|
||||||
|
this.visionObj = obj
|
||||||
|
})
|
||||||
|
this.isNewKm3 = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
entry/src/main/ets/common/lidar/sense/index.ts
Normal file
10
entry/src/main/ets/common/lidar/sense/index.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
export default class SenseUtil{
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
//扣分
|
||||||
|
//开始考试
|
||||||
|
//结束考试
|
||||||
|
|
||||||
|
}
|
||||||
112
entry/src/main/ets/common/lidar/udpClient/index.ts
Normal file
112
entry/src/main/ets/common/lidar/udpClient/index.ts
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
import socket from '@ohos.net.socket';
|
||||||
|
import FileUtil from '../../../common/utils/File';
|
||||||
|
import { GlobalConfig } from '../../../config/index';
|
||||||
|
import promptAction from '@ohos.promptAction'
|
||||||
|
|
||||||
|
const TAG = 'LIDAUDP'
|
||||||
|
type TYPE = 'vision' | 'radar'
|
||||||
|
|
||||||
|
interface IPAPORT{
|
||||||
|
address:string,
|
||||||
|
port:number
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Params{
|
||||||
|
deviceIpArr:string[],
|
||||||
|
devicePortArr:number[],
|
||||||
|
udplocalIp:string
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class LidaUdpClient{
|
||||||
|
// 0: 视觉 1: 雷达
|
||||||
|
public type:TYPE
|
||||||
|
private udpClient:socket.UDPSocket
|
||||||
|
private localIp:string
|
||||||
|
private localSensePort: 33313
|
||||||
|
private localVisionPort: 33314
|
||||||
|
private params:Params
|
||||||
|
public message:string
|
||||||
|
|
||||||
|
constructor(type:TYPE,params:Params) {
|
||||||
|
this.type = type;
|
||||||
|
this.params = params
|
||||||
|
this.localIp = params.udplocalIp
|
||||||
|
}
|
||||||
|
|
||||||
|
async init(){
|
||||||
|
const {address,port} = await this.getIpAPort()
|
||||||
|
this.udpClient = socket.constructUDPSocketInstance();
|
||||||
|
|
||||||
|
//bind
|
||||||
|
await this.safeFn(async()=>{
|
||||||
|
await this.udpClient.bind({
|
||||||
|
address: this.localIp,
|
||||||
|
port: port,
|
||||||
|
family: 1
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async onMessage(callback){
|
||||||
|
this.offMessage()
|
||||||
|
//message
|
||||||
|
this.udpClient.on('message',(val)=>{
|
||||||
|
//TODO 消息解析
|
||||||
|
switch (this.type){
|
||||||
|
//激光雷达
|
||||||
|
case 'radar':
|
||||||
|
this.radarStrToObj(val)
|
||||||
|
break;
|
||||||
|
//视觉
|
||||||
|
case 'vision':
|
||||||
|
this.visionStrToObj(val)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
console.log(val+'');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取对应的IP和端口
|
||||||
|
async getIpAPort(): Promise<IPAPORT>{
|
||||||
|
const fileUtil = new FileUtil(globalThis.context)
|
||||||
|
const addressStr = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt');
|
||||||
|
const {deviceIpArr,devicePortArr,udplocalIp} = JSON.parse(addressStr);
|
||||||
|
this.localIp = udplocalIp
|
||||||
|
return {
|
||||||
|
address:this.type === 'radar' ? deviceIpArr[0] : deviceIpArr[1],
|
||||||
|
port: Number(this.type === 'vision' ? devicePortArr[1] : devicePortArr[1])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
async radarStrToObj(str:string){
|
||||||
|
//$MachineVision,30.950^0_-1_1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1^-1,43083,0_0_0_0,-1^-1_-1_-1_1,-1^-1_-1_-1_1,-1^-1_-1_-1_1,10102264201.69632,1.1.1.2,0*+$VisualInfo,1_-7205_3480_-7300_3350_-7655_3610_-7560_3735_,*+[ { "bodyangle": "1.00", "bodyx": "0.490", "bodyy": "31.300", "elevation": "2.403", "geoangle": "323.90", "geolat": "29.92678975", "geolon": "119.89823128", "id": 1, "type": 2 } ]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async visionStrToObj(str:string){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async offMessage(){
|
||||||
|
this.udpClient.off('message')
|
||||||
|
}
|
||||||
|
|
||||||
|
async closeUdp(){
|
||||||
|
this.offMessage();
|
||||||
|
this.udpClient.close()
|
||||||
|
}
|
||||||
|
|
||||||
|
async safeFn(fn:Function){
|
||||||
|
try {
|
||||||
|
await fn()
|
||||||
|
} catch (e) {
|
||||||
|
console.info(TAG + JSON.stringify(e))
|
||||||
|
promptAction.showToast({
|
||||||
|
message: TAG + JSON.stringify(e),
|
||||||
|
duration: 3000
|
||||||
|
});
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -218,6 +218,7 @@ export async function takePhoto(param, context, dir, flag = 1, callback?) {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
// var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
|
// var snapResult = rtsp_server.getVideoSnapshot(context, video_uri, '', dir);
|
||||||
if (flag == 0) {
|
if (flag == 0) {
|
||||||
|
//@ts-ignore
|
||||||
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, (err, snapResult) => {
|
rtsp_server.detectVideoSnapshotSize(video_uri, fileName, (err, snapResult) => {
|
||||||
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize);
|
console.log("baohaowen_detectLoop round end size1:" + snapResult.fileSize);
|
||||||
callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode })
|
callback({ fileSize: snapResult.fileSize, errorCode: snapResult.errorCode })
|
||||||
|
|||||||
@ -85,3 +85,7 @@ export const RoadData = [
|
|||||||
{name:'形状',key:['InShapeAttr','ShapeNo','']},
|
{name:'形状',key:['InShapeAttr','ShapeNo','']},
|
||||||
{name:'路段点',key:['CrossPointNo']},
|
{name:'路段点',key:['CrossPointNo']},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
export const radarData = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|||||||
@ -1121,6 +1121,9 @@ struct Index {
|
|||||||
case '4':
|
case '4':
|
||||||
return '#FF7566';
|
return '#FF7566';
|
||||||
break;
|
break;
|
||||||
|
case '5':
|
||||||
|
return '#FF7566';
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return '#E6DECF';
|
return '#E6DECF';
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -23,10 +23,15 @@ struct Index {
|
|||||||
@State terTextList: string[] = ['一型机', '二型机', '三型机', '一体机']
|
@State terTextList: string[] = ['一型机', '二型机', '三型机', '一体机']
|
||||||
@State cardTextList: string[] = ['北云', '天宝MB2']
|
@State cardTextList: string[] = ['北云', '天宝MB2']
|
||||||
@State netTextList: string[] = ['否', '是']
|
@State netTextList: string[] = ['否', '是']
|
||||||
|
@State deviceTypeSelect: string[] = ['正常', '安全员','新科目三']
|
||||||
@State selectedTerType: number = 0
|
@State selectedTerType: number = 0
|
||||||
@State selectedCardType: number = 0
|
@State selectedCardType: number = 0
|
||||||
//是否启用网络差分
|
//是否启用网络差分
|
||||||
@State netOpen: number = 0
|
@State netOpen: number = 0
|
||||||
|
//设备应用类型
|
||||||
|
@State deviceType: number = 0
|
||||||
|
@State deviceIpArr: string[] = ['192.168.7.173', '192.168.7.173']
|
||||||
|
@State devicePortArr: string[] = ['8052', '8053']
|
||||||
// @State inputTextList2: string[] = []
|
// @State inputTextList2: string[] = []
|
||||||
// 112.80.35.83 11052
|
// 112.80.35.83 11052
|
||||||
// @State inputTextList1: string[] = ['192.168.36.2','8084','192.168.36.200','20122','255.255.255.0','192.168.36.1','','','114.114.114.114','192.168.36.139','8000']
|
// @State inputTextList1: string[] = ['192.168.36.2','8084','192.168.36.200','20122','255.255.255.0','192.168.36.1','','','114.114.114.114','192.168.36.139','8000']
|
||||||
@ -118,7 +123,6 @@ struct Index {
|
|||||||
})
|
})
|
||||||
}.width('51%').height('14%')
|
}.width('51%').height('14%')
|
||||||
|
|
||||||
|
|
||||||
Row(){
|
Row(){
|
||||||
Text('板卡类型')
|
Text('板卡类型')
|
||||||
.width('40%')
|
.width('40%')
|
||||||
@ -140,6 +144,124 @@ struct Index {
|
|||||||
})
|
})
|
||||||
}.width('49%').height('14%')
|
}.width('49%').height('14%')
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text('设备应用场景')
|
||||||
|
.width('40%')
|
||||||
|
.height('100%')
|
||||||
|
.fontColor('#E5CBA1')
|
||||||
|
.padding({ 'left': '35px' })
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
|
||||||
|
ForEach(this.deviceTypeSelect, (netText, index) => {
|
||||||
|
Radio({ value: netText, group: 'deviceRadioGroup' })
|
||||||
|
.borderColor('#E5CBA1')
|
||||||
|
.checked(index === this.deviceType)
|
||||||
|
.onChange((value: boolean) => {
|
||||||
|
if(value){
|
||||||
|
this.deviceType = index
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Text(netText).fontSize(20).fontColor('#FFF')
|
||||||
|
})
|
||||||
|
}.width('52%').height('14%')
|
||||||
|
|
||||||
|
if(this.deviceType == 2){
|
||||||
|
Row() {
|
||||||
|
Text('雷达设备IP')
|
||||||
|
.width('40%')
|
||||||
|
.height('100%')
|
||||||
|
.fontColor('#E5CBA1')
|
||||||
|
.padding({ 'left': '35px' })
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
TextInput({ 'text':this.deviceIpArr[0] })
|
||||||
|
.width('50%')
|
||||||
|
.height('50%')
|
||||||
|
.fontColor('#fff')
|
||||||
|
.borderColor('#E6E0D8')
|
||||||
|
.borderRadius('10px')
|
||||||
|
.borderWidth('2px')
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
.padding({ top: 0, bottom: 0 })
|
||||||
|
.linearGradient({angle: 0,colors: [[0x403C36, 0.0], [0x4D473D, 0.34], [0x3D3A34, 1.0]] })
|
||||||
|
.onChange((value: string) => {
|
||||||
|
this.deviceIpArr[0] = value
|
||||||
|
})
|
||||||
|
}.width('50%').height('14%')
|
||||||
|
Row() {
|
||||||
|
Text('响应端口')
|
||||||
|
.width('40%')
|
||||||
|
.height('100%')
|
||||||
|
.fontColor('#E5CBA1')
|
||||||
|
.padding({ 'left': '35px' })
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
TextInput({ 'text':this.devicePortArr[0] })
|
||||||
|
.width('50%')
|
||||||
|
.height('50%')
|
||||||
|
.fontColor('#fff')
|
||||||
|
.borderColor('#E6E0D8')
|
||||||
|
.borderRadius('10px')
|
||||||
|
.borderWidth('2px')
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
.padding({ top: 0, bottom: 0 })
|
||||||
|
.linearGradient({
|
||||||
|
angle: 0,
|
||||||
|
colors: [[0x403C36, 0.0], [0x4D473D, 0.34], [0x3D3A34, 1.0]]
|
||||||
|
})
|
||||||
|
.onChange((value: string) => {
|
||||||
|
this.devicePortArr[0] = value
|
||||||
|
})
|
||||||
|
}.width('50%').height('14%')
|
||||||
|
Row() {
|
||||||
|
Text('视觉设备IP')
|
||||||
|
.width('40%')
|
||||||
|
.height('100%')
|
||||||
|
.fontColor('#E5CBA1')
|
||||||
|
.padding({ 'left': '35px' })
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
TextInput({ 'text': this.deviceIpArr[1] })
|
||||||
|
.width('50%')
|
||||||
|
.height('50%')
|
||||||
|
.fontColor('#fff')
|
||||||
|
.borderColor('#E6E0D8')
|
||||||
|
.borderRadius('10px')
|
||||||
|
.borderWidth('2px')
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
.padding({ top: 0, bottom: 0 })
|
||||||
|
.linearGradient({
|
||||||
|
angle: 0,
|
||||||
|
colors: [[0x403C36, 0.0], [0x4D473D, 0.34], [0x3D3A34, 1.0]]
|
||||||
|
})
|
||||||
|
.onChange((value: string) => {
|
||||||
|
this.deviceIpArr[1] = value
|
||||||
|
})
|
||||||
|
}.width('50%').height('14%')
|
||||||
|
Row() {
|
||||||
|
Text('响应端口')
|
||||||
|
.width('40%')
|
||||||
|
.height('100%')
|
||||||
|
.fontColor('#E5CBA1')
|
||||||
|
.padding({ 'left': '35px' })
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
TextInput({ 'text': this.devicePortArr[1] })
|
||||||
|
.width('50%')
|
||||||
|
.height('50%')
|
||||||
|
.fontColor('#fff')
|
||||||
|
.borderColor('#E6E0D8')
|
||||||
|
.borderRadius('10px')
|
||||||
|
.borderWidth('2px')
|
||||||
|
.fontSize(this.inputFontSize * this.ratio)
|
||||||
|
.padding({ top: 0, bottom: 0 })
|
||||||
|
.linearGradient({
|
||||||
|
angle: 0,
|
||||||
|
colors: [[0x403C36, 0.0], [0x4D473D, 0.34], [0x3D3A34, 1.0]]
|
||||||
|
|
||||||
|
})
|
||||||
|
.onChange((value: string) => {
|
||||||
|
this.devicePortArr[1] = value;
|
||||||
|
})
|
||||||
|
}.width('50%').height('14%')
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.width('95%')
|
.width('95%')
|
||||||
@ -172,7 +294,10 @@ struct Index {
|
|||||||
centerPort: this.inputTextList1[3],
|
centerPort: this.inputTextList1[3],
|
||||||
terType: this.selectedTerType,
|
terType: this.selectedTerType,
|
||||||
cardType: this.selectedCardType,
|
cardType: this.selectedCardType,
|
||||||
netOpen: this.netOpen
|
netOpen: this.netOpen,
|
||||||
|
deviceType: this.deviceType,
|
||||||
|
deviceIpArr: this.deviceIpArr,
|
||||||
|
devicePortArr: this.devicePortArr,
|
||||||
}
|
}
|
||||||
fileUtil.addFile(`${folderPath}/ipConfig.txt`, JSON.stringify(param), '')
|
fileUtil.addFile(`${folderPath}/ipConfig.txt`, JSON.stringify(param), '')
|
||||||
// upDateTableByArray('IpConfigTable',[])
|
// upDateTableByArray('IpConfigTable',[])
|
||||||
@ -247,6 +372,9 @@ struct Index {
|
|||||||
this.selectedTerType = result.terType
|
this.selectedTerType = result.terType
|
||||||
this.selectedCardType = result.cardType
|
this.selectedCardType = result.cardType
|
||||||
this.netOpen= result.netOpen
|
this.netOpen= result.netOpen
|
||||||
|
this.deviceType= result.deviceType || 0
|
||||||
|
this.deviceIpArr= result.deviceIpArr || ['','']
|
||||||
|
this.devicePortArr= result.devicePortArr || ['','']
|
||||||
console.log('surenjun', this.selectedTerType + '');
|
console.log('surenjun', this.selectedTerType + '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,6 +69,18 @@ export default struct SignDisplayCom {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text('雷达数据').fontColor(this.active == 3 ? '#FFAD33' : '#e7cba3').fontSize(20 * this.ratio)
|
||||||
|
}
|
||||||
|
.backgroundImage(this.active == 3 ? $r('app.media.signal_tabS') : $r('app.media.signal_tab'))
|
||||||
|
.width(144 * this.ratio)
|
||||||
|
.height(50 * this.ratio)
|
||||||
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
|
.justifyContent(FlexAlign.Center)
|
||||||
|
.onClick(() => {
|
||||||
|
this.active = 3
|
||||||
|
})
|
||||||
|
|
||||||
Row() {
|
Row() {
|
||||||
Text('原始数据').fontColor(this.active == 2 ? '#FFAD33' : '#e7cba3').fontSize(20 * this.ratio)
|
Text('原始数据').fontColor(this.active == 2 ? '#FFAD33' : '#e7cba3').fontSize(20 * this.ratio)
|
||||||
}
|
}
|
||||||
@ -314,6 +326,30 @@ export default struct SignDisplayCom {
|
|||||||
.backgroundImage($r('app.media.km_open'))
|
.backgroundImage($r('app.media.km_open'))
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
.visibility(this.active == 1 ? Visibility.Visible : Visibility.None)
|
.visibility(this.active == 1 ? Visibility.Visible : Visibility.None)
|
||||||
|
|
||||||
|
Row(){
|
||||||
|
Column() {
|
||||||
|
Column(){
|
||||||
|
Text('雷达').fontColor('#fff')
|
||||||
|
}
|
||||||
|
Column(){
|
||||||
|
Text('视觉').fontColor('#fff')
|
||||||
|
}
|
||||||
|
.height(436 * this.ratio)
|
||||||
|
|
||||||
|
}
|
||||||
|
.backgroundColor('#282828')
|
||||||
|
.width(this.ratio * 880)
|
||||||
|
.height(415 * this.ratio)
|
||||||
|
.margin({ left: 15 * this.ratio, top: 15 * this.ratio })
|
||||||
|
}
|
||||||
|
.width(936 * this.ratio)
|
||||||
|
.height(460 * this.ratio)
|
||||||
|
.margin({ left: 10 * this.ratio })
|
||||||
|
.padding({ left: 10 * this.ratio, right: 10 * this.ratio })
|
||||||
|
.backgroundImage($r('app.media.km_open'))
|
||||||
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
|
.visibility(this.active == 3 ? Visibility.Visible : Visibility.None)
|
||||||
}
|
}
|
||||||
.width('100%')
|
.width('100%')
|
||||||
.height('100%')
|
.height('100%')
|
||||||
@ -323,6 +359,8 @@ export default struct SignDisplayCom {
|
|||||||
|
|
||||||
aboutToDisappear() {
|
aboutToDisappear() {
|
||||||
clearInterval(this.interval)
|
clearInterval(this.interval)
|
||||||
|
//TODO
|
||||||
|
console.info('surenjun','123')
|
||||||
}
|
}
|
||||||
|
|
||||||
async aboutToAppear() {
|
async aboutToAppear() {
|
||||||
|
|||||||
@ -44,7 +44,7 @@ export default struct RealTime {
|
|||||||
Row() {
|
Row() {
|
||||||
Column() {
|
Column() {
|
||||||
Row() {
|
Row() {
|
||||||
Text('车道信息').fontColor(this.gpsActive == 0 ? '#2D3C5A' : '#fff').fontSize(20)
|
Text('车道信息').fontColor(this.gpsActive == 0 ? '#2D3C5A' : '#fff').fontSize(14)
|
||||||
}
|
}
|
||||||
.width('100%')
|
.width('100%')
|
||||||
.height(37)
|
.height(37)
|
||||||
|
|||||||
@ -934,6 +934,8 @@ export default class Judge {
|
|||||||
this.judgeUI.totalScore += thisKf.score * 1;
|
this.judgeUI.totalScore += thisKf.score * 1;
|
||||||
if (kf.xmdm != 20) {
|
if (kf.xmdm != 20) {
|
||||||
const type = judgeUI.projectsObj[kf.xmdm].type;
|
const type = judgeUI.projectsObj[kf.xmdm].type;
|
||||||
|
console.info('surejun kf=>',JSON.stringify(kf))
|
||||||
|
console.info('surejun kf_type=>',type)
|
||||||
judgeUI.projectsObj[kf.xmdm].type = (type == 3 || type == 4) ? '4' : '5';
|
judgeUI.projectsObj[kf.xmdm].type = (type == 3 || type == 4) ? '4' : '5';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -956,11 +958,11 @@ export default class Judge {
|
|||||||
console.info(judgeTag, '项目取消');
|
console.info(judgeTag, '项目取消');
|
||||||
const {examSubject} = this.judgeUI
|
const {examSubject} = this.judgeUI
|
||||||
const xmdm = xmqx.xmdm;
|
const xmdm = xmqx.xmdm;
|
||||||
const xmmcCode = judgeUI.projectsObj[xmdm].projectCodeCenter;
|
const xmmcCode1 = judgeUI.projectsObj[xmdm].projectCodeCenter;
|
||||||
// const voiceCode = getKmProjectCancelVoice(examSubject, xmmcCode);
|
// const voiceCode = getKmProjectCancelVoice(examSubject, xmmcCode);
|
||||||
// avPlayer.playAudio([`voice/${voiceCode}.mp3`],true)
|
// avPlayer.playAudio([`voice/${voiceCode}.mp3`],true)
|
||||||
this.judgeUI.projectsObj[xmdm].type = '1';
|
this.judgeUI.projectsObj[xmdm].type = '1';
|
||||||
this.testKmItems[xmmcCode].status = '1';
|
this.testKmItems[xmmcCode1].status = '1';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
export const judgeConfig = {
|
export const judgeConfig = {
|
||||||
version:'2024.08.21.01',
|
version:'2024.08.21.01',
|
||||||
//本地目录开关
|
//本地目录开关
|
||||||
isTrajectoryOpen: false,
|
isTrajectoryOpen: true,
|
||||||
//是否开启拍照
|
//是否开启拍照
|
||||||
isPhotoOpen: true,
|
isPhotoOpen: false,
|
||||||
//扣分语音是否强制开启
|
//扣分语音是否强制开启
|
||||||
kfVoiceOpen: false,
|
kfVoiceOpen: false,
|
||||||
//忽略的考试项目
|
//忽略的考试项目
|
||||||
@ -16,14 +16,12 @@ export const judgeConfig = {
|
|||||||
// 本地模型地址
|
// 本地模型地址
|
||||||
// modelPath: 'models/model_enc',
|
// modelPath: 'models/model_enc',
|
||||||
// 济南科目三
|
// 济南科目三
|
||||||
trajectoryPath: 'logs/2025_04_23_09_50_55_2504755332926_320924199111132926_陈静/judge_exam_data.txt',
|
trajectoryPath: 'logs/2025_06_20_08_20_09_2250107217821_340823199508126112_左江辉/judge_exam_data.txt',
|
||||||
//四合一画面配置
|
//四合一画面配置
|
||||||
fourInOneScreen:{
|
fourInOneScreen:{
|
||||||
//gps位数
|
//gps位数
|
||||||
gpsDigit:7
|
gpsDigit:7
|
||||||
},
|
},
|
||||||
// 杭州科目二
|
|
||||||
// trajectoryPath: 'logs/2024_07_19/0000000000001_342323199501470011_测试学员1_2024_07_19_06_49_12/judge_exam_data.txt',
|
|
||||||
//TODO 济南临时特殊配置
|
//TODO 济南临时特殊配置
|
||||||
systemParamConfig:{}
|
systemParamConfig:{}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user