feat: 远程工具

This commit is contained in:
lixiao 2025-06-27 17:16:22 +08:00
parent e6c94fc951
commit 2590117346

View File

@ -9,6 +9,45 @@ import appRecovery from '@ohos.app.ability.appRecovery';
import power from '@ohos.power';
import preferences from '@ohos.data.preferences';
export const gpsConfig = [
{ label: "差分状态", prop: "cfzt" },
{ label: "经纬度收星数", prop: "sxs" },
{ label: "龄期", prop: "lq" },
{ label: "海拔高", prop: "hb" },
{ label: "高度差", prop: "gdc" },
{ label: "纬度", prop: "wd" },
{ label: "经度", prop: "jd" },
{ label: "纬度因子", prop: "wdyz" },
{ label: "经度因子", prop: "jdyz" },
{ label: "速度", prop: "sd" },
{ label: "航向角", prop: "hxj" },
{ label: "航向角状态", prop: "hxjzt" },
{ label: "航向角收星数", prop: "hxjsxs" },
{ label: "俯仰角", prop: "fyj" },
{ label: "年月日", prop: "nyr" },
{ label: "时分秒", prop: "sfm" }
]
export interface DataParams {
page: number;
data: string;
}
export interface StudentData {
select: number
students: Array<{
id: string // 流水号
name: string // 姓名
idCard: string // 身份证
avatar?: string // 头像base64 考虑要不要传
subject: string // 科目
examCount: string // 剩余考试次数
examLine: string // 考试线路
examiner: string // 考官姓名
}>
}
enum PlatFormEventType {
RestartDevice = "1",
RestartApp = "2",
@ -32,7 +71,25 @@ enum EventCode {
Reply
}
const routerMap = {
interface FileInfo {
fileName: string
lastUpdateTime: string
fileSize: number
}
interface PlatformEvent<T = any> {
serialNumber: string
eventType: PlatFormEventType // 操作类型(1:重启设备 2:重启程序 3:日志列表 4:上传日志 5:考试镜像开始(1:1)6:考试镜像结束(1:1)7:考试镜像命令下发 8:考试镜像数据上报 9:设备注册 10:平台注册11:摆渡机注册 12:终端在线状态上报)
uploadType: string //1:平台下发 2:终端上传
deviceNo: string
data: T
}
const Tag = "[websocket]"
const SystemLogDir = "/data/log/hilog"
const AppLogDir = '/mnt/hmdfs/100/account/device_view/local/files/duolun/logs'
const RouterMap = {
Index: 1,
Settings: 2,
Register: 3,
@ -46,61 +103,6 @@ const routerMap = {
SignDisplay: 12,
}
export const gpsConfig = [
{ label: "差分状态", prop: "cfzt" },
{ label: "经纬度收星数", prop: "sxs" },
{ label: "龄期", prop: "lq" },
{ label: "海拔高", prop: "hb" },
{ label: "高度差", prop: "gdc" },
{ label: "纬度", prop: "wd" },
{ label: "经度", prop: "jd" },
{ label: "纬度因子", prop: "wdyz" },
{ label: "经度因子", prop: "jdyz" },
{ label: "速度", prop: "sd" },
{ label: "航向角", prop: "hxj" },
{ label: "航向角状态", prop: "hxjzt" },
{ label: "航向角收星数", prop: "hxjsxs" },
{ label: "俯仰角", prop: "fyj" },
{ label: "年月日", prop: "nyr" },
{ label: "时分秒", prop: "sfm" }
]
interface PlatformEvent<T = any> {
serialNumber: string
eventType: PlatFormEventType // 操作类型(1:重启设备 2:重启程序 3:日志列表 4:上传日志 5:考试镜像开始(1:1)6:考试镜像结束(1:1)7:考试镜像命令下发 8:考试镜像数据上报 9:设备注册 10:平台注册11:摆渡机注册 12:终端在线状态上报)
uploadType: string //1:平台下发 2:终端上传
deviceNo: string
data: T
}
export interface DataParams {
page: number;
data: string;
}
export interface StudentData {
select: number
students: Array<{
id: string // 流水号
name: string // 姓名
idCard: string // 身份证
avatar?: string // 头像base64 考虑要不要传
subject: string // 科目
examCount: string // 剩余考试次数
examLine: string // 考试线路
examiner: string // 考官姓名
}>
}
interface FileInfo {
fileName: string
lastUpdateTime: string
fileSize: number
}
const Tag = "[websocket]"
const SystemLogDir = "/data/log/hilog"
const AppLogDir = '/mnt/hmdfs/100/account/device_view/local/files/duolun/logs'
async function sleep(duration: number) {
return new Promise<void>((resolve, _reject) => {
@ -358,10 +360,10 @@ export class RemoteToolWebsocket {
this.serialNumber = data.serialNumber
this.sendReply(this.serialNumber, data.eventType)
await sleep(1000)
this.sendRouter("", routerMap[router.getState().name])
this.sendRouter("", RouterMap[router.getState().name])
await sleep(1000)
this.onStartCallback.forEach(item => {
if (item.page === routerMap[router.getState().name]) {
if (item.page === RouterMap[router.getState().name]) {
item.cb()
}
})
@ -541,7 +543,7 @@ export class RemoteToolWebsocket {
})
setInterval(() => {
if (this.isStart && [11, 12].includes(routerMap[router.getState().name])) {
if (this.isStart && [11, 12].includes(RouterMap[router.getState().name])) {
this.sendData({
page: 20,
data: JSON.stringify({