You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

138 lines
3.8 KiB

// 开始、停止绘制
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";
// 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: "/measurement-task/get-task-state" | "/measurement-task/point-report" | "/measurement-task/event";
};
// 连续上报坐标点
export type TrackRecordSig = {
messageType: "EVENT";
data: {
x: number;
y: number;
};
path: "/measurement-task/profile-record-ctrl-sig";
};
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: "/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; //是否在允许开始测量的位置
// profileRecordDescription: null; //用户填写的新测量信息
};
path: "/measurement-task/get-task-state" | "/measurement-task/event" | "/measurement-task/measurement-task";
};
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: "/subdevice/uartchanel/get-channel-state";
};
export type DeviceStatus = {
messageType: "STATE";
data: {
isConnected: boolean; //是否链接
power: number; //电量
inclinatorX: number; //x轴倾斜
inclinatorY: number; //y轴倾斜
temperature: number; //温度
};
path: "/profiler-state/get-state";
};
export type Datagram = TrackRecordSig | TaskState | ContextMessage | MeasureState | ChannelMessage | DeviceStatus;