// 开始、停止绘制 export type TaskState = { messageType: "EVENT"; data: | "START_RECORD_SIG" | "END_RECORD_SIG" | "FINISHED" | "START_RECORD_LEFT" | "FINISH_RECORD_RIGHT" | "FINISH_RECORD" | "FINISH_RECORD_LEFT" | "END_RECORD_SIG" | "END_RECORD" | "START_RECORD_RIGHT" | "WRONG_SIDE" | "WAITING_FOR_RECORD_THE_1ST_SIDE" | "WAITING_FOR_RECORD_THE_2ND_SIDE" // data: { // event: "START_RECORD_SIG" | "END_RECORD_SIG" | "FINISHED" | "START_RECORD_LEFT" | "FINISH_RECORD_RIGHT" | "FINISH_RECORD" | "FINISH_RECORD_LEFT" | "END_RECORD_SIG" | "END_RECORD" | "START_RECORD_RIGHT"; // }; path: "/api/measurement-task/event"; }; // 连续上报坐标点 export type TrackRecordSig = { messageType: "STATE"; data: { x: number; y: number; }; path: "/api/measurement-task/point-report"; }; type Points = { x: number; y: number; } type MeasureResult = { outline1: Points[]; outline2: Points[]; } // 测量结果 export type ResultRecordData = { messageType: "EVENT"; // data: { // outline1: Points[]; // outline2: Points[]; // }; data: [] path: "/api/measurement-task/measure-finished"; }; export const defaultContext: ContextMessage["data"] = { loginFlag: true, loginUser: { id: 3, //数据主键id account: "test001", //用户账户 nickname: "测试账户001", //用户昵称 userRole: "User", //用户角色,可用值:User,Admin,Dev isBuiltInUser: false, //是否内置用户(内置用户不可删除) }, }; // 上下文状态 export type ContextMessage = { messageType: "DeviceContext"; data: { loginFlag: Boolean; loginUser: Partial<{ id: number; account: string; nickname: string; password: string; userRole: "Admin" | "User" | "Dev"; isBuiltInUser: boolean; }>; }; path: "/api/deviceContext"; }; export type loginUser = Partial<{ id: 3; //数据主键id account: "test001"; //用户账户 nickname: "测试账户001"; //用户昵称 userRole: "User"; //用户角色,可用值:User,Admin,Dev isBuiltInUser: false; //是否内置用户(内置用户不可删除) }>; export const taskStatusDescMap: { [k in MeasureState["data"]["taskStatus"]]: string } = { IDLE: "空闲", MEASURING: "测量中", WAITING_FOR_MEASURING: "等待测量", FINISHED: "测量完成", START_RECORD_LEFT: "", FINISH_RECORD_RIGHT: "", FINISH_RECORD: "", FINISH_RECORD_LEFT: "", END_RECORD_SIG: "", END_RECORD: "", START_RECORD_RIGHT: "", }; // 测量任务状态 export type MeasureState = { messageType: "STATE"; data: { taskStatus: | "IDLE" | "MEASURING" | "WAITING_FOR_MEASURING" | "FINISHED" | "START_RECORD_LEFT" | "FINISH_RECORD_RIGHT" | "FINISH_RECORD" | "FINISH_RECORD_LEFT" | "END_RECORD_SIG" | "END_RECORD" | "START_RECORD_RIGHT"; measureSideCnt: 0 | 1 | 2; //已测量数量,0,1,2 最多两边(左边和右边) isMeasuringLeftEnd: boolean; //测量左侧完成 isMeasuringRightEnd: boolean; //测量右侧完成 motionlessSigFlag: boolean; //滑轮质心是否静止 inStartMeasuringPos: boolean; //是否在允许开始测量的位置 isWrongSide: boolean; //测量方向是错误的 // profileRecordDescription: null; //用户填写的新测量信息 }; path: "/api/measurement-task/get-task-state"; }; export const defaultMeasureState = { taskStatus: "IDLE", measureSideCnt: 0, //已测量数量,0,1,2 最多两边(左边和右边) isMeasuringLeftEnd: false, //测量左侧完成 isMeasuringRightEnd: false, //测量右侧完成 motionlessSigFlag: true, //滑轮质心是否静止 inStartMeasuringPos: true, //是否在允许开始测量的位置 }; export type ChannelMessage = { messageType: "STATE"; data: { isConnect: boolean; connectPort: string; sn: string; descriptivePortName: string; }; path: "/api/subdevice/uartchanel/get-channel-state"; }; export type DeviceStatus = { messageType: "STATE"; data: { isConnected: boolean; //是否链接 connectedType: "UART_CHANNEL" | "BLE_CHANNEL"; sn: string; power: number; //电量 inclinatorX: number; //x轴倾斜 inclinatorY: number; //y轴倾斜 temperature: number; //温度 state: number; flag: number }; path: "/api/profiler-state/get-state"; }; export type ProgressStatus = { messageType: "SYNC"; data: { progress: number; //同步进度 message: string; //消息 success: boolean;//同步状态 }; path: "/get-task-progress"; }; export type bleStatus = { messageType: "STATE"; data: { name: string; address: string; connect: boolean; }; path: "/api/ble/ble-list"; }; export type Datagram = TrackRecordSig | TaskState | ContextMessage | MeasureState | ChannelMessage | DeviceStatus | ProgressStatus | ResultRecordData;