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
@@ -0,0 +1,155 @@
1
+ /**
2
+ * 路径方法
3
+ */
4
+ import { Action } from "./Action";
5
+ export class PathAction extends Action {
6
+ /**
7
+ * 请求三维绘制路径
8
+ * @param pathId 自定义轨迹ID,后面删除的时候用,如果之前有编辑路径,这里就使用编辑路径的时候传入的路径 pathId
9
+ * @param pathDrawBaseType 绘制方式:BaseOnRoadNet 基于路网,使用C++寻路;BaseOnPathEditInfo 基于编辑路径生成的点画路径,不基于路网
10
+ * @param points 路径点数组
11
+ * @param roadNetId 路网的ID,pathDrawBaseType = BaseOnRoadNet的时候,需要传值,如果场景就一个路网,也可以不用传
12
+ * @param rolerMoveParam 沿路径移动的信息
13
+ * @param pathStyle 路径样式
14
+ */
15
+ static pathAdd(pathId, pathDrawBaseType, points, roadNetId, rolerMoveParam, pathStyle) {
16
+ const data = {
17
+ action: "add",
18
+ pathId,
19
+ pathDrawBaseType,
20
+ points,
21
+ };
22
+ // 如果绘制方式是基于路网,且提供了路网ID,则添加
23
+ if (pathDrawBaseType === 'BaseOnRoadNet' && roadNetId) {
24
+ data.roadNetId = roadNetId;
25
+ }
26
+ // 如果提供了沿路径移动参数,则添加
27
+ if (rolerMoveParam) {
28
+ data.rolerMoveParam = rolerMoveParam;
29
+ }
30
+ // 如果提供了路径样式,则添加
31
+ if (pathStyle) {
32
+ data.pathStyle = pathStyle;
33
+ }
34
+ const param = {
35
+ cmd: "path",
36
+ data
37
+ };
38
+ this.sendParam(param, '请求三维绘制路径');
39
+ }
40
+ /**
41
+ * 显隐销毁路径
42
+ * @param action 操作类型:show 显示 | hide 隐藏 | remove 删除
43
+ * @param pathId 自定义轨迹ID,同前面,自定义的ID
44
+ * @param module 显隐、删除哪一部分:Edit 编辑的部分 | PathTracer 根据设备点动态生成的路径部分,如果不传,则整个显隐或者删除
45
+ */
46
+ static pathShowHideRemove(action, pathId, module) {
47
+ const data = {
48
+ action,
49
+ pathId
50
+ };
51
+ // 如果提供了模块类型,则添加
52
+ if (module) {
53
+ data.module = module;
54
+ }
55
+ const param = {
56
+ cmd: "path",
57
+ data
58
+ };
59
+ const actionMap = {
60
+ show: '显示路径',
61
+ hide: '隐藏路径',
62
+ remove: '删除路径'
63
+ };
64
+ this.sendParam(param, actionMap[action]);
65
+ }
66
+ /**
67
+ * 移动中更新移动参数
68
+ * @param pathId 自定义轨迹ID
69
+ * @param rolerMoveParam 沿路径移动的参数
70
+ */
71
+ static pathUpdateMovingParam(pathId, rolerMoveParam) {
72
+ const data = {
73
+ action: 'updateMovingParam',
74
+ pathId,
75
+ rolerMoveParam
76
+ };
77
+ const param = {
78
+ cmd: "path",
79
+ data
80
+ };
81
+ this.sendParam(param, '更新移动参数');
82
+ }
83
+ /**
84
+ * 在生成的路径上面移动
85
+ * @param action 操作类型:start 开始移动 | stop 停止移动 | restart 重启移动
86
+ * @param pathId 自定义轨迹ID(仅 start 时需要)
87
+ * @param rolerMoveParam 沿路径移动的参数(仅 start 时需要)
88
+ */
89
+ static pathMove(action, pathId, rolerMoveParam) {
90
+ const data = {
91
+ action
92
+ };
93
+ // start 操作需要 pathId 和 rolerMoveParam
94
+ if (action === 'start') {
95
+ if (!pathId || !rolerMoveParam) {
96
+ throw new Error('start 操作需要提供 pathId 和 rolerMoveParam');
97
+ }
98
+ data.pathId = pathId;
99
+ data.rolerMoveParam = rolerMoveParam;
100
+ }
101
+ // stop 和 restart 不需要 pathId 和 rolerMoveParam
102
+ const param = {
103
+ cmd: "path",
104
+ data
105
+ };
106
+ const actionMap = {
107
+ start: '开始移动',
108
+ stop: '停止移动',
109
+ restart: '重启移动'
110
+ };
111
+ this.sendParam(param, actionMap[action]);
112
+ }
113
+ /**
114
+ * 开启路径编辑
115
+ * @param pathId 自定义轨迹ID,前端配置界面提供数据,为空或者不传,UE自动生成一个
116
+ * @param pathName 路径名称,前端配置界面提供数据,非必须
117
+ * @param pathEditParam 路径编辑参数,前端配置界面提供数据
118
+ */
119
+ static pathBeginEdit(pathId, pathName, pathEditParam) {
120
+ const data = {
121
+ action: 'beginEdit'
122
+ };
123
+ // 如果提供了 pathId,则添加
124
+ if (pathId) {
125
+ data.pathId = pathId;
126
+ }
127
+ // 如果提供了 pathName,则添加
128
+ if (pathName) {
129
+ data.pathName = pathName;
130
+ }
131
+ // 如果提供了 pathEditParam,则添加
132
+ if (pathEditParam) {
133
+ data.pathEditParam = pathEditParam;
134
+ }
135
+ const param = {
136
+ cmd: "path",
137
+ data
138
+ };
139
+ this.sendParam(param, '开启路径编辑');
140
+ }
141
+ /**
142
+ * 停止路径编辑
143
+ */
144
+ static pathEndEdit() {
145
+ const data = {
146
+ action: 'endEdit'
147
+ };
148
+ const param = {
149
+ cmd: "path",
150
+ data
151
+ };
152
+ this.sendParam(param, '停止路径编辑');
153
+ }
154
+ }
155
+ //# sourceMappingURL=Path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/modules/Path.ts"],"names":[],"mappings":"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"}
@@ -1,81 +1,64 @@
1
1
  /**
2
2
  * POI点方法
3
3
  */
4
- import { Action, LocationItem, SendParam } from "./Action";
5
- type PoiActionType = 'show' | 'hide' | 'add' | 'delete' | 'update' | 'getInfo' | 'status';
6
- type PoiType = {
7
- action: PoiActionType;
8
- id?: string;
9
- type?: string;
10
- typeChild?: string;
11
- text?: string;
12
- location?: LocationItem;
13
- place?: string;
14
- description?: string;
15
- linkId?: string;
16
- floorNum?: string;
17
- lowestFloor?: string;
18
- state?: 'normal' | 'alarm';
19
- } & SendParam;
20
- type IdList = Array<{
4
+ import { Action } from "./Action";
5
+ export interface PoiBaseInfo {
21
6
  id: string;
22
- state: 'normal' | 'alarm';
23
- }>;
7
+ type: string;
8
+ label: string;
9
+ location: string;
10
+ rotation: string;
11
+ scale: number;
12
+ place: string;
13
+ linkId: string;
14
+ category: string;
15
+ description: string;
16
+ hasMesh: boolean;
17
+ }
18
+ export type PoiUpdateInfo = Omit<PoiBaseInfo, 'type'>;
24
19
  export declare class PoiAction extends Action {
25
20
  /**
26
- * 添加poi
27
- * @param {*} type 相机type
28
- * @param {*} location poi点位置
29
- * @param {*} text POI标题
30
- * @param {*} place POI所在位置
31
- * @param {*} description POI描述
32
- * @param {*} linkId POI关联的设备ID
33
- */
34
- static poiAdd(type: PoiType['type'], location: LocationItem, text?: PoiType['text'], place?: PoiType['place'], description?: PoiType['description'], linkId?: PoiType['linkId']): void;
21
+ * 显隐指定id的POI
22
+ * @param action 操作类型:show 显示 | hide 隐藏
23
+ * @param id POI的ID
24
+ */
25
+ static poiShowHide(action: 'show' | 'hide', id: string): void;
35
26
  /**
36
- * 更新poi
37
- * @param {*} type 相机type
38
- * @param {*} location poi点位置
39
- * @param {*} text POI标题
40
- * @param {*} place POI所在位置
41
- * @param {*} description POI描述
42
- * @param {*} linkId POI关联的设备ID
27
+ * 显隐指定类型和地方的POI
28
+ * @param action 操作类型:show 显示 | hide 隐藏
29
+ * @param type POI类型,如 "Camera"、"JK" 等
30
+ * @param place 地方,如 "A_1F",如果不传place字段,三维自动判断是显示楼里的还是楼外的
43
31
  */
44
- static poiUpdate(type: PoiType['type'], location: LocationItem, text?: PoiType['text'], place?: PoiType['place'], description?: PoiType['description'], linkId?: PoiType['linkId']): void;
32
+ static poiShowHideByType(action: 'show' | 'hide', type: string, place?: string): void;
45
33
  /**
46
- * 删除poi
47
- * @param {*} id 点ID
48
- */
49
- static poiDel(id: string): void;
34
+ * 显示所有POI
35
+ */
36
+ static poiShowAll(): void;
50
37
  /**
51
- * 显示poi
52
- * @param {*} id POI的ID
53
- * @param {*} type 相机type
54
- * @param {*} place POI所在位置
38
+ * 隐藏所有POI
55
39
  */
56
- static poiShow(id: PoiType['id'], type: PoiType['type'], place: PoiType['place']): void;
40
+ static poiHideAll(): void;
57
41
  /**
58
- * 隐藏poi
59
- * @param {*} id POI的ID
60
- * @param {*} type 相机type
61
- * @param {*} place POI所在位置
62
- */
63
- static poiHide(id: PoiType['id'], type: PoiType['type'], place: PoiType['place']): void;
42
+ * 添加POI点
43
+ * @param baseInfos POI基础信息数组
44
+ */
45
+ static poiAdd(baseInfos: PoiBaseInfo[]): void;
64
46
  /**
65
- * 把所有的POI恢复到Normal状态
66
- * @param {*} state normal一般状态 alarm 告警状态
47
+ * 删除POI
48
+ * @param id POI的ID、linkId或type,根据传入的值删除对应的POI
67
49
  */
68
- static poiNormal(state: 'normal' | 'alarm'): void;
50
+ static poiRemove(id: string): void;
69
51
  /**
70
- * 切换指定ID设备的poi状态
71
- * @param {*} ids 设备ID列表
72
- * @param {*} isLocation 是否定位到第一个ID对应的设备
52
+ * 更新POI点
53
+ * @param baseInfos POI更新信息数组(不包含type字段)
73
54
  */
74
- static poiSwitchStatus(ids: IdList, isLocation?: boolean): void;
55
+ static poiUpdate(baseInfos: PoiUpdateInfo[]): void;
75
56
  /**
76
- * 获取指定POI
77
- * @param {*} type 相机type
57
+ * 获取POI点信息
58
+ * @param id 可选,POI的ID,如果提供则获取指定ID的POI信息
59
+ * @param type 可选,POI类型,如 "Camera",如果提供则获取指定类型的POI信息
60
+ * @param place 可选,地方,如 "A_1F",如果提供则获取指定地方指定类型的POI信息
78
61
  */
79
- static poiGetInfo(type?: PoiType['type']): void;
62
+ static poiFind(id?: string, type?: string, place?: string): void;
80
63
  }
81
- export {};
64
+ //# sourceMappingURL=Poi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Poi.d.ts","sourceRoot":"","sources":["../../src/modules/Poi.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAK7C,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;AAUrD,qBAAa,SAAU,SAAQ,MAAM;IACjC;;;;OAIG;IACH,MAAM,CAAC,WAAW,CACd,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,EAAE,EAAE,MAAM;IAsBd;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACpB,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM;IA4BlB;;OAEG;IACH,MAAM,CAAC,UAAU;IAcjB;;OAEG;IACH,MAAM,CAAC,UAAU;IAcjB;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE;IAgBtC;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM;IAgB3B;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE;IAgB3C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CA4C5D"}
@@ -4,133 +4,162 @@
4
4
  import { Action } from "./Action";
5
5
  export class PoiAction extends Action {
6
6
  /**
7
- * 添加poi
8
- * @param {*} type 相机type
9
- * @param {*} location poi点位置
10
- * @param {*} text POI标题
11
- * @param {*} place POI所在位置
12
- * @param {*} description POI描述
13
- * @param {*} linkId POI关联的设备ID
14
- */
15
- static poiAdd(type = 'Camera', location, text = '', place = '', description = '', linkId = '') {
7
+ * 显隐指定id的POI
8
+ * @param action 操作类型:show 显示 | hide 隐藏
9
+ * @param id POI的ID
10
+ */
11
+ static poiShowHide(action, id) {
12
+ const data = {
13
+ action,
14
+ id
15
+ };
16
16
  const param = {
17
17
  cmd: "POI",
18
- action: "add",
19
- type,
20
- text,
21
- location,
22
- place,
23
- description,
24
- linkId
25
- };
26
- this.sendParam(param, '新增POI');
18
+ data
19
+ };
20
+ const actionMap = {
21
+ show: '显示指定POI',
22
+ hide: '隐藏指定POI'
23
+ };
24
+ this.sendParam(param, actionMap[action]);
27
25
  }
28
26
  /**
29
- * 更新poi
30
- * @param {*} type 相机type
31
- * @param {*} location poi点位置
32
- * @param {*} text POI标题
33
- * @param {*} place POI所在位置
34
- * @param {*} description POI描述
35
- * @param {*} linkId POI关联的设备ID
27
+ * 显隐指定类型和地方的POI
28
+ * @param action 操作类型:show 显示 | hide 隐藏
29
+ * @param type POI类型,如 "Camera"、"JK" 等
30
+ * @param place 地方,如 "A_1F",如果不传place字段,三维自动判断是显示楼里的还是楼外的
36
31
  */
37
- static poiUpdate(type = 'Camera', location, text = '', place = '', description = '', linkId = '') {
32
+ static poiShowHideByType(action, type, place) {
33
+ const data = {
34
+ action,
35
+ type
36
+ };
37
+ // 如果提供了 place,则添加
38
+ if (place) {
39
+ data.place = place;
40
+ }
38
41
  const param = {
39
42
  cmd: "POI",
40
- action: "update",
41
- type,
42
- text,
43
- location,
44
- place,
45
- description,
46
- linkId
47
- };
48
- this.sendParam(param, '更新POI');
43
+ data
44
+ };
45
+ const actionMap = {
46
+ show: '显示指定类型POI',
47
+ hide: '隐藏指定类型POI'
48
+ };
49
+ this.sendParam(param, actionMap[action]);
49
50
  }
50
51
  /**
51
- * 删除poi
52
- * @param {*} id 点ID
53
- */
54
- static poiDel(id) {
52
+ * 显示所有POI
53
+ */
54
+ static poiShowAll() {
55
+ const data = {
56
+ action: 'showAll'
57
+ };
55
58
  const param = {
56
59
  cmd: "POI",
57
- action: "delete",
58
- id,
60
+ data
59
61
  };
60
- this.sendParam(param, '删除POI');
62
+ this.sendParam(param, '显示所有POI');
61
63
  }
62
64
  /**
63
- * 显示poi
64
- * @param {*} id POI的ID
65
- * @param {*} type 相机type
66
- * @param {*} place POI所在位置
65
+ * 隐藏所有POI
67
66
  */
68
- static poiShow(id, type, place) {
67
+ static poiHideAll() {
68
+ const data = {
69
+ action: 'hideAll'
70
+ };
69
71
  const param = {
70
72
  cmd: "POI",
71
- action: "show",
72
- type,
73
- place
73
+ data
74
74
  };
75
- if (id) {
76
- param['id'] = id;
77
- }
78
- this.sendParam(param, '显示POI');
75
+ this.sendParam(param, '隐藏所有POI');
79
76
  }
80
77
  /**
81
- * 隐藏poi
82
- * @param {*} id POI的ID
83
- * @param {*} type 相机type
84
- * @param {*} place POI所在位置
85
- */
86
- static poiHide(id, type, place) {
78
+ * 添加POI点
79
+ * @param baseInfos POI基础信息数组
80
+ */
81
+ static poiAdd(baseInfos) {
82
+ const data = {
83
+ action: 'add',
84
+ baseInfos
85
+ };
87
86
  const param = {
88
87
  cmd: "POI",
89
- action: "hide",
90
- type,
91
- place
88
+ data
92
89
  };
93
- if (id) {
94
- param['id'] = id;
95
- }
96
- this.sendParam(param, '隐藏POI');
90
+ this.sendParam(param, '添加POI点');
97
91
  }
98
92
  /**
99
- * 把所有的POI恢复到Normal状态
100
- * @param {*} state normal一般状态 alarm 告警状态
93
+ * 删除POI
94
+ * @param id POI的ID、linkId或type,根据传入的值删除对应的POI
101
95
  */
102
- static poiNormal(state) {
96
+ static poiRemove(id) {
97
+ const data = {
98
+ action: 'remove',
99
+ id
100
+ };
103
101
  const param = {
104
102
  cmd: "POI",
105
- action: "status",
106
- state
103
+ data
107
104
  };
108
- this.sendParam(param, `恢复poi至${state}状态`);
105
+ this.sendParam(param, '删除POI点');
109
106
  }
110
107
  /**
111
- * 切换指定ID设备的poi状态
112
- * @param {*} ids 设备ID列表
113
- * @param {*} isLocation 是否定位到第一个ID对应的设备
108
+ * 更新POI点
109
+ * @param baseInfos POI更新信息数组(不包含type字段)
114
110
  */
115
- static poiSwitchStatus(ids, isLocation = false) {
111
+ static poiUpdate(baseInfos) {
112
+ const data = {
113
+ action: 'update',
114
+ baseInfos
115
+ };
116
116
  const param = {
117
- cmd: "status",
118
- isLocation,
119
- type: 'POI',
120
- ids
117
+ cmd: "POI",
118
+ data
121
119
  };
122
- this.sendParam(param, `切换poi至指定状态`);
120
+ this.sendParam(param, '更新POI点');
123
121
  }
124
122
  /**
125
- * 获取指定POI
126
- * @param {*} type 相机type
123
+ * 获取POI点信息
124
+ * @param id 可选,POI的ID,如果提供则获取指定ID的POI信息
125
+ * @param type 可选,POI类型,如 "Camera",如果提供则获取指定类型的POI信息
126
+ * @param place 可选,地方,如 "A_1F",如果提供则获取指定地方指定类型的POI信息
127
127
  */
128
- static poiGetInfo(type = 'Camera') {
128
+ static poiFind(id, type, place) {
129
+ const data = {
130
+ action: 'find'
131
+ };
132
+ // 如果提供了 id,则添加
133
+ if (id) {
134
+ data.id = id;
135
+ }
136
+ // 如果提供了 type,则添加
137
+ if (type) {
138
+ data.type = type;
139
+ }
140
+ // 如果提供了 place,则添加
141
+ if (place) {
142
+ data.place = place;
143
+ }
129
144
  const param = {
130
145
  cmd: "POI",
131
- action: "getInfo",
132
- type,
146
+ data
133
147
  };
134
- this.sendParam(param, '获取POI信息');
148
+ // 根据参数组合生成不同的描述
149
+ let msg = '获取POI点信息';
150
+ if (id) {
151
+ msg = '获取指定ID的POI信息';
152
+ }
153
+ else if (type && place) {
154
+ msg = '获取指定地方指定类型的POI信息';
155
+ }
156
+ else if (type) {
157
+ msg = '获取指定类型的POI信息';
158
+ }
159
+ else {
160
+ msg = '获取所有POI信息';
161
+ }
162
+ this.sendParam(param, msg);
135
163
  }
136
164
  }
165
+ //# sourceMappingURL=Poi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Poi.js","sourceRoot":"","sources":["../../src/modules/Poi.ts"],"names":[],"mappings":"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"}
@@ -1,44 +1,36 @@
1
1
  /**
2
- * 巡更
2
+ * 巡检操作方法
3
3
  */
4
4
  import { Action } from "./Action";
5
+ export type RoutingActionType = 'start' | 'stop' | 'pause' | 'restart';
6
+ export type RoutingType = 'videoPatrol';
7
+ export interface RoutingParam {
8
+ type: RoutingType;
9
+ id: string;
10
+ isPauseAtRouting?: boolean;
11
+ isRolerMoveOnRouting?: boolean;
12
+ isViewFollow?: boolean;
13
+ }
5
14
  export declare class RoutingAction extends Action {
6
15
  /**
7
- * 巡检开始
8
- * @param {*} id (必须)巡检的唯一ID)
9
- * @param {*} type (必须)巡检的类型)
10
- * videoPatrol => 视频巡更
11
- * cameraRoute => 视角跟随样条线
12
- */
13
- static videoPatrolStart(id: string, type?: string, extendParams?: {}): void;
14
- /**
15
- * 巡检结束
16
- * @param {*} id (必须)巡检的唯一ID)
17
- * @param {*} type (必须)巡检的类型)
16
+ * 开始路由巡视
17
+ * 显示指定路线的巡视效果,相机跟随路线,线路是在场景中预设的一条固定的样条线
18
+ * @param param 路由巡视参数
18
19
  */
19
- static videoPatrolStop(id: string, type?: string, extendParams?: {}): void;
20
+ static start(param: RoutingParam): void;
20
21
  /**
21
- * 巡检暂停
22
- * @param {*} id (必须)巡检的唯一ID)
23
- * @param {*} type (必须)巡检的类型)
22
+ * 停止路由巡视
23
+ * 停止并隐藏巡视,整条巡检结束后,必须调用 start 才能重新开始
24
24
  */
25
- static videoPatrolPause(id: string, type?: string, extendParams?: {}): void;
26
- /**
27
- * 巡检下一步
28
- * @param {*} id (必须)巡检的唯一ID)
29
- * @param {*} type (必须)巡检的类型)
30
- */
31
- static videoPatrolNext(id: string, type?: string, extendParams?: {}): void;
25
+ static stop(): void;
32
26
  /**
33
- * 巡更上一步
34
- * @param {*} id (必须)巡检的唯一ID)
35
- * @param {*} type (必须)巡检的类型)
27
+ * 暂停路由巡视
36
28
  */
37
- static videoPatrolPrev(id: string, type?: string, extendParams?: {}): void;
29
+ static pause(): void;
38
30
  /**
39
- * 巡更重新开始,从暂停点开始
40
- * @param {*} id (必须)巡检的唯一ID)
41
- * @param {*} type (必须)巡检的类型)
31
+ * 重新开始路由巡视
32
+ * 从暂停点继续开始巡视
42
33
  */
43
- static videoPatrolRestart(id: string, type?: string, extendParams?: {}): void;
34
+ static restart(): void;
44
35
  }
36
+ //# sourceMappingURL=Routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Routing.d.ts","sourceRoot":"","sources":["../../src/modules/Routing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAG7C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAGtE,MAAM,MAAM,WAAW,GAAG,aAAa,CAAA;AAGvC,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAcD,qBAAa,aAAc,SAAQ,MAAM;IACrC;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY;IAqChC;;;OAGG;IACH,MAAM,CAAC,IAAI;IAcX;;OAEG;IACH,MAAM,CAAC,KAAK;IAcZ;;;OAGG;IACH,MAAM,CAAC,OAAO;CAajB"}