model-action 1.0.24 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/index.d.ts +13 -4
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +12 -4
  4. package/dist/index.js.map +1 -0
  5. package/dist/modules/Action.d.ts +5 -14
  6. package/dist/modules/Action.d.ts.map +1 -0
  7. package/dist/modules/Action.js +2 -10
  8. package/dist/modules/Action.js.map +1 -0
  9. package/dist/modules/Animation.d.ts +59 -0
  10. package/dist/modules/Animation.d.ts.map +1 -0
  11. package/dist/modules/Animation.js +117 -0
  12. package/dist/modules/Animation.js.map +1 -0
  13. package/dist/modules/Building.d.ts +28 -0
  14. package/dist/modules/Building.d.ts.map +1 -0
  15. package/dist/modules/Building.js +70 -0
  16. package/dist/modules/Building.js.map +1 -0
  17. package/dist/modules/Camera.d.ts +37 -0
  18. package/dist/modules/Camera.d.ts.map +1 -0
  19. package/dist/modules/Camera.js +110 -0
  20. package/dist/modules/Camera.js.map +1 -0
  21. package/dist/modules/CameraView.d.ts +37 -0
  22. package/dist/modules/CameraView.d.ts.map +1 -0
  23. package/dist/modules/CameraView.js +110 -0
  24. package/dist/modules/CameraView.js.map +1 -0
  25. package/dist/modules/Effect.d.ts +37 -0
  26. package/dist/modules/Effect.d.ts.map +1 -0
  27. package/dist/modules/Effect.js +72 -0
  28. package/dist/modules/Effect.js.map +1 -0
  29. package/dist/modules/Environment.d.ts +22 -0
  30. package/dist/modules/Environment.d.ts.map +1 -0
  31. package/dist/modules/Environment.js +53 -0
  32. package/dist/modules/Environment.js.map +1 -0
  33. package/dist/modules/Focus.d.ts +12 -0
  34. package/dist/modules/Focus.d.ts.map +1 -0
  35. package/dist/modules/Focus.js +22 -0
  36. package/dist/modules/Focus.js.map +1 -0
  37. package/dist/modules/GameMode.d.ts +17 -0
  38. package/dist/modules/GameMode.d.ts.map +1 -0
  39. package/dist/modules/GameMode.js +36 -0
  40. package/dist/modules/GameMode.js.map +1 -0
  41. package/dist/modules/Init.d.ts +28 -0
  42. package/dist/modules/Init.d.ts.map +1 -0
  43. package/dist/modules/Init.js +81 -0
  44. package/dist/modules/Init.js.map +1 -0
  45. package/dist/modules/Path.d.ts +76 -0
  46. package/dist/modules/Path.d.ts.map +1 -0
  47. package/dist/modules/Path.js +155 -0
  48. package/dist/modules/Path.js.map +1 -0
  49. package/dist/modules/Poi.d.ts +45 -62
  50. package/dist/modules/Poi.d.ts.map +1 -0
  51. package/dist/modules/Poi.js +117 -88
  52. package/dist/modules/Poi.js.map +1 -0
  53. package/dist/modules/Routing.d.ts +23 -31
  54. package/dist/modules/Routing.d.ts.map +1 -0
  55. package/dist/modules/Routing.js +62 -63
  56. package/dist/modules/Routing.js.map +1 -0
  57. package/dist/modules/Scene.d.ts +12 -15
  58. package/dist/modules/Scene.d.ts.map +1 -0
  59. package/dist/modules/Scene.js +26 -15
  60. package/dist/modules/Scene.js.map +1 -0
  61. package/dist/modules/Status.d.ts +59 -0
  62. package/dist/modules/Status.d.ts.map +1 -0
  63. package/dist/modules/Status.js +91 -0
  64. package/dist/modules/Status.js.map +1 -0
  65. package/dist/modules/Track.d.ts +65 -22
  66. package/dist/modules/Track.d.ts.map +1 -0
  67. package/dist/modules/Track.js +128 -20
  68. package/dist/modules/Track.js.map +1 -0
  69. package/dist/modules/VideoFusion.d.ts +1 -0
  70. package/dist/modules/VideoFusion.d.ts.map +1 -0
  71. package/dist/modules/VideoFusion.js +1 -0
  72. package/dist/modules/VideoFusion.js.map +1 -0
  73. package/dist/modules/Window.d.ts +1 -0
  74. package/dist/modules/Window.d.ts.map +1 -0
  75. package/dist/modules/Window.js +1 -0
  76. package/dist/modules/Window.js.map +1 -0
  77. package/dist/peer-stream.d.ts +123 -0
  78. package/dist/peer-stream.d.ts.map +1 -0
  79. package/dist/peer-stream.js +852 -0
  80. package/dist/peer-stream.js.map +1 -0
  81. package/package.json +1 -1
  82. package/src/index.ts +12 -4
  83. package/src/modules/Action.ts +5 -25
  84. package/src/modules/Animation.ts +171 -0
  85. package/src/modules/Building.ts +103 -0
  86. package/src/modules/CameraView.ts +175 -0
  87. package/src/modules/Effect.ts +127 -0
  88. package/src/modules/Environment.ts +81 -0
  89. package/src/modules/Focus.ts +33 -0
  90. package/src/modules/GameMode.ts +60 -0
  91. package/src/modules/Init.ts +104 -0
  92. package/src/modules/Path.ts +293 -0
  93. package/src/modules/Poi.ts +194 -117
  94. package/src/modules/Routing.ts +96 -85
  95. package/src/modules/Scene.ts +43 -21
  96. package/src/modules/Status.ts +150 -0
  97. package/src/peer-stream.js +938 -0
  98. package/src/modules/Track.ts +0 -64
  99. package/src/modules/VideoFusion.ts +0 -122
  100. package/src/modules/Window.ts +0 -40
@@ -1,80 +1,79 @@
1
1
  /**
2
- * 巡更
2
+ * 巡检操作方法
3
3
  */
4
- import { Action, } from "./Action";
4
+ import { Action } from "./Action";
5
5
  export class RoutingAction extends Action {
6
6
  /**
7
- * 巡检开始
8
- * @param {*} id (必须)巡检的唯一ID)
9
- * @param {*} type (必须)巡检的类型)
10
- * videoPatrol => 视频巡更
11
- * cameraRoute => 视角跟随样条线
12
- */
13
- static videoPatrolStart(id, type = "videoPatrol", extendParams = {}) {
14
- const param = Object.assign({ cmd: "routing", action: "start", id }, extendParams);
15
- if (type) {
16
- param.type = type;
17
- }
18
- this.sendParam(param, '巡更开始');
19
- }
20
- /**
21
- * 巡检结束
22
- * @param {*} id (必须)巡检的唯一ID)
23
- * @param {*} type (必须)巡检的类型)
7
+ * 开始路由巡视
8
+ * 显示指定路线的巡视效果,相机跟随路线,线路是在场景中预设的一条固定的样条线
9
+ * @param param 路由巡视参数
24
10
  */
25
- static videoPatrolStop(id, type = "videoPatrol", extendParams = {}) {
26
- const param = Object.assign({ cmd: "routing", action: "stop", id }, extendParams);
27
- if (type) {
28
- param.type = type;
11
+ static start(param) {
12
+ // 如果 isViewFollow true,则 isRolerMoveOnRouting 应该为 false
13
+ if (param.isViewFollow === true && param.isRolerMoveOnRouting === true) {
14
+ console.warn('当 isViewFollow 为 true 时,isRolerMoveOnRouting 应该为 false');
29
15
  }
30
- this.sendParam(param, '巡更结束');
31
- }
32
- /**
33
- * 巡检暂停
34
- * @param {*} id (必须)巡检的唯一ID)
35
- * @param {*} type (必须)巡检的类型)
36
- */
37
- static videoPatrolPause(id, type = "videoPatrol", extendParams = {}) {
38
- const param = Object.assign({ cmd: "routing", action: "pause", id }, extendParams);
39
- if (type) {
40
- param.type = type;
16
+ const data = {
17
+ action: 'start',
18
+ type: param.type,
19
+ id: param.id
20
+ };
21
+ // 可选参数
22
+ if (param.isPauseAtRouting !== undefined) {
23
+ data.isPauseAtRouting = param.isPauseAtRouting;
41
24
  }
42
- this.sendParam(param, '巡更暂停');
25
+ if (param.isRolerMoveOnRouting !== undefined) {
26
+ data.isRolerMoveOnRouting = param.isRolerMoveOnRouting;
27
+ }
28
+ if (param.isViewFollow !== undefined) {
29
+ data.isViewFollow = param.isViewFollow;
30
+ }
31
+ const sendParam = {
32
+ cmd: "routing",
33
+ data
34
+ };
35
+ this.sendParam(sendParam, '开始路由巡视');
43
36
  }
44
37
  /**
45
- * 巡检下一步
46
- * @param {*} id (必须)巡检的唯一ID)
47
- * @param {*} type (必须)巡检的类型)
48
- */
49
- static videoPatrolNext(id, type = "videoPatrol", extendParams = {}) {
50
- const param = Object.assign({ cmd: "routing", action: "next", id }, extendParams);
51
- if (type) {
52
- param.type = type;
53
- }
54
- this.sendParam(param, '巡更下一步');
38
+ * 停止路由巡视
39
+ * 停止并隐藏巡视,整条巡检结束后,必须调用 start 才能重新开始
40
+ */
41
+ static stop() {
42
+ const data = {
43
+ action: 'stop'
44
+ };
45
+ const sendParam = {
46
+ cmd: "routing",
47
+ data
48
+ };
49
+ this.sendParam(sendParam, '停止路由巡视');
55
50
  }
56
51
  /**
57
- * 巡更上一步
58
- * @param {*} id (必须)巡检的唯一ID)
59
- * @param {*} type (必须)巡检的类型)
52
+ * 暂停路由巡视
60
53
  */
61
- static videoPatrolPrev(id, type = "videoPatrol", extendParams = {}) {
62
- const param = Object.assign({ cmd: "routing", action: "last", id }, extendParams);
63
- if (type) {
64
- param.type = type;
65
- }
66
- this.sendParam(param, '巡更上一步');
54
+ static pause() {
55
+ const data = {
56
+ action: 'pause'
57
+ };
58
+ const sendParam = {
59
+ cmd: "routing",
60
+ data
61
+ };
62
+ this.sendParam(sendParam, '暂停路由巡视');
67
63
  }
68
64
  /**
69
- * 巡更重新开始,从暂停点开始
70
- * @param {*} id (必须)巡检的唯一ID)
71
- * @param {*} type (必须)巡检的类型)
65
+ * 重新开始路由巡视
66
+ * 从暂停点继续开始巡视
72
67
  */
73
- static videoPatrolRestart(id, type = "videoPatrol", extendParams = {}) {
74
- const param = Object.assign({ cmd: "routing", action: "restart", id }, extendParams);
75
- if (type) {
76
- param.type = type;
77
- }
78
- this.sendParam(param, '巡更重新开始,从暂停点开始');
68
+ static restart() {
69
+ const data = {
70
+ action: 'restart'
71
+ };
72
+ const sendParam = {
73
+ cmd: "routing",
74
+ data
75
+ };
76
+ this.sendParam(sendParam, '重新开始路由巡视');
79
77
  }
80
78
  }
79
+ //# sourceMappingURL=Routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Routing.js","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AA6B7C,MAAM,OAAO,aAAc,SAAQ,MAAM;IACrC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAmB;QAC5B,0DAA0D;QAC1D,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAON;YACA,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;SACf,CAAC;QAEF,OAAO;QACP,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI;QACP,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,MAAM;SACjB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACR,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,OAAO;SAClB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,SAAS;SACpB,CAAC;QAEF,MAAM,SAAS,GAAqB;YAChC,GAAG,EAAE,SAAS;YACd,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACzC,CAAC;CACJ"}
@@ -1,21 +1,18 @@
1
1
  /**
2
- * 场景方法
2
+ * 场景操作方法
3
3
  */
4
- import { Action, SendParam } from "./Action";
5
- declare enum SceneActionType {
6
- Exit = "0",//退出独显
7
- Enter = "1"
8
- }
9
- type SceneType = {
10
- action: SceneActionType;
11
- isAdjustLight: boolean;
12
- tag?: string;
13
- } & SendParam;
4
+ import { Action } from "./Action";
5
+ export type SceneActionType = 'changeSence' | 'resetSence';
6
+ export type SceneCode = 'QF' | 'RZ' | string;
14
7
  export declare class SceneAction extends Action {
15
8
  /**
16
- * 独显某场景模型
17
- * @param {*} action 1进入独显 0退出独显
9
+ * 切换场景
10
+ * @param code 场景编码
11
+ */
12
+ static changeSence(code: SceneCode): void;
13
+ /**
14
+ * 重置场景到初始状态
18
15
  */
19
- static singleShow(action: SceneActionType, isAdjustLight: SceneType["isAdjustLight"] | undefined, tag: SceneType['tag']): void;
16
+ static resetSence(): void;
20
17
  }
21
- export {};
18
+ //# sourceMappingURL=Scene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/modules/Scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,YAAY,CAAC;AAG3D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAU7C,qBAAa,WAAY,SAAQ,MAAM;IACnC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS;IAgBlC;;OAEG;IACH,MAAM,CAAC,UAAU;CAapB"}
@@ -1,24 +1,35 @@
1
1
  /**
2
- * 场景方法
2
+ * 场景操作方法
3
3
  */
4
4
  import { Action } from "./Action";
5
- var SceneActionType;
6
- (function (SceneActionType) {
7
- SceneActionType["Exit"] = "0";
8
- SceneActionType["Enter"] = "1";
9
- })(SceneActionType || (SceneActionType = {}));
10
5
  export class SceneAction extends Action {
11
6
  /**
12
- * 独显某场景模型
13
- * @param {*} action 1进入独显 0退出独显
7
+ * 切换场景
8
+ * @param code 场景编码
14
9
  */
15
- static singleShow(action, isAdjustLight = false, tag) {
16
- const param = {
17
- cmd: "POI",
18
- action,
19
- tag,
20
- isAdjustLight
10
+ static changeSence(code) {
11
+ const data = {
12
+ action: 'changeSence',
13
+ code
21
14
  };
22
- this.sendParam(param, `${action === '0' ? '退出' : '进入'}独显`);
15
+ const sendParam = {
16
+ cmd: "sence",
17
+ data
18
+ };
19
+ this.sendParam(sendParam, `切换场景 - code: ${code}`);
20
+ }
21
+ /**
22
+ * 重置场景到初始状态
23
+ */
24
+ static resetSence() {
25
+ const data = {
26
+ action: 'resetSence'
27
+ };
28
+ const sendParam = {
29
+ cmd: "sence",
30
+ data
31
+ };
32
+ this.sendParam(sendParam, '重置场景到初始状态');
23
33
  }
24
34
  }
35
+ //# sourceMappingURL=Scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../src/modules/Scene.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAgB7C,MAAM,OAAO,WAAY,SAAQ,MAAM;IACnC;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,IAAe;QAC9B,MAAM,IAAI,GAGN;YACA,MAAM,EAAE,aAAa;YACrB,IAAI;SACP,CAAC;QAEF,MAAM,SAAS,GAAmB;YAC9B,GAAG,EAAE,OAAO;YACZ,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU;QACb,MAAM,IAAI,GAEN;YACA,MAAM,EAAE,YAAY;SACvB,CAAC;QAEF,MAAM,SAAS,GAAmB;YAC9B,GAAG,EAAE,OAAO;YACZ,IAAI;SACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;CACJ"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 状态操作方法
3
+ */
4
+ import { Action } from "./Action";
5
+ export interface StatusInfo {
6
+ id: string;
7
+ state: string;
8
+ }
9
+ export declare class StatusAction extends Action {
10
+ /**
11
+ * 切换指定ID的模型、POI等的状态
12
+ * @param infos 状态信息数组,包含id和state
13
+ * @param options 可选参数
14
+ * @param options.isLocation 是否定位到第一个ID对应的设备,默认false
15
+ * @param options.type 变换状态的类型,如"POI"
16
+ */
17
+ static statusChange(infos: StatusInfo[], options?: {
18
+ isLocation?: boolean;
19
+ type?: string;
20
+ }): void;
21
+ /**
22
+ * 设置设备为正常状态
23
+ * @param id 设备ID
24
+ * @param options 可选参数
25
+ */
26
+ static setNormal(id: string, options?: {
27
+ isLocation?: boolean;
28
+ type?: string;
29
+ }): void;
30
+ /**
31
+ * 设置设备为报警状态
32
+ * @param id 设备ID
33
+ * @param options 可选参数
34
+ */
35
+ static setAlarm(id: string, options?: {
36
+ isLocation?: boolean;
37
+ type?: string;
38
+ }): void;
39
+ /**
40
+ * 设置设备颜色
41
+ * @param id 设备ID
42
+ * @param color 颜色值,格式如 "FFFFFF" 或 "93050C"(不需要#前缀)
43
+ * @param options 可选参数
44
+ */
45
+ static setColor(id: string, color: string, options?: {
46
+ isLocation?: boolean;
47
+ type?: string;
48
+ }): void;
49
+ /**
50
+ * 批量设置多个设备的状态
51
+ * @param statusMap 状态映射,key为设备ID,value为状态值(normal | alarm | color值)
52
+ * @param options 可选参数
53
+ */
54
+ static batchSetStatus(statusMap: Record<string, string>, options?: {
55
+ isLocation?: boolean;
56
+ type?: string;
57
+ }): void;
58
+ }
59
+ //# sourceMappingURL=Status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Status.d.ts","sourceRoot":"","sources":["../../src/modules/Status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAYD,qBAAa,YAAa,SAAQ,MAAM;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CACf,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAwCL;;;;OAIG;IACH,MAAM,CAAC,SAAS,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAKL;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CACX,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAKL;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACX,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAOL;;;;OAIG;IACH,MAAM,CAAC,cAAc,CACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE;QACN,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;CAgBR"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * 状态操作方法
3
+ */
4
+ import { Action } from "./Action";
5
+ export class StatusAction extends Action {
6
+ /**
7
+ * 切换指定ID的模型、POI等的状态
8
+ * @param infos 状态信息数组,包含id和state
9
+ * @param options 可选参数
10
+ * @param options.isLocation 是否定位到第一个ID对应的设备,默认false
11
+ * @param options.type 变换状态的类型,如"POI"
12
+ */
13
+ static statusChange(infos, options) {
14
+ const data = {
15
+ infos
16
+ };
17
+ // 如果提供了 isLocation,则添加(默认false,所以只有为true时才添加)
18
+ if ((options === null || options === void 0 ? void 0 : options.isLocation) !== undefined) {
19
+ data.isLocation = options.isLocation;
20
+ }
21
+ // 如果提供了 type,则添加
22
+ if (options === null || options === void 0 ? void 0 : options.type) {
23
+ data.type = options.type;
24
+ }
25
+ const param = {
26
+ cmd: "status",
27
+ data
28
+ };
29
+ // 生成描述信息
30
+ let msg = '切换状态';
31
+ if (options === null || options === void 0 ? void 0 : options.type) {
32
+ msg = `切换${options.type}状态`;
33
+ }
34
+ if (infos.length === 1) {
35
+ msg += ` - ID: ${infos[0].id}, 状态: ${infos[0].state}`;
36
+ }
37
+ else {
38
+ msg += ` - 共${infos.length}个设备`;
39
+ }
40
+ // 使用类型断言调用sendParam,因为StatusType不严格符合SendParam(缺少action字段)
41
+ this.sendParam(param, msg);
42
+ }
43
+ /**
44
+ * 设置设备为正常状态
45
+ * @param id 设备ID
46
+ * @param options 可选参数
47
+ */
48
+ static setNormal(id, options) {
49
+ this.statusChange([{ id, state: 'normal' }], options);
50
+ }
51
+ /**
52
+ * 设置设备为报警状态
53
+ * @param id 设备ID
54
+ * @param options 可选参数
55
+ */
56
+ static setAlarm(id, options) {
57
+ this.statusChange([{ id, state: 'alarm' }], options);
58
+ }
59
+ /**
60
+ * 设置设备颜色
61
+ * @param id 设备ID
62
+ * @param color 颜色值,格式如 "FFFFFF" 或 "93050C"(不需要#前缀)
63
+ * @param options 可选参数
64
+ */
65
+ static setColor(id, color, options) {
66
+ // 移除可能的#前缀
67
+ const colorValue = color.startsWith('#') ? color.slice(1) : color;
68
+ this.statusChange([{ id, state: `color=${colorValue}` }], options);
69
+ }
70
+ /**
71
+ * 批量设置多个设备的状态
72
+ * @param statusMap 状态映射,key为设备ID,value为状态值(normal | alarm | color值)
73
+ * @param options 可选参数
74
+ */
75
+ static batchSetStatus(statusMap, options) {
76
+ const infos = [];
77
+ for (const id in statusMap) {
78
+ if (statusMap.hasOwnProperty(id)) {
79
+ const state = statusMap[id];
80
+ // 如果state是颜色值(6位十六进制),自动添加color=前缀
81
+ let finalState = state;
82
+ if (/^[0-9A-Fa-f]{6}$/.test(state) && !state.startsWith('color=')) {
83
+ finalState = `color=${state}`;
84
+ }
85
+ infos.push({ id, state: finalState });
86
+ }
87
+ }
88
+ this.statusChange(infos, options);
89
+ }
90
+ }
91
+ //# sourceMappingURL=Status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Status.js","sourceRoot":"","sources":["../../src/modules/Status.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,76 @@
1
1
  /**
2
2
  * 轨迹方法
3
3
  */
4
- import { Action, IdList, LocationList, SendParam } from "./Action";
5
- type TrackActionType = 'getRoadNet' | 'remove' | 'add';
6
- type TrackType = {
7
- action: TrackActionType;
8
- pathId?: string;
9
- rnId?: string;
10
- roadNet?: string;
11
- type?: string;
12
- data?: LocationList | IdList;
13
- } & SendParam;
4
+ import { Action } from "./Action";
5
+ export type PathModuleType = 'Edit' | 'PathTracer';
6
+ export type RolerType = 'Person' | 'Camera' | 'UAV';
7
+ export type PathDrawBaseType = 'BaseOnRoadNet' | 'BaseOnPathEditInfo';
8
+ export type PathStyleType = 'Arrow' | string;
9
+ export interface RolerMoveParam {
10
+ rolerMoveAlongPath?: boolean;
11
+ rolerType?: RolerType;
12
+ viewFollow?: boolean;
13
+ moveSpeed?: number;
14
+ pauseAtPoint?: boolean;
15
+ }
16
+ export interface PathStyle {
17
+ color: string;
18
+ styleType: PathStyleType;
19
+ width: number;
20
+ }
21
+ export interface PathPoint {
22
+ id: string;
23
+ }
24
+ export interface PathEditParam {
25
+ searchRangeAtPathPoint?: number;
26
+ searchDeviceType?: string;
27
+ }
14
28
  export declare class TrackAction extends Action {
15
29
  /**
16
- * 清除轨迹
17
- * @param {*} pathId 自定义轨迹ID
30
+ * 请求三维绘制路径
31
+ * @param pathId 自定义轨迹ID,后面删除的时候用,如果之前有编辑路径,这里就使用编辑路径的时候传入的路径 pathId
32
+ * @param pathDrawBaseType 绘制方式:BaseOnRoadNet 基于路网,使用C++寻路;BaseOnPathEditInfo 基于编辑路径生成的点画路径,不基于路网
33
+ * @param points 路径点数组
34
+ * @param roadNetId 路网的ID,pathDrawBaseType = BaseOnRoadNet的时候,需要传值,如果场景就一个路网,也可以不用传
35
+ * @param rolerMoveParam 沿路径移动的信息
36
+ * @param pathStyle 路径样式
37
+ */
38
+ static trackAdd(pathId: string, pathDrawBaseType: PathDrawBaseType, points: PathPoint[], roadNetId?: string, rolerMoveParam?: RolerMoveParam, pathStyle?: PathStyle): void;
39
+ /**
40
+ * 显隐销毁路径
41
+ * @param action 操作类型:show 显示 | hide 隐藏 | remove 删除
42
+ * @param pathId 自定义轨迹ID,同前面,自定义的ID
43
+ * @param module 显隐、删除哪一部分:Edit 编辑的部分 | PathTracer 根据设备点动态生成的路径部分,如果不传,则整个显隐或者删除
44
+ */
45
+ static trackShowHideRemove(action: 'show' | 'hide' | 'remove', pathId: string, module?: PathModuleType): void;
46
+ /**
47
+ * 移动中更新移动参数
48
+ * @param pathId 自定义轨迹ID
49
+ * @param rolerMoveParam 沿路径移动的参数
50
+ */
51
+ static trackUpdateMovingParam(pathId: string, rolerMoveParam: RolerMoveParam): void;
52
+ /**
53
+ * 在生成的路径上面移动 - 开始移动
54
+ * @param action 操作类型:start 开始移动
55
+ * @param pathId 自定义轨迹ID
56
+ * @param rolerMoveParam 沿路径移动的参数
57
+ */
58
+ static trackMove(action: 'start', pathId: string, rolerMoveParam: RolerMoveParam): void;
59
+ /**
60
+ * 在生成的路径上面移动 - 停止或重启
61
+ * @param action 操作类型:stop 停止移动 | restart 重启移动
18
62
  */
19
- static trackRemove(pathId?: TrackType['pathId']): void;
63
+ static trackMove(action: 'stop' | 'restart'): void;
20
64
  /**
21
- * 获取三维路网坐标
22
- * @param {*} data
23
- * @param {*} rnId 路网ID
65
+ * 开启路径编辑
66
+ * @param pathId 自定义轨迹ID,前端配置界面提供数据,为空或者不传,UE自动生成一个
67
+ * @param pathName 路径名称,前端配置界面提供数据,非必须
68
+ * @param pathEditParam 路径编辑参数,前端配置界面提供数据
24
69
  */
25
- static trackGetRoadNet(data: TrackType['data'], rnId?: TrackType['rnId']): void;
70
+ static trackBeginEdit(pathId?: string, pathName?: string, pathEditParam?: PathEditParam): void;
26
71
  /**
27
- * 请求三维绘制路网
28
- * @param {*} data
29
- * @param {*} pathId 自定义轨迹ID
72
+ * 停止路径编辑
30
73
  */
31
- static trackPath(data: TrackType['data'], pathId?: TrackType['pathId']): void;
74
+ static trackEndEdit(): void;
32
75
  }
33
- export {};
76
+ //# sourceMappingURL=Track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../src/modules/Track.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAM7C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,YAAY,CAAA;AAGlD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAA;AAGnD,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG,oBAAoB,CAAA;AAGrE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAG5C,MAAM,WAAW,cAAc;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,aAAa;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqBD,qBAAa,WAAY,SAAQ,MAAM;IACnC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CACX,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,EAC/B,SAAS,CAAC,EAAE,SAAS;IA+BzB;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CACtB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,EAClC,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,cAAc;IA6B3B;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CACzB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;IAmBlC;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IACvF;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IA2ClD;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACjB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,aAAa;IAiCjC;;OAEG;IACH,MAAM,CAAC,YAAY;CAatB"}