model-action 2.0.0 → 2.0.3

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 (45) hide show
  1. package/dist/index.d.ts +7 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/Action.d.ts.map +1 -1
  6. package/dist/modules/Action.js +1 -0
  7. package/dist/modules/Action.js.map +1 -1
  8. package/dist/modules/Animation.d.ts +59 -0
  9. package/dist/modules/Animation.d.ts.map +1 -0
  10. package/dist/modules/Animation.js +117 -0
  11. package/dist/modules/Animation.js.map +1 -0
  12. package/dist/modules/CameraView.d.ts +37 -0
  13. package/dist/modules/CameraView.d.ts.map +1 -0
  14. package/dist/modules/CameraView.js +110 -0
  15. package/dist/modules/CameraView.js.map +1 -0
  16. package/dist/modules/Effect.d.ts +37 -0
  17. package/dist/modules/Effect.d.ts.map +1 -0
  18. package/dist/modules/Effect.js +72 -0
  19. package/dist/modules/Effect.js.map +1 -0
  20. package/dist/modules/GameMode.d.ts +17 -0
  21. package/dist/modules/GameMode.d.ts.map +1 -0
  22. package/dist/modules/GameMode.js +36 -0
  23. package/dist/modules/GameMode.js.map +1 -0
  24. package/dist/modules/Init.d.ts +28 -0
  25. package/dist/modules/Init.d.ts.map +1 -0
  26. package/dist/modules/Init.js +81 -0
  27. package/dist/modules/Init.js.map +1 -0
  28. package/dist/modules/Path.d.ts +79 -0
  29. package/dist/modules/Path.d.ts.map +1 -0
  30. package/dist/modules/Path.js +157 -0
  31. package/dist/modules/Path.js.map +1 -0
  32. package/dist/peer-stream.d.ts +123 -0
  33. package/dist/peer-stream.d.ts.map +1 -0
  34. package/dist/peer-stream.js +852 -0
  35. package/dist/peer-stream.js.map +1 -0
  36. package/package.json +1 -1
  37. package/src/index.ts +7 -2
  38. package/src/modules/Action.ts +1 -0
  39. package/src/modules/Animation.ts +171 -0
  40. package/src/modules/{Camera.ts → CameraView.ts} +2 -2
  41. package/src/modules/Effect.ts +127 -0
  42. package/src/modules/GameMode.ts +60 -0
  43. package/src/modules/Init.ts +104 -0
  44. package/src/modules/{Track.ts → Path.ts} +28 -21
  45. package/src/peer-stream.js +938 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer-stream.js","sourceRoot":"","sources":["../src/peer-stream.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "model-action",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "与三维交互api",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -1,10 +1,15 @@
1
1
  export { Action } from './modules/Action'
2
- export { TrackAction } from './modules/Track'
2
+ export { PathAction } from './modules/Path'
3
3
  export { PoiAction } from './modules/Poi'
4
4
  export { BuildingAction } from './modules/Building'
5
5
  export { EnvironmentAction } from './modules/Environment'
6
6
  export { RoutingAction } from './modules/Routing'
7
7
  export { StatusAction } from './modules/Status'
8
- export { CameraAction } from './modules/Camera'
8
+ export { CameraViewAction } from './modules/CameraView'
9
9
  export { FocusAction } from './modules/Focus'
10
10
  export { SceneAction } from './modules/Scene'
11
+ export { GameModeAction } from './modules/GameMode'
12
+ export { AnimationAction } from './modules/Animation'
13
+ export { EffectAction } from './modules/Effect'
14
+ export { InitAction } from './modules/Init'
15
+ export type { InitVideoOptions } from './modules/Init'
@@ -16,6 +16,7 @@ export class Action {
16
16
  */
17
17
  static sendParam<T extends SendParam>(param: T, msg: string = '') {
18
18
  console.log(`发送给三维|${msg}`, JSON.stringify(param));
19
+ //peer-stream 中已经把ps挂到window上了,为了不改peer-stream的代码,这里直接使用window.ps
19
20
  (window as any).ps?.emitMessage(JSON.stringify(param));
20
21
  }
21
22
  }
@@ -0,0 +1,171 @@
1
+ /**
2
+ * 动画控制操作方法
3
+ */
4
+ import { Action, SendParam } from "./Action";
5
+
6
+ // 动画操作类型
7
+ export type AnimationActionType = 'start' | 'stop' | 'pause' | 'restart' | 'speed' | 'revertInit';
8
+
9
+ // 动画类型
10
+ export type AnimationType = 'Gate' | 'Sequence' | string;
11
+
12
+ // 动画参数
13
+ export interface AnimationParam {
14
+ action: AnimationActionType;
15
+ type: AnimationType;
16
+ id?: string; // 动画ID,start 操作时必须传
17
+ isViewTo?: boolean; // 视角是否定位过去
18
+ speedRate?: number; // 快进倍数,值越大越快,越小越慢
19
+ }
20
+
21
+ // 动画模块类型
22
+ type AnimationModuleType = SendParam & {
23
+ cmd: "animation";
24
+ data: AnimationParam;
25
+ }
26
+
27
+ export class AnimationAction extends Action {
28
+ /**
29
+ * 开始动画
30
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
31
+ * @param id 动画ID,如 "DZ_L"、"InDoor"、"OutDoor" 等
32
+ * @param options 可选参数
33
+ * @param options.isViewTo 视角是否定位过去
34
+ * @param options.speedRate 快进倍数,值越大越快,越小越慢
35
+ */
36
+ static start(
37
+ type: AnimationType,
38
+ id: string,
39
+ options?: {
40
+ isViewTo?: boolean;
41
+ speedRate?: number;
42
+ }
43
+ ) {
44
+ const data: AnimationParam = {
45
+ action: 'start',
46
+ type,
47
+ id
48
+ };
49
+
50
+ if (options?.isViewTo !== undefined) {
51
+ data.isViewTo = options.isViewTo;
52
+ }
53
+
54
+ if (options?.speedRate !== undefined) {
55
+ data.speedRate = options.speedRate;
56
+ }
57
+
58
+ const param: AnimationModuleType = {
59
+ cmd: "animation",
60
+ data
61
+ };
62
+
63
+ this.sendParam(param, `开始动画 - type: ${type}, id: ${id}`);
64
+ }
65
+
66
+ /**
67
+ * 停止动画
68
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
69
+ */
70
+ static stop(type: AnimationType) {
71
+ const data: AnimationParam = {
72
+ action: 'stop',
73
+ type
74
+ };
75
+
76
+ const param: AnimationModuleType = {
77
+ cmd: "animation",
78
+ data
79
+ };
80
+
81
+ this.sendParam(param, `停止动画 - type: ${type}`);
82
+ }
83
+
84
+ /**
85
+ * 暂停动画
86
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
87
+ */
88
+ static pause(type: AnimationType) {
89
+ const data: AnimationParam = {
90
+ action: 'pause',
91
+ type
92
+ };
93
+
94
+ const param: AnimationModuleType = {
95
+ cmd: "animation",
96
+ data
97
+ };
98
+
99
+ this.sendParam(param, `暂停动画 - type: ${type}`);
100
+ }
101
+
102
+ /**
103
+ * 重新开始动画(从暂停点开始)
104
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
105
+ */
106
+ static restart(type: AnimationType) {
107
+ const data: AnimationParam = {
108
+ action: 'restart',
109
+ type
110
+ };
111
+
112
+ const param: AnimationModuleType = {
113
+ cmd: "animation",
114
+ data
115
+ };
116
+
117
+ this.sendParam(param, `重新开始动画 - type: ${type}`);
118
+ }
119
+
120
+ /**
121
+ * 快进/快退动画
122
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
123
+ * @param speedRate 快进倍数,<1.0 快退,>1.0 快进
124
+ */
125
+ static speed(type: AnimationType, speedRate: number) {
126
+ const data: AnimationParam = {
127
+ action: 'speed',
128
+ type,
129
+ speedRate
130
+ };
131
+
132
+ const param: AnimationModuleType = {
133
+ cmd: "animation",
134
+ data
135
+ };
136
+
137
+ this.sendParam(param, `调整动画速度 - type: ${type}, speedRate: ${speedRate}`);
138
+ }
139
+
140
+ /**
141
+ * 恢复初始状态
142
+ * @param type 动画类型,如 "Gate"、"Sequence" 等
143
+ * @param id 动画ID,如 "DZ_L"、"InDoor"、"OutDoor" 等
144
+ * @param options 可选参数
145
+ * @param options.isViewTo 视角是否定位过去
146
+ */
147
+ static revertInit(
148
+ type: AnimationType,
149
+ id: string,
150
+ options?: {
151
+ isViewTo?: boolean;
152
+ }
153
+ ) {
154
+ const data: AnimationParam = {
155
+ action: 'revertInit',
156
+ type,
157
+ id
158
+ };
159
+
160
+ if (options?.isViewTo !== undefined) {
161
+ data.isViewTo = options.isViewTo;
162
+ }
163
+
164
+ const param: AnimationModuleType = {
165
+ cmd: "animation",
166
+ data
167
+ };
168
+
169
+ this.sendParam(param, `恢复初始状态 - type: ${type}, id: ${id}`);
170
+ }
171
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 相机操作方法
2
+ * 相机视角操作方法
3
3
  */
4
4
  import { Action, SendParam } from "./Action";
5
5
 
@@ -26,7 +26,7 @@ type CameraViewType = SendParam & {
26
26
  };
27
27
  }
28
28
 
29
- export class CameraAction extends Action {
29
+ export class CameraViewAction extends Action {
30
30
  /**
31
31
  * 获取当前视角的信息,位置,旋转和臂长还有相机的视域角
32
32
  */
@@ -0,0 +1,127 @@
1
+ /**
2
+ * 效果控制操作方法
3
+ */
4
+ import { Action, SendParam } from "./Action";
5
+
6
+ // 效果类型
7
+ export type EffectType =
8
+ | 'Elevator' // 电梯效果
9
+ | 'PowerUsed' // 能耗管理
10
+ | 'P' // 停车场
11
+ | 'ElectronicFence' // 电子围栏
12
+ | 'MeetingRoom' // 会议室盒子
13
+ | 'Pipe' // 管线
14
+ | 'RoomArea' // 房间区域盒子
15
+ | 'EscapeRoute' // 逃生路线
16
+ | 'PeopleRoute' // 人员轨迹
17
+ | 'Area' // 区域效果
18
+ | string; // 允许其他自定义类型
19
+
20
+ // 效果操作类型
21
+ export type EffectActionType = '1' | '0'; // '1' = 显示, '0' = 隐藏
22
+
23
+ // 效果参数
24
+ export interface EffectParam {
25
+ action: EffectActionType;
26
+ type: EffectType;
27
+ place: string; // 效果所在的位置,项目约定
28
+ extraContent?: Record<string, any>; // 补充内容,非必须,项目预定
29
+ }
30
+
31
+ // 效果模块类型
32
+ type EffectModuleType = SendParam & {
33
+ cmd: "effect";
34
+ data: EffectParam;
35
+ }
36
+
37
+ export class EffectAction extends Action {
38
+ /**
39
+ * 显示效果
40
+ * @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
41
+ * @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
42
+ * @param extraContent 补充内容,非必须
43
+ */
44
+ static show(
45
+ type: EffectType,
46
+ place: string,
47
+ extraContent?: Record<string, any>
48
+ ) {
49
+ const data: EffectParam = {
50
+ action: '1',
51
+ type,
52
+ place
53
+ };
54
+
55
+ if (extraContent) {
56
+ data.extraContent = extraContent;
57
+ }
58
+
59
+ const param: EffectModuleType = {
60
+ cmd: "effect",
61
+ data
62
+ };
63
+
64
+ this.sendParam(param, `显示效果 - type: ${type}, place: ${place}`);
65
+ }
66
+
67
+ /**
68
+ * 隐藏效果
69
+ * @param type 效果类型,如 "Elevator"、"PowerUsed"、"P" 等
70
+ * @param place 效果所在的位置,项目约定,如 "ZHL"、"A"、"ZHL-1F" 等
71
+ * @param extraContent 补充内容,非必须
72
+ */
73
+ static hide(
74
+ type: EffectType,
75
+ place: string,
76
+ extraContent?: Record<string, any>
77
+ ) {
78
+ const data: EffectParam = {
79
+ action: '0',
80
+ type,
81
+ place
82
+ };
83
+
84
+ if (extraContent) {
85
+ data.extraContent = extraContent;
86
+ }
87
+
88
+ const param: EffectModuleType = {
89
+ cmd: "effect",
90
+ data
91
+ };
92
+
93
+ this.sendParam(param, `隐藏效果 - type: ${type}, place: ${place}`);
94
+ }
95
+
96
+ /**
97
+ * 通用效果控制方法
98
+ * @param action 操作类型:'1' = 显示,'0' = 隐藏
99
+ * @param type 效果类型
100
+ * @param place 效果所在的位置
101
+ * @param extraContent 补充内容,非必须
102
+ */
103
+ static control(
104
+ action: EffectActionType,
105
+ type: EffectType,
106
+ place: string,
107
+ extraContent?: Record<string, any>
108
+ ) {
109
+ const data: EffectParam = {
110
+ action,
111
+ type,
112
+ place
113
+ };
114
+
115
+ if (extraContent) {
116
+ data.extraContent = extraContent;
117
+ }
118
+
119
+ const param: EffectModuleType = {
120
+ cmd: "effect",
121
+ data
122
+ };
123
+
124
+ const actionText = action === '1' ? '显示' : '隐藏';
125
+ this.sendParam(param, `${actionText}效果 - type: ${type}, place: ${place}`);
126
+ }
127
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * 游戏模式切换
3
+ */
4
+ import { Action, SendParam } from "./Action";
5
+
6
+ // 游戏模式类型
7
+ export type GameMode = 'Normal' | 'Edit' | 'Measure';
8
+
9
+ // 模式操作类型
10
+ type GameModeActionType = 'set' | 'get';
11
+
12
+ type GameModeParamType = SendParam & {
13
+ cmd: "gameMode";
14
+ data: {
15
+ action: GameModeActionType;
16
+ mode?: GameMode;
17
+ };
18
+ }
19
+
20
+ export class GameModeAction extends Action {
21
+ /**
22
+ * 切换游戏模式
23
+ * @param mode 游戏模式:Normal(普通模式) | Edit(编辑模式) | Measure(绘制模式)
24
+ */
25
+ static setMode(mode: GameMode) {
26
+ const data: {
27
+ action: 'set';
28
+ mode: GameMode;
29
+ } = {
30
+ action: 'set',
31
+ mode
32
+ };
33
+
34
+ const param: GameModeParamType = {
35
+ cmd: "gameMode",
36
+ data
37
+ };
38
+
39
+ const modeDesc = mode === 'Normal' ? '普通模式' : mode === 'Edit' ? '编辑模式' : '绘制模式';
40
+ this.sendParam(param, `切换游戏模式 - ${modeDesc}`);
41
+ }
42
+
43
+ /**
44
+ * 获取当前游戏模式
45
+ */
46
+ static getMode() {
47
+ const data: {
48
+ action: 'get';
49
+ } = {
50
+ action: 'get'
51
+ };
52
+
53
+ const param: GameModeParamType = {
54
+ cmd: "gameMode",
55
+ data
56
+ };
57
+
58
+ this.sendParam(param, '获取当前游戏模式');
59
+ }
60
+ }
@@ -0,0 +1,104 @@
1
+ /**
2
+ * 视频初始化操作方法
3
+ */
4
+ import { Action } from "./Action";
5
+ // 导入 peer-stream.js 以确保自定义元素在使用前被注册
6
+ import "../peer-stream.js";
7
+
8
+ // 初始化配置选项
9
+ export interface InitVideoOptions {
10
+ /** 视频容器元素(DOM元素或ref) */
11
+ container: HTMLElement;
12
+ /** WebSocket连接地址 */
13
+ wsUrl: string;
14
+ /** 消息回调函数 */
15
+ onMessage?: (data: any) => void;
16
+ /** 播放开始回调函数 */
17
+ onPlaying?: () => void;
18
+ /** 排队人数变化回调函数 */
19
+ onQueueChange?: (seq: number) => void;
20
+ /** 视频元数据加载完成回调函数 */
21
+ onLoadedMetadata?: () => void;
22
+ }
23
+
24
+ export class InitAction extends Action {
25
+ /**
26
+ * 初始化视频流
27
+ * @param options 初始化配置选项
28
+ * @returns HTMLVideoElement 返回创建的video元素
29
+ */
30
+ static initVideo(options: InitVideoOptions): HTMLVideoElement {
31
+ // 创建 peer-stream video 元素
32
+ const ps = document.createElement("video", { is: "peer-stream" }) as any;
33
+
34
+ // 设置样式
35
+ ps.style.width = "100%";
36
+ ps.style.height = "100%";
37
+ ps.style.backgroundRepeat = "no-repeat";
38
+ ps.style.backgroundSize = "cover";
39
+ ps.style.backgroundPosition = "center";
40
+ ps.style.left = "0px";
41
+ ps.style.top = "0px";
42
+ ps.style.position = "absolute";
43
+
44
+ // 设置 WebSocket 连接地址
45
+ ps.id = options.wsUrl;
46
+
47
+ // 将 video 元素添加到容器
48
+ options.container.appendChild(ps);
49
+
50
+ // 注册键盘和鼠标事件
51
+ if (ps.registerKeyboardEvents) {
52
+ ps.registerKeyboardEvents();
53
+ }
54
+ if (ps.registerMouseHoverEvents) {
55
+ ps.registerMouseHoverEvents();
56
+ }
57
+
58
+ // 监听消息事件
59
+ if (options.onMessage) {
60
+ ps.addEventListener("message", (e: any) => {
61
+ try {
62
+ const data = JSON.parse(e.detail);
63
+ options.onMessage!(data);
64
+ } catch (error) {
65
+ console.error("解析消息失败:", error);
66
+ }
67
+ });
68
+ }
69
+
70
+ // 监听元数据加载完成
71
+ ps.addEventListener("loadedmetadata", () => {
72
+ if (ps) {
73
+ ps.style.objectFit = "fill";
74
+ ps.style.width = "100%";
75
+ ps.style.height = "100%";
76
+ }
77
+ options.onLoadedMetadata?.();
78
+ });
79
+
80
+ // 监听排队人数变化
81
+ if (ps.ws && options.onQueueChange) {
82
+ ps.ws.addEventListener('message', (e: MessageEvent) => {
83
+ try {
84
+ const data = JSON.parse(e.data);
85
+ if (data.type === "playerqueue") {
86
+ options.onQueueChange!(data.seq);
87
+ }
88
+ } catch (error) {
89
+ // 忽略解析错误,可能不是 JSON 数据
90
+ }
91
+ });
92
+ }
93
+
94
+ // 监听播放开始事件
95
+ if (options.onPlaying) {
96
+ ps.addEventListener("playing", () => {
97
+ options.onPlaying!();
98
+ });
99
+ }
100
+
101
+ return ps;
102
+ }
103
+ }
104
+