model-action 2.1.0 → 2.2.1
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.
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/Action.d.ts +16 -4
- package/dist/modules/Action.d.ts.map +1 -1
- package/dist/modules/Action.js +82 -7
- package/dist/modules/Action.js.map +1 -1
- package/dist/modules/Init.d.ts.map +1 -1
- package/dist/modules/Init.js +9 -20
- package/dist/modules/Init.js.map +1 -1
- package/dist/modules/SceneAsset.d.ts +115 -0
- package/dist/modules/SceneAsset.d.ts.map +1 -0
- package/dist/modules/SceneAsset.js +97 -0
- package/dist/modules/SceneAsset.js.map +1 -0
- package/dist/modules/SingleMesh.d.ts +54 -0
- package/dist/modules/SingleMesh.d.ts.map +1 -0
- package/dist/modules/SingleMesh.js +33 -0
- package/dist/modules/SingleMesh.js.map +1 -0
- package/dist/modules/Window.d.ts +63 -10
- package/dist/modules/Window.d.ts.map +1 -1
- package/dist/modules/Window.js +30 -27
- package/dist/modules/Window.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +33 -0
- package/src/modules/Action.ts +99 -11
- package/src/modules/Init.ts +8 -22
- package/src/modules/SceneAsset.ts +242 -0
- package/src/modules/SingleMesh.ts +89 -0
- package/src/modules/Window.ts +128 -0
package/dist/index.d.ts
CHANGED
|
@@ -8,10 +8,16 @@ export { StatusAction } from './modules/Status';
|
|
|
8
8
|
export { CameraViewAction } from './modules/CameraView';
|
|
9
9
|
export { FocusAction } from './modules/Focus';
|
|
10
10
|
export { SceneAction } from './modules/Scene';
|
|
11
|
+
export { SceneAssetAction } from './modules/SceneAsset';
|
|
11
12
|
export { GameModeAction } from './modules/GameMode';
|
|
12
13
|
export { AnimationAction } from './modules/Animation';
|
|
13
14
|
export { EffectAction } from './modules/Effect';
|
|
14
15
|
export { InitAction } from './modules/Init';
|
|
15
16
|
export { VideoFusionAction } from './modules/VideoFusion';
|
|
17
|
+
export { WindowAction } from './modules/Window';
|
|
18
|
+
export { SingleMeshAction } from './modules/SingleMesh';
|
|
19
|
+
export type { SceneAssetActionType, SceneAssetType, RoomMapLocationParam, PoiMapLocationParam, SceneAssetMapLocationPayload, SceneAssetPayload, SceneAssetOnAssetSelectedData, SceneAssetOnEditAssetData, SceneAssetPushData, SceneAssetPushMessage } from './modules/SceneAsset';
|
|
20
|
+
export type { WindowActionType, WindowCrudAction, WindowPopType, WindowDetailRowType, WindowDetailParam, WindowInfo, WindowPayload } from './modules/Window';
|
|
21
|
+
export type { SingleMeshOp, SingleMeshSceneType, SingleMeshDeviceModelType, SingleMeshDeviceCategory, SingleMeshDevice, SingleMeshScene, SingleMeshPayload } from './modules/SingleMesh';
|
|
16
22
|
export type { InitVideoOptions } from './modules/Init';
|
|
17
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EACR,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,aAAa,EAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACR,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACpB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -8,9 +8,12 @@ export { StatusAction } from './modules/Status';
|
|
|
8
8
|
export { CameraViewAction } from './modules/CameraView';
|
|
9
9
|
export { FocusAction } from './modules/Focus';
|
|
10
10
|
export { SceneAction } from './modules/Scene';
|
|
11
|
+
export { SceneAssetAction } from './modules/SceneAsset';
|
|
11
12
|
export { GameModeAction } from './modules/GameMode';
|
|
12
13
|
export { AnimationAction } from './modules/Animation';
|
|
13
14
|
export { EffectAction } from './modules/Effect';
|
|
14
15
|
export { InitAction } from './modules/Init';
|
|
15
16
|
export { VideoFusionAction } from './modules/VideoFusion';
|
|
17
|
+
export { WindowAction } from './modules/Window';
|
|
18
|
+
export { SingleMeshAction } from './modules/SingleMesh';
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/modules/Action.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface SendParam {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class Action {
|
|
10
10
|
private static pendingRequests;
|
|
11
|
+
/** 正在组装的分包(同一时间仅处理一条分包流;并行多条需三维在每段携带 requestId,见 tryExtractRequestId) */
|
|
12
|
+
private static chunkAssembly;
|
|
11
13
|
private static defaultTimeout;
|
|
12
14
|
/**
|
|
13
15
|
* 生成唯一请求ID
|
|
@@ -18,13 +20,23 @@ export declare class Action {
|
|
|
18
20
|
* 注意:三维系统保证在响应中返回 requestId,因此通过 requestId 精确匹配请求
|
|
19
21
|
* @param responseData 响应数据,必须包含 requestId 字段
|
|
20
22
|
*/
|
|
23
|
+
/**
|
|
24
|
+
* 从 JSON 片段中尽早解析 requestId(用于日志;分包并行时需首段或中段出现该字段)
|
|
25
|
+
*/
|
|
26
|
+
private static tryExtractRequestId;
|
|
27
|
+
/**
|
|
28
|
+
* 处理 peer-stream 收到的一条原始消息(支持未分包 JSON 与 -S/-I/-E 分包)
|
|
29
|
+
* @param raw 字符串:整段 JSON,或以 -S / -I / -E 开头的分包片段
|
|
30
|
+
* @param onMessage 与 Init 中一致的业务回调(收到完整一条 JSON 后调用一次)
|
|
31
|
+
*/
|
|
32
|
+
static handleIncomingRawMessage(raw: string | object, onMessage?: (data: any) => void): void;
|
|
21
33
|
static handleResponse(responseData: any): void;
|
|
22
34
|
/**
|
|
23
35
|
* 发送到model
|
|
24
|
-
* @param
|
|
25
|
-
* @param
|
|
26
|
-
* @param
|
|
27
|
-
* @returns {
|
|
36
|
+
* @param param 发送的参数
|
|
37
|
+
* @param msg 打印的信息
|
|
38
|
+
* @param timeout 超时时间(毫秒),默认 10 秒
|
|
39
|
+
* @returns 收到响应时 resolve 为三维数据;超时时 resolve `{ timedOut: true, requestId }`(不 reject)
|
|
28
40
|
*/
|
|
29
41
|
static sendParam<T extends SendParam>(param: T, msg?: string, timeout?: number): Promise<any>;
|
|
30
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;
|
|
1
|
+
{"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,SAAS;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QACF,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACtB,CAAC;CACL;AAeD,qBAAa,MAAM;IAEf,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;IAEnE,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAG1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IAEtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC;;;;OAIG;IACH;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAKlC;;;;OAIG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;IAkErF,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG;IAgBvC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAAW,EAChB,OAAO,GAAE,MAA4B,GACtC,OAAO,CAAC,GAAG,CAAC;CAqClB"}
|
package/dist/modules/Action.js
CHANGED
|
@@ -10,6 +10,79 @@ export class Action {
|
|
|
10
10
|
* 注意:三维系统保证在响应中返回 requestId,因此通过 requestId 精确匹配请求
|
|
11
11
|
* @param responseData 响应数据,必须包含 requestId 字段
|
|
12
12
|
*/
|
|
13
|
+
/**
|
|
14
|
+
* 从 JSON 片段中尽早解析 requestId(用于日志;分包并行时需首段或中段出现该字段)
|
|
15
|
+
*/
|
|
16
|
+
static tryExtractRequestId(jsonPrefix) {
|
|
17
|
+
const m = jsonPrefix.match(/"requestId"\s*:\s*"([^"]+)"/);
|
|
18
|
+
return m ? m[1] : null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 处理 peer-stream 收到的一条原始消息(支持未分包 JSON 与 -S/-I/-E 分包)
|
|
22
|
+
* @param raw 字符串:整段 JSON,或以 -S / -I / -E 开头的分包片段
|
|
23
|
+
* @param onMessage 与 Init 中一致的业务回调(收到完整一条 JSON 后调用一次)
|
|
24
|
+
*/
|
|
25
|
+
static handleIncomingRawMessage(raw, onMessage) {
|
|
26
|
+
if (typeof raw !== 'string') {
|
|
27
|
+
const data = raw;
|
|
28
|
+
this.handleResponse(data);
|
|
29
|
+
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const isChunk = raw.startsWith('-S') || raw.startsWith('-I') || raw.startsWith('-E');
|
|
33
|
+
if (!isChunk) {
|
|
34
|
+
let data;
|
|
35
|
+
try {
|
|
36
|
+
data = JSON.parse(raw);
|
|
37
|
+
}
|
|
38
|
+
catch (e) {
|
|
39
|
+
console.error('解析消息失败:', e);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.handleResponse(data);
|
|
43
|
+
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const tag = raw.slice(0, 2);
|
|
47
|
+
const body = raw.slice(2);
|
|
48
|
+
if (tag === '-S') {
|
|
49
|
+
if (this.chunkAssembly) {
|
|
50
|
+
console.warn('分包消息: 收到新的 -S,丢弃未拼完的上一包');
|
|
51
|
+
}
|
|
52
|
+
this.chunkAssembly = { buffer: body, requestId: this.tryExtractRequestId(body) };
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (tag === '-I') {
|
|
56
|
+
if (!this.chunkAssembly) {
|
|
57
|
+
console.error('分包消息: 收到 -I 但缺少前置 -S');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.chunkAssembly.buffer += body;
|
|
61
|
+
if (!this.chunkAssembly.requestId) {
|
|
62
|
+
this.chunkAssembly.requestId = this.tryExtractRequestId(this.chunkAssembly.buffer);
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (tag === '-E') {
|
|
67
|
+
if (!this.chunkAssembly) {
|
|
68
|
+
console.error('分包消息: 收到 -E 但缺少前置 -S');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
this.chunkAssembly.buffer += body;
|
|
72
|
+
const fullJson = this.chunkAssembly.buffer;
|
|
73
|
+
this.chunkAssembly = null;
|
|
74
|
+
let data;
|
|
75
|
+
try {
|
|
76
|
+
data = JSON.parse(fullJson);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
console.error('分包消息 JSON 解析失败:', e);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.handleResponse(data);
|
|
83
|
+
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
13
86
|
static handleResponse(responseData) {
|
|
14
87
|
// 通过 requestId 精确匹配请求(三维系统保证返回 requestId)
|
|
15
88
|
if (responseData.requestId && this.pendingRequests.has(responseData.requestId)) {
|
|
@@ -27,10 +100,10 @@ export class Action {
|
|
|
27
100
|
}
|
|
28
101
|
/**
|
|
29
102
|
* 发送到model
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
33
|
-
* @returns {
|
|
103
|
+
* @param param 发送的参数
|
|
104
|
+
* @param msg 打印的信息
|
|
105
|
+
* @param timeout 超时时间(毫秒),默认 10 秒
|
|
106
|
+
* @returns 收到响应时 resolve 为三维数据;超时时 resolve `{ timedOut: true, requestId }`(不 reject)
|
|
34
107
|
*/
|
|
35
108
|
static sendParam(param, msg = '', timeout = this.defaultTimeout) {
|
|
36
109
|
return new Promise((resolve, reject) => {
|
|
@@ -40,10 +113,10 @@ export class Action {
|
|
|
40
113
|
// 在请求参数中添加 requestId
|
|
41
114
|
const paramWithId = Object.assign(Object.assign({}, param), { requestId });
|
|
42
115
|
console.log(`发送给三维|${msg}`, JSON.stringify(paramWithId));
|
|
43
|
-
// 创建超时定时器
|
|
44
116
|
const timeoutHandle = setTimeout(() => {
|
|
45
117
|
this.pendingRequests.delete(requestId);
|
|
46
|
-
|
|
118
|
+
console.warn(`请求等待超时(三维可能不返回): ${msg}`);
|
|
119
|
+
resolve({ timedOut: true, requestId });
|
|
47
120
|
}, timeout);
|
|
48
121
|
// 存储待处理的请求(通过 requestId 匹配)
|
|
49
122
|
this.pendingRequests.set(requestId, {
|
|
@@ -66,6 +139,8 @@ export class Action {
|
|
|
66
139
|
}
|
|
67
140
|
// 存储待处理的请求,key 为 requestId
|
|
68
141
|
Action.pendingRequests = new Map();
|
|
142
|
+
/** 正在组装的分包(同一时间仅处理一条分包流;并行多条需三维在每段携带 requestId,见 tryExtractRequestId) */
|
|
143
|
+
Action.chunkAssembly = null;
|
|
69
144
|
// 默认超时时间(毫秒)
|
|
70
|
-
Action.defaultTimeout =
|
|
145
|
+
Action.defaultTimeout = 10000;
|
|
71
146
|
//# sourceMappingURL=Action.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Init.d.ts","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC7B,wBAAwB;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa;IACb,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iBAAiB;IACjB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;CAsEhE"}
|
package/dist/modules/Init.js
CHANGED
|
@@ -33,26 +33,15 @@ export class InitAction extends Action {
|
|
|
33
33
|
if (ps.registerMouseHoverEvents) {
|
|
34
34
|
ps.registerMouseHoverEvents();
|
|
35
35
|
}
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
//视频融合初始化的返回。我这里先自动处理一波,外面可以不处理了
|
|
46
|
-
// if (data.code === '0' && data.cmd === 'videoFusion' && data.message.includes("初始化")) {
|
|
47
|
-
// //获取当前所有融合点位ID
|
|
48
|
-
// VideoFusionAction.get();
|
|
49
|
-
// }
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.error("解析消息失败:", error);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
36
|
+
// 监听消息事件(含三维大包 -S/-I/-E 分包拼包后,再 handleResponse + onMessage)
|
|
37
|
+
ps.addEventListener("message", (e) => {
|
|
38
|
+
try {
|
|
39
|
+
Action.handleIncomingRawMessage(e.detail, options.onMessage);
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error("解析消息失败:", error);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
56
45
|
// 监听元数据加载完成
|
|
57
46
|
ps.addEventListener("loadedmetadata", () => {
|
|
58
47
|
var _a;
|
package/dist/modules/Init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,oCAAoC;AACpC,OAAO,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Init.js","sourceRoot":"","sources":["../../src/modules/Init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 场景资产操作方法(上图、房间/资产与三维场景绑定等)
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
/** 前端发往三维的 action */
|
|
6
|
+
export type SceneAssetActionType = "mapLocation" | "editSave" | "editCancel" | "disableSceneEdit";
|
|
7
|
+
/** 资产大类:房间、POI 等 */
|
|
8
|
+
export type SceneAssetType = "Room" | "POI" | string;
|
|
9
|
+
/** 地图定位 — 房间在单层下的条目 */
|
|
10
|
+
export interface RoomMapLocationParam {
|
|
11
|
+
/** 房间等业务唯一标识,必须 */
|
|
12
|
+
id: string;
|
|
13
|
+
/** 三维场景内唯一 id,初始可空,上图后由三维回写 */
|
|
14
|
+
sceneId?: string;
|
|
15
|
+
/** 展示名称,必须 */
|
|
16
|
+
name: string;
|
|
17
|
+
/** 如 `X=0.0,Y=0.0,Z=0.0`;空或省略则使用楼层分层默认定位 */
|
|
18
|
+
location?: string;
|
|
19
|
+
description?: string;
|
|
20
|
+
/** 是否已上图;也可由后台根据坐标是否为空推断 */
|
|
21
|
+
alreadyMap?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/** POI 打点 — 单条参数(与 Room 的 params 结构不同) */
|
|
24
|
+
export interface PoiMapLocationParam {
|
|
25
|
+
/** POI 子类型,用于区分展示样式,如 Camera */
|
|
26
|
+
type: string;
|
|
27
|
+
/** 非必须;前端有唯一值可传给三维,否则由三维生成并回传 */
|
|
28
|
+
sceneId?: string;
|
|
29
|
+
/** 业务关联 ID,必须 */
|
|
30
|
+
linkId: string;
|
|
31
|
+
/** 有则建议传入 */
|
|
32
|
+
name?: string;
|
|
33
|
+
/** 非必须;不传时三维可取当前鼠标在场景中的坐标 */
|
|
34
|
+
location?: string;
|
|
35
|
+
}
|
|
36
|
+
export type SceneAssetMapLocationPayload = {
|
|
37
|
+
action: "mapLocation";
|
|
38
|
+
type: "Room";
|
|
39
|
+
buildingId: string;
|
|
40
|
+
floor: string;
|
|
41
|
+
params: RoomMapLocationParam[];
|
|
42
|
+
} | {
|
|
43
|
+
action: "mapLocation";
|
|
44
|
+
type: "POI";
|
|
45
|
+
/** 不传或空:室外打点;传入时三维会与当前分层校验 */
|
|
46
|
+
buildingId?: string;
|
|
47
|
+
floor?: string;
|
|
48
|
+
params: PoiMapLocationParam[];
|
|
49
|
+
};
|
|
50
|
+
export type SceneAssetPayload = SceneAssetMapLocationPayload | {
|
|
51
|
+
action: "editSave";
|
|
52
|
+
type: SceneAssetType;
|
|
53
|
+
/** 三维返回的 sceneId */
|
|
54
|
+
id: string;
|
|
55
|
+
} | {
|
|
56
|
+
action: "editCancel";
|
|
57
|
+
type: SceneAssetType;
|
|
58
|
+
id: string;
|
|
59
|
+
} | {
|
|
60
|
+
action: "disableSceneEdit";
|
|
61
|
+
};
|
|
62
|
+
/** 三维推送:编辑模式下选中资产,前端可据此弹出编辑框 */
|
|
63
|
+
export interface SceneAssetOnAssetSelectedData {
|
|
64
|
+
action: "OnAssetSelected";
|
|
65
|
+
type: SceneAssetType;
|
|
66
|
+
/** POI 场景下为前端下发的 linkId */
|
|
67
|
+
id: string;
|
|
68
|
+
/** 三维生成的唯一 id,需入库 */
|
|
69
|
+
sceneId: string;
|
|
70
|
+
/** POI 所在位置描述,需入库与三维一致 */
|
|
71
|
+
place?: string;
|
|
72
|
+
location: string;
|
|
73
|
+
}
|
|
74
|
+
/** 三维推送:单个资产修改后的结果 */
|
|
75
|
+
export interface SceneAssetOnEditAssetData {
|
|
76
|
+
action: "OnEditAsset";
|
|
77
|
+
type: SceneAssetType;
|
|
78
|
+
id: string;
|
|
79
|
+
sceneId: string;
|
|
80
|
+
location: string;
|
|
81
|
+
}
|
|
82
|
+
export type SceneAssetPushData = SceneAssetOnAssetSelectedData | SceneAssetOnEditAssetData;
|
|
83
|
+
/** 三维经 sceneAsset 推送的通用消息壳(无 requestId) */
|
|
84
|
+
export interface SceneAssetPushMessage<T extends SceneAssetPushData = SceneAssetPushData> {
|
|
85
|
+
code: string;
|
|
86
|
+
message: string;
|
|
87
|
+
cmd: "sceneAsset";
|
|
88
|
+
data: T;
|
|
89
|
+
}
|
|
90
|
+
export declare class SceneAssetAction extends Action {
|
|
91
|
+
/**
|
|
92
|
+
* 房间等在指定建筑、楼层上地图定位(上图)
|
|
93
|
+
* @param buildingId 建筑唯一 ID
|
|
94
|
+
* @param floor 楼层,如 1F、B1
|
|
95
|
+
*/
|
|
96
|
+
static mapRoomLocation(buildingId: string, floor: string, params: RoomMapLocationParam[]): Promise<any>;
|
|
97
|
+
/**
|
|
98
|
+
* POI 打点上图。不传 `buildingId`、`floor`(或仅空白)视为室外;
|
|
99
|
+
* 传入时三维会与当前分层匹配,不匹配则打点失败,前端需提示先分层到目标楼层。
|
|
100
|
+
*/
|
|
101
|
+
static mapPoiLocation(params: PoiMapLocationParam[], buildingId?: string, floor?: string): Promise<any>;
|
|
102
|
+
/**
|
|
103
|
+
* 前端编辑框「保存」后通知三维
|
|
104
|
+
* @param id 三维返回的 sceneId
|
|
105
|
+
*/
|
|
106
|
+
static editSave(id: string, type?: SceneAssetType): Promise<any>;
|
|
107
|
+
/**
|
|
108
|
+
* 前端编辑框「取消」后通知三维
|
|
109
|
+
* @param id 三维返回的 sceneId
|
|
110
|
+
*/
|
|
111
|
+
static editCancel(id: string, type?: SceneAssetType): Promise<any>;
|
|
112
|
+
/** 退出整个资产管理编辑模块 */
|
|
113
|
+
static disableSceneEdit(): Promise<any>;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=SceneAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneAsset.d.ts","sourceRoot":"","sources":["../../src/modules/SceneAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 场景资产操作方法(上图、房间/资产与三维场景绑定等)
|
|
3
|
+
*/
|
|
4
|
+
import { Action } from "./Action";
|
|
5
|
+
function appendPoiBuildingFloor(data, buildingId, floor) {
|
|
6
|
+
const b = buildingId === null || buildingId === void 0 ? void 0 : buildingId.trim();
|
|
7
|
+
const f = floor === null || floor === void 0 ? void 0 : floor.trim();
|
|
8
|
+
if (b)
|
|
9
|
+
data.buildingId = b;
|
|
10
|
+
if (f)
|
|
11
|
+
data.floor = f;
|
|
12
|
+
}
|
|
13
|
+
export class SceneAssetAction extends Action {
|
|
14
|
+
/**
|
|
15
|
+
* 房间等在指定建筑、楼层上地图定位(上图)
|
|
16
|
+
* @param buildingId 建筑唯一 ID
|
|
17
|
+
* @param floor 楼层,如 1F、B1
|
|
18
|
+
*/
|
|
19
|
+
static mapRoomLocation(buildingId, floor, params) {
|
|
20
|
+
const data = {
|
|
21
|
+
action: "mapLocation",
|
|
22
|
+
type: "Room",
|
|
23
|
+
buildingId,
|
|
24
|
+
floor,
|
|
25
|
+
params
|
|
26
|
+
};
|
|
27
|
+
const sendParam = {
|
|
28
|
+
cmd: "sceneAsset",
|
|
29
|
+
data
|
|
30
|
+
};
|
|
31
|
+
return this.sendParam(sendParam, `场景资产房间上图 - buildingId: ${buildingId} floor: ${floor}`);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* POI 打点上图。不传 `buildingId`、`floor`(或仅空白)视为室外;
|
|
35
|
+
* 传入时三维会与当前分层匹配,不匹配则打点失败,前端需提示先分层到目标楼层。
|
|
36
|
+
*/
|
|
37
|
+
static mapPoiLocation(params, buildingId, floor) {
|
|
38
|
+
const data = {
|
|
39
|
+
action: "mapLocation",
|
|
40
|
+
type: "POI",
|
|
41
|
+
params
|
|
42
|
+
};
|
|
43
|
+
appendPoiBuildingFloor(data, buildingId, floor);
|
|
44
|
+
const sendParam = {
|
|
45
|
+
cmd: "sceneAsset",
|
|
46
|
+
data
|
|
47
|
+
};
|
|
48
|
+
const scope = (buildingId === null || buildingId === void 0 ? void 0 : buildingId.trim()) && (floor === null || floor === void 0 ? void 0 : floor.trim())
|
|
49
|
+
? `buildingId: ${buildingId} floor: ${floor}`
|
|
50
|
+
: "室外";
|
|
51
|
+
return this.sendParam(sendParam, `场景资产 POI 上图 - ${scope}`);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 前端编辑框「保存」后通知三维
|
|
55
|
+
* @param id 三维返回的 sceneId
|
|
56
|
+
*/
|
|
57
|
+
static editSave(id, type = "Room") {
|
|
58
|
+
const data = {
|
|
59
|
+
action: "editSave",
|
|
60
|
+
type,
|
|
61
|
+
id
|
|
62
|
+
};
|
|
63
|
+
const sendParam = {
|
|
64
|
+
cmd: "sceneAsset",
|
|
65
|
+
data
|
|
66
|
+
};
|
|
67
|
+
return this.sendParam(sendParam, `场景资产编辑保存 - ${type} sceneId: ${id}`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 前端编辑框「取消」后通知三维
|
|
71
|
+
* @param id 三维返回的 sceneId
|
|
72
|
+
*/
|
|
73
|
+
static editCancel(id, type = "Room") {
|
|
74
|
+
const data = {
|
|
75
|
+
action: "editCancel",
|
|
76
|
+
type,
|
|
77
|
+
id
|
|
78
|
+
};
|
|
79
|
+
const sendParam = {
|
|
80
|
+
cmd: "sceneAsset",
|
|
81
|
+
data
|
|
82
|
+
};
|
|
83
|
+
return this.sendParam(sendParam, `场景资产编辑取消 - ${type} sceneId: ${id}`);
|
|
84
|
+
}
|
|
85
|
+
/** 退出整个资产管理编辑模块 */
|
|
86
|
+
static disableSceneEdit() {
|
|
87
|
+
const data = {
|
|
88
|
+
action: "disableSceneEdit"
|
|
89
|
+
};
|
|
90
|
+
const sendParam = {
|
|
91
|
+
cmd: "sceneAsset",
|
|
92
|
+
data
|
|
93
|
+
};
|
|
94
|
+
return this.sendParam(sendParam, "退出场景资产编辑模块");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=SceneAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneAsset.js","sourceRoot":"","sources":["../../src/modules/SceneAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 模型单体化:将指定模型转为可操作实例,支持 init / add / remove。
|
|
3
|
+
* POI 替代方案请走 POI 接口;本接口生成的是场景内模型实例。
|
|
4
|
+
*/
|
|
5
|
+
import { Action } from "./Action";
|
|
6
|
+
export type SingleMeshOp = "init" | "add" | "remove";
|
|
7
|
+
/**
|
|
8
|
+
* 接口使用场景区分:Normal 通用;JF 等由项目约定。
|
|
9
|
+
* 无特殊场景可不传,三维按通用处理。
|
|
10
|
+
*/
|
|
11
|
+
export type SingleMeshSceneType = "Normal" | "JF" | string;
|
|
12
|
+
/** 设备模型类型,如服务器、交换机,项目约定 */
|
|
13
|
+
export type SingleMeshDeviceModelType = "Service" | "Switch" | string;
|
|
14
|
+
/** 设备类别:机柜 | 机柜内设备 等 */
|
|
15
|
+
export type SingleMeshDeviceCategory = "Cabinet" | "CDevice" | string;
|
|
16
|
+
export interface SingleMeshDevice {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
type: SingleMeshDeviceModelType;
|
|
20
|
+
/** 非必须,内置可补全 */
|
|
21
|
+
category?: SingleMeshDeviceCategory;
|
|
22
|
+
/** 如机柜内设备填所属机柜 id */
|
|
23
|
+
parentId?: string;
|
|
24
|
+
parentCategory?: SingleMeshDeviceCategory;
|
|
25
|
+
/** 在父设备上的槽口,机柜内设备按项目必传 */
|
|
26
|
+
socketOnParent?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface SingleMeshScene {
|
|
29
|
+
/** 场景/机房编码,项目约定;不传则当前场景 */
|
|
30
|
+
sceneCode?: string;
|
|
31
|
+
sceneName?: string;
|
|
32
|
+
devices: SingleMeshDevice[];
|
|
33
|
+
}
|
|
34
|
+
export type SingleMeshPayload = {
|
|
35
|
+
action: "add";
|
|
36
|
+
scenes: SingleMeshScene[];
|
|
37
|
+
sceneType?: SingleMeshSceneType;
|
|
38
|
+
} | {
|
|
39
|
+
action: "init" | "remove";
|
|
40
|
+
scenes: SingleMeshScene[];
|
|
41
|
+
};
|
|
42
|
+
export declare class SingleMeshAction extends Action {
|
|
43
|
+
private static emit;
|
|
44
|
+
/** 初始化场景内单体化数据 */
|
|
45
|
+
static init(scenes: SingleMeshScene[]): Promise<any>;
|
|
46
|
+
/**
|
|
47
|
+
* 增加单体化设备/模型
|
|
48
|
+
* @param sceneType 非必须;机房等特殊场景传如 JF,默认不传为通用 Normal
|
|
49
|
+
*/
|
|
50
|
+
static add(scenes: SingleMeshScene[], sceneType?: SingleMeshSceneType): Promise<any>;
|
|
51
|
+
/** 移除单体化实例 */
|
|
52
|
+
static remove(scenes: SingleMeshScene[]): Promise<any>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=SingleMesh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleMesh.d.ts","sourceRoot":"","sources":["../../src/modules/SingleMesh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;AAE3D,2BAA2B;AAC3B,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtE,wBAAwB;AACxB,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,yBAAyB,CAAC;IAChC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC5B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GACvB;IACI,MAAM,EAAE,KAAK,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACnC,GACD;IACI,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC;AAOR,qBAAa,gBAAiB,SAAQ,MAAM;IACxC,OAAO,CAAC,MAAM,CAAC,IAAI;IAOnB,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE;IAIrC;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,CAAC,EAAE,mBAAmB;IAWrE,cAAc;IACd,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE;CAG1C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 模型单体化:将指定模型转为可操作实例,支持 init / add / remove。
|
|
3
|
+
* POI 替代方案请走 POI 接口;本接口生成的是场景内模型实例。
|
|
4
|
+
*/
|
|
5
|
+
import { Action } from "./Action";
|
|
6
|
+
export class SingleMeshAction extends Action {
|
|
7
|
+
static emit(data, log) {
|
|
8
|
+
return this.sendParam({ cmd: "singleMesh", data }, log);
|
|
9
|
+
}
|
|
10
|
+
/** 初始化场景内单体化数据 */
|
|
11
|
+
static init(scenes) {
|
|
12
|
+
return this.emit({ action: "init", scenes }, "单体化 init");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 增加单体化设备/模型
|
|
16
|
+
* @param sceneType 非必须;机房等特殊场景传如 JF,默认不传为通用 Normal
|
|
17
|
+
*/
|
|
18
|
+
static add(scenes, sceneType) {
|
|
19
|
+
const data = {
|
|
20
|
+
action: "add",
|
|
21
|
+
scenes
|
|
22
|
+
};
|
|
23
|
+
if (sceneType != null && sceneType !== "") {
|
|
24
|
+
data.sceneType = sceneType;
|
|
25
|
+
}
|
|
26
|
+
return this.emit(data, `单体化 add${sceneType ? ` (${sceneType})` : ""}`);
|
|
27
|
+
}
|
|
28
|
+
/** 移除单体化实例 */
|
|
29
|
+
static remove(scenes) {
|
|
30
|
+
return this.emit({ action: "remove", scenes }, "单体化 remove");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=SingleMesh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleMesh.js","sourceRoot":"","sources":["../../src/modules/SingleMesh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAa,MAAM,UAAU,CAAC;AAoD7C,MAAM,OAAO,gBAAiB,SAAQ,MAAM;IAChC,MAAM,CAAC,IAAI,CAAC,IAAuB,EAAE,GAAW;QACpD,OAAO,IAAI,CAAC,SAAS,CACjB,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAyB,EAClD,GAAG,CACN,CAAC;IACN,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAI,CAAC,MAAyB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,MAAyB,EAAE,SAA+B;QACjE,MAAM,IAAI,GAAkD;YACxD,MAAM,EAAE,KAAK;YACb,MAAM;SACT,CAAC;QACF,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc;IACd,MAAM,CAAC,MAAM,CAAC,MAAyB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;CACJ"}
|