model-action 2.2.5 → 2.2.6
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/modules/Action.d.ts +2 -0
- package/dist/modules/Action.d.ts.map +1 -1
- package/dist/modules/Action.js +38 -2
- package/dist/modules/Action.js.map +1 -1
- package/dist/modules/Init.d.ts +2 -0
- package/dist/modules/Init.d.ts.map +1 -1
- package/dist/modules/Init.js +1 -0
- package/dist/modules/Init.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/Action.ts +38 -1
- package/src/modules/Init.ts +3 -0
package/dist/modules/Action.d.ts
CHANGED
|
@@ -8,9 +8,11 @@ export interface SendParam {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class Action {
|
|
10
10
|
private static pendingRequests;
|
|
11
|
+
private static onLog?;
|
|
11
12
|
/** 正在组装的分包(同一时间仅处理一条分包流;并行多条需三维在每段携带 requestId,见 tryExtractRequestId) */
|
|
12
13
|
private static chunkAssembly;
|
|
13
14
|
private static defaultTimeout;
|
|
15
|
+
static setOnLog(onLog?: (...args: any[]) => void): void;
|
|
14
16
|
/**
|
|
15
17
|
* 生成唯一请求ID
|
|
16
18
|
*/
|
|
@@ -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;AAeD,qBAAa,MAAM;IAEf,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqC;
|
|
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;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAA2B;IAEhD,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,aAAa,CAA8B;IAG1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IAEtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;IAIhD;;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;IA8FrF,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;CAwClB"}
|
package/dist/modules/Action.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export class Action {
|
|
2
|
+
static setOnLog(onLog) {
|
|
3
|
+
this.onLog = onLog;
|
|
4
|
+
}
|
|
2
5
|
/**
|
|
3
6
|
* 生成唯一请求ID
|
|
4
7
|
*/
|
|
@@ -23,6 +26,7 @@ export class Action {
|
|
|
23
26
|
* @param onMessage 与 Init 中一致的业务回调(收到完整一条 JSON 后调用一次)
|
|
24
27
|
*/
|
|
25
28
|
static handleIncomingRawMessage(raw, onMessage) {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
26
30
|
if (typeof raw !== 'string') {
|
|
27
31
|
const data = raw;
|
|
28
32
|
this.handleResponse(data);
|
|
@@ -37,10 +41,18 @@ export class Action {
|
|
|
37
41
|
}
|
|
38
42
|
catch (e) {
|
|
39
43
|
console.error('解析消息失败:', e);
|
|
44
|
+
(_a = this.onLog) === null || _a === void 0 ? void 0 : _a.call(this, {
|
|
45
|
+
content: `解析消息失败: ${e}`,
|
|
46
|
+
operTime: +new Date().getTime(),
|
|
47
|
+
});
|
|
40
48
|
return;
|
|
41
49
|
}
|
|
42
50
|
this.handleResponse(data);
|
|
43
51
|
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data);
|
|
52
|
+
(_b = this.onLog) === null || _b === void 0 ? void 0 : _b.call(this, {
|
|
53
|
+
content: `收到三维消息: ${JSON.stringify(data)}`,
|
|
54
|
+
operTime: +new Date().getTime(),
|
|
55
|
+
});
|
|
44
56
|
return;
|
|
45
57
|
}
|
|
46
58
|
const tag = raw.slice(0, 2);
|
|
@@ -48,6 +60,10 @@ export class Action {
|
|
|
48
60
|
if (tag === '-S') {
|
|
49
61
|
if (this.chunkAssembly) {
|
|
50
62
|
console.warn('分包消息: 收到新的 -S,丢弃未拼完的上一包');
|
|
63
|
+
(_c = this.onLog) === null || _c === void 0 ? void 0 : _c.call(this, {
|
|
64
|
+
content: `分包消息: 收到新的 -S,丢弃未拼完的上一包`,
|
|
65
|
+
operTime: +new Date().getTime(),
|
|
66
|
+
});
|
|
51
67
|
}
|
|
52
68
|
this.chunkAssembly = { buffer: body, requestId: this.tryExtractRequestId(body) };
|
|
53
69
|
return;
|
|
@@ -55,6 +71,10 @@ export class Action {
|
|
|
55
71
|
if (tag === '-I') {
|
|
56
72
|
if (!this.chunkAssembly) {
|
|
57
73
|
console.error('分包消息: 收到 -I 但缺少前置 -S');
|
|
74
|
+
(_d = this.onLog) === null || _d === void 0 ? void 0 : _d.call(this, {
|
|
75
|
+
content: `分包消息: 收到 -I 但缺少前置 -S`,
|
|
76
|
+
operTime: +new Date().getTime(),
|
|
77
|
+
});
|
|
58
78
|
return;
|
|
59
79
|
}
|
|
60
80
|
this.chunkAssembly.buffer += body;
|
|
@@ -66,6 +86,10 @@ export class Action {
|
|
|
66
86
|
if (tag === '-E') {
|
|
67
87
|
if (!this.chunkAssembly) {
|
|
68
88
|
console.error('分包消息: 收到 -E 但缺少前置 -S');
|
|
89
|
+
(_e = this.onLog) === null || _e === void 0 ? void 0 : _e.call(this, {
|
|
90
|
+
content: `分包消息: 收到 -E 但缺少前置 -S`,
|
|
91
|
+
operTime: +new Date().getTime(),
|
|
92
|
+
});
|
|
69
93
|
return;
|
|
70
94
|
}
|
|
71
95
|
this.chunkAssembly.buffer += body;
|
|
@@ -77,10 +101,18 @@ export class Action {
|
|
|
77
101
|
}
|
|
78
102
|
catch (e) {
|
|
79
103
|
console.error('分包消息 JSON 解析失败:', e);
|
|
104
|
+
(_f = this.onLog) === null || _f === void 0 ? void 0 : _f.call(this, {
|
|
105
|
+
content: `分包消息 JSON 解析失败: ${e}`,
|
|
106
|
+
operTime: +new Date().getTime(),
|
|
107
|
+
});
|
|
80
108
|
return;
|
|
81
109
|
}
|
|
82
110
|
this.handleResponse(data);
|
|
83
111
|
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data);
|
|
112
|
+
(_g = this.onLog) === null || _g === void 0 ? void 0 : _g.call(this, {
|
|
113
|
+
content: `收到三维分包消息: ${JSON.stringify(data)}`,
|
|
114
|
+
operTime: +new Date().getTime(),
|
|
115
|
+
});
|
|
84
116
|
}
|
|
85
117
|
}
|
|
86
118
|
static handleResponse(responseData) {
|
|
@@ -107,12 +139,16 @@ export class Action {
|
|
|
107
139
|
*/
|
|
108
140
|
static sendParam(param, msg = '', timeout = this.defaultTimeout) {
|
|
109
141
|
return new Promise((resolve, reject) => {
|
|
110
|
-
var _a;
|
|
142
|
+
var _a, _b;
|
|
111
143
|
// 生成唯一请求ID
|
|
112
144
|
const requestId = this.generateRequestId();
|
|
113
145
|
// 在请求参数中添加 requestId
|
|
114
146
|
const paramWithId = Object.assign(Object.assign({}, param), { requestId });
|
|
115
147
|
console.log(`发送给三维|${msg}`, JSON.stringify(paramWithId));
|
|
148
|
+
(_a = this.onLog) === null || _a === void 0 ? void 0 : _a.call(this, {
|
|
149
|
+
content: `发送给三维|${msg} : ${JSON.stringify(paramWithId)}`,
|
|
150
|
+
operTime: +new Date().getTime(),
|
|
151
|
+
});
|
|
116
152
|
const timeoutHandle = setTimeout(() => {
|
|
117
153
|
this.pendingRequests.delete(requestId);
|
|
118
154
|
reject(new Error(`请求等待超时(三维可能不返回): ${msg} [requestId=${requestId}]`));
|
|
@@ -125,7 +161,7 @@ export class Action {
|
|
|
125
161
|
});
|
|
126
162
|
//peer-stream 中已经把ps挂到window上了,为了不改peer-stream的代码,这里直接使用window.ps
|
|
127
163
|
try {
|
|
128
|
-
(
|
|
164
|
+
(_b = window.ps) === null || _b === void 0 ? void 0 : _b.emitMessage(JSON.stringify(paramWithId));
|
|
129
165
|
}
|
|
130
166
|
catch (error) {
|
|
131
167
|
clearTimeout(timeoutHandle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"AAuBA,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/modules/Action.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/Init.d.ts
CHANGED
|
@@ -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;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;
|
|
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;IAC9B,cAAc;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/B;AAED,qBAAa,UAAW,SAAQ,MAAM;IAClC;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;CAuEhE"}
|
package/dist/modules/Init.js
CHANGED
|
@@ -11,6 +11,7 @@ export class InitAction extends Action {
|
|
|
11
11
|
* @returns HTMLVideoElement 返回创建的video元素
|
|
12
12
|
*/
|
|
13
13
|
static initVideo(options) {
|
|
14
|
+
Action.setOnLog(options.onLog);
|
|
14
15
|
// 创建 peer-stream video 元素
|
|
15
16
|
const ps = document.createElement("video", { is: "peer-stream" });
|
|
16
17
|
// 设置样式
|
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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"}
|
package/package.json
CHANGED
package/src/modules/Action.ts
CHANGED
|
@@ -24,6 +24,7 @@ interface ChunkAssembly {
|
|
|
24
24
|
export class Action {
|
|
25
25
|
// 存储待处理的请求,key 为 requestId
|
|
26
26
|
private static pendingRequests = new Map<string, PendingRequest>();
|
|
27
|
+
private static onLog?: (...args: any[]) => void;
|
|
27
28
|
|
|
28
29
|
/** 正在组装的分包(同一时间仅处理一条分包流;并行多条需三维在每段携带 requestId,见 tryExtractRequestId) */
|
|
29
30
|
private static chunkAssembly: ChunkAssembly | null = null;
|
|
@@ -31,6 +32,10 @@ export class Action {
|
|
|
31
32
|
// 默认超时时间(毫秒)
|
|
32
33
|
private static defaultTimeout = 10000;
|
|
33
34
|
|
|
35
|
+
static setOnLog(onLog?: (...args: any[]) => void) {
|
|
36
|
+
this.onLog = onLog;
|
|
37
|
+
}
|
|
38
|
+
|
|
34
39
|
/**
|
|
35
40
|
* 生成唯一请求ID
|
|
36
41
|
*/
|
|
@@ -71,10 +76,18 @@ export class Action {
|
|
|
71
76
|
data = JSON.parse(raw);
|
|
72
77
|
} catch (e) {
|
|
73
78
|
console.error('解析消息失败:', e);
|
|
79
|
+
this.onLog?.({
|
|
80
|
+
content: `解析消息失败: ${e}`,
|
|
81
|
+
operTime: +new Date().getTime(),
|
|
82
|
+
});
|
|
74
83
|
return;
|
|
75
84
|
}
|
|
76
85
|
this.handleResponse(data);
|
|
77
86
|
onMessage?.(data);
|
|
87
|
+
this.onLog?.({
|
|
88
|
+
content: `收到三维消息: ${JSON.stringify(data)}`,
|
|
89
|
+
operTime: +new Date().getTime(),
|
|
90
|
+
});
|
|
78
91
|
return;
|
|
79
92
|
}
|
|
80
93
|
|
|
@@ -84,6 +97,10 @@ export class Action {
|
|
|
84
97
|
if (tag === '-S') {
|
|
85
98
|
if (this.chunkAssembly) {
|
|
86
99
|
console.warn('分包消息: 收到新的 -S,丢弃未拼完的上一包');
|
|
100
|
+
this.onLog?.({
|
|
101
|
+
content: `分包消息: 收到新的 -S,丢弃未拼完的上一包`,
|
|
102
|
+
operTime: +new Date().getTime(),
|
|
103
|
+
});
|
|
87
104
|
}
|
|
88
105
|
this.chunkAssembly = { buffer: body, requestId: this.tryExtractRequestId(body) };
|
|
89
106
|
return;
|
|
@@ -92,6 +109,10 @@ export class Action {
|
|
|
92
109
|
if (tag === '-I') {
|
|
93
110
|
if (!this.chunkAssembly) {
|
|
94
111
|
console.error('分包消息: 收到 -I 但缺少前置 -S');
|
|
112
|
+
this.onLog?.({
|
|
113
|
+
content: `分包消息: 收到 -I 但缺少前置 -S`,
|
|
114
|
+
operTime: +new Date().getTime(),
|
|
115
|
+
});
|
|
95
116
|
return;
|
|
96
117
|
}
|
|
97
118
|
this.chunkAssembly.buffer += body;
|
|
@@ -104,6 +125,10 @@ export class Action {
|
|
|
104
125
|
if (tag === '-E') {
|
|
105
126
|
if (!this.chunkAssembly) {
|
|
106
127
|
console.error('分包消息: 收到 -E 但缺少前置 -S');
|
|
128
|
+
this.onLog?.({
|
|
129
|
+
content: `分包消息: 收到 -E 但缺少前置 -S`,
|
|
130
|
+
operTime: +new Date().getTime(),
|
|
131
|
+
});
|
|
107
132
|
return;
|
|
108
133
|
}
|
|
109
134
|
this.chunkAssembly.buffer += body;
|
|
@@ -115,10 +140,18 @@ export class Action {
|
|
|
115
140
|
data = JSON.parse(fullJson);
|
|
116
141
|
} catch (e) {
|
|
117
142
|
console.error('分包消息 JSON 解析失败:', e);
|
|
143
|
+
this.onLog?.({
|
|
144
|
+
content: `分包消息 JSON 解析失败: ${e}`,
|
|
145
|
+
operTime: +new Date().getTime(),
|
|
146
|
+
});
|
|
118
147
|
return;
|
|
119
148
|
}
|
|
120
149
|
this.handleResponse(data);
|
|
121
150
|
onMessage?.(data);
|
|
151
|
+
this.onLog?.({
|
|
152
|
+
content: `收到三维分包消息: ${JSON.stringify(data)}`,
|
|
153
|
+
operTime: +new Date().getTime(),
|
|
154
|
+
});
|
|
122
155
|
}
|
|
123
156
|
}
|
|
124
157
|
|
|
@@ -128,7 +161,7 @@ export class Action {
|
|
|
128
161
|
const request = this.pendingRequests.get(responseData.requestId)!;
|
|
129
162
|
clearTimeout(request.timeout);
|
|
130
163
|
this.pendingRequests.delete(responseData.requestId);
|
|
131
|
-
|
|
164
|
+
|
|
132
165
|
// 根据响应状态决定 resolve 或 reject
|
|
133
166
|
if (responseData.code === '0' || responseData.code === 0) {
|
|
134
167
|
request.resolve(responseData);
|
|
@@ -161,6 +194,10 @@ export class Action {
|
|
|
161
194
|
};
|
|
162
195
|
|
|
163
196
|
console.log(`发送给三维|${msg}`, JSON.stringify(paramWithId));
|
|
197
|
+
this.onLog?.({
|
|
198
|
+
content: `发送给三维|${msg} : ${JSON.stringify(paramWithId)}`,
|
|
199
|
+
operTime: +new Date().getTime(),
|
|
200
|
+
});
|
|
164
201
|
|
|
165
202
|
const timeoutHandle = setTimeout(() => {
|
|
166
203
|
this.pendingRequests.delete(requestId);
|
package/src/modules/Init.ts
CHANGED
|
@@ -18,6 +18,8 @@ export interface InitVideoOptions {
|
|
|
18
18
|
onQueueChange?: (seq: number) => void;
|
|
19
19
|
/** 视频元数据加载完成回调函数 */
|
|
20
20
|
onLoadedMetadata?: () => void;
|
|
21
|
+
/** 日志记录回调 **/
|
|
22
|
+
onLog?: (data: any) => void;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
export class InitAction extends Action {
|
|
@@ -27,6 +29,7 @@ export class InitAction extends Action {
|
|
|
27
29
|
* @returns HTMLVideoElement 返回创建的video元素
|
|
28
30
|
*/
|
|
29
31
|
static initVideo(options: InitVideoOptions): HTMLVideoElement {
|
|
32
|
+
Action.setOnLog(options.onLog);
|
|
30
33
|
// 创建 peer-stream video 元素
|
|
31
34
|
const ps = document.createElement("video", { is: "peer-stream" }) as any;
|
|
32
35
|
|