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.

188 lines
4.6 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. // 开始、停止绘制
  2. export type TaskState = {
  3. messageType: "EVENT";
  4. data:
  5. | "START_RECORD_SIG"
  6. | "END_RECORD_SIG"
  7. | "FINISHED"
  8. | "START_RECORD_LEFT"
  9. | "FINISH_RECORD_RIGHT"
  10. | "FINISH_RECORD"
  11. | "FINISH_RECORD_LEFT"
  12. | "END_RECORD_SIG"
  13. | "END_RECORD"
  14. | "START_RECORD_RIGHT"
  15. | "WRONG_SIDE"
  16. | "WAITING_FOR_RECORD_THE_1ST_SIDE"
  17. | "WAITING_FOR_RECORD_THE_2ND_SIDE"
  18. // data: {
  19. // 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";
  20. // };
  21. path: "/api/measurement-task/event";
  22. };
  23. // 连续上报坐标点
  24. export type TrackRecordSig = {
  25. messageType: "STATE";
  26. data: {
  27. x: number;
  28. y: number;
  29. };
  30. path: "/api/measurement-task/point-report";
  31. };
  32. type Points = {
  33. x: number;
  34. y: number;
  35. }
  36. type MeasureResult = {
  37. outline1: Points[];
  38. outline2: Points[];
  39. }
  40. // 测量结果
  41. export type ResultRecordData = {
  42. messageType: "EVENT";
  43. // data: {
  44. // outline1: Points[];
  45. // outline2: Points[];
  46. // };
  47. data: []
  48. path: "/api/measurement-task/measure-finished";
  49. };
  50. export const defaultContext: ContextMessage["data"] = {
  51. loginFlag: true,
  52. loginUser: {
  53. id: 3, //数据主键id
  54. account: "test001", //用户账户
  55. nickname: "测试账户001", //用户昵称
  56. userRole: "User", //用户角色,可用值:User,Admin,Dev
  57. isBuiltInUser: false, //是否内置用户(内置用户不可删除)
  58. },
  59. };
  60. // 上下文状态
  61. export type ContextMessage = {
  62. messageType: "DeviceContext";
  63. data: {
  64. loginFlag: Boolean;
  65. loginUser: Partial<{
  66. id: number;
  67. account: string;
  68. nickname: string;
  69. password: string;
  70. userRole: "Admin" | "User" | "Dev";
  71. isBuiltInUser: boolean;
  72. }>;
  73. };
  74. path: "/api/deviceContext";
  75. };
  76. export type loginUser = Partial<{
  77. id: 3; //数据主键id
  78. account: "test001"; //用户账户
  79. nickname: "测试账户001"; //用户昵称
  80. userRole: "User"; //用户角色,可用值:User,Admin,Dev
  81. isBuiltInUser: false; //是否内置用户(内置用户不可删除)
  82. }>;
  83. export const taskStatusDescMap: { [k in MeasureState["data"]["taskStatus"]]: string } = {
  84. IDLE: "空闲",
  85. MEASURING: "测量中",
  86. WAITING_FOR_MEASURING: "等待测量",
  87. FINISHED: "测量完成",
  88. START_RECORD_LEFT: "",
  89. FINISH_RECORD_RIGHT: "",
  90. FINISH_RECORD: "",
  91. FINISH_RECORD_LEFT: "",
  92. END_RECORD_SIG: "",
  93. END_RECORD: "",
  94. START_RECORD_RIGHT: "",
  95. };
  96. // 测量任务状态
  97. export type MeasureState = {
  98. messageType: "STATE";
  99. data: {
  100. taskStatus:
  101. | "IDLE"
  102. | "MEASURING"
  103. | "WAITING_FOR_MEASURING"
  104. | "FINISHED"
  105. | "START_RECORD_LEFT"
  106. | "FINISH_RECORD_RIGHT"
  107. | "FINISH_RECORD"
  108. | "FINISH_RECORD_LEFT"
  109. | "END_RECORD_SIG"
  110. | "END_RECORD"
  111. | "START_RECORD_RIGHT";
  112. measureSideCnt: 0 | 1 | 2; //已测量数量,0,1,2 最多两边(左边和右边)
  113. isMeasuringLeftEnd: boolean; //测量左侧完成
  114. isMeasuringRightEnd: boolean; //测量右侧完成
  115. motionlessSigFlag: boolean; //滑轮质心是否静止
  116. inStartMeasuringPos: boolean; //是否在允许开始测量的位置
  117. isWrongSide: boolean; //测量方向是错误的
  118. // profileRecordDescription: null; //用户填写的新测量信息
  119. };
  120. path: "/api/measurement-task/get-task-state";
  121. };
  122. export const defaultMeasureState = {
  123. taskStatus: "IDLE",
  124. measureSideCnt: 0, //已测量数量,0,1,2 最多两边(左边和右边)
  125. isMeasuringLeftEnd: false, //测量左侧完成
  126. isMeasuringRightEnd: false, //测量右侧完成
  127. motionlessSigFlag: true, //滑轮质心是否静止
  128. inStartMeasuringPos: true, //是否在允许开始测量的位置
  129. };
  130. export type ChannelMessage = {
  131. messageType: "STATE";
  132. data: {
  133. isConnect: boolean;
  134. connectPort: string;
  135. sn: string;
  136. descriptivePortName: string;
  137. };
  138. path: "/api/subdevice/uartchanel/get-channel-state";
  139. };
  140. export type DeviceStatus = {
  141. messageType: "STATE";
  142. data: {
  143. isConnected: boolean; //是否链接
  144. connectedType: "UART_CHANNEL" | "BLE_CHANNEL";
  145. sn: string;
  146. power: number; //电量
  147. inclinatorX: number; //x轴倾斜
  148. inclinatorY: number; //y轴倾斜
  149. temperature: number; //温度
  150. state: number;
  151. flag: number
  152. };
  153. path: "/api/profiler-state/get-state";
  154. };
  155. export type ProgressStatus = {
  156. messageType: "SYNC";
  157. data: {
  158. progress: number; //同步进度
  159. message: string; //消息
  160. success: boolean;//同步状态
  161. };
  162. path: "/get-task-progress";
  163. };
  164. export type bleStatus = {
  165. messageType: "STATE";
  166. data: {
  167. name: string;
  168. address: string;
  169. connect: boolean;
  170. };
  171. path: "/api/ble/ble-list";
  172. };
  173. export type Datagram = TrackRecordSig | TaskState | ContextMessage | MeasureState | ChannelMessage | DeviceStatus | ProgressStatus | ResultRecordData;