fcr-core 3.4.1 → 3.4.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.
- package/lib/chat-connection/index.js +1 -1
- package/lib/engine/index.d.ts +1 -0
- package/lib/engine/index.js +6 -3
- package/lib/imports.d.ts +1 -1
- package/lib/media-control/desktop.js +7 -1
- package/lib/media-control/mobile.js +1 -1
- package/lib/media-control/type.d.ts +10 -0
- package/lib/monitor-control/index.js +1 -34
- package/lib/peer-session/index.js +5 -1
- package/lib/plugins/chatroom.js +4 -1
- package/lib/room-control/chatroom-control/index.js +120 -58
- package/lib/room-control/group-control/index.js +1 -1
- package/lib/room-control/index.js +237 -192
- package/lib/room-control/interpreter-control/index.js +1 -1
- package/lib/room-control/interpreter-control/room.js +14 -0
- package/lib/room-control/mainroom-control/index.js +1 -1
- package/lib/room-control/privilege-control/helper.d.ts +4 -1
- package/lib/room-control/privilege-control/helper.js +70 -2
- package/lib/room-control/privilege-control/index.js +8 -34
- package/lib/room-control/stream-control/index.js +36 -37
- package/lib/room-control/type.d.ts +0 -4
- package/lib/room-control/type.js +1 -6
- package/lib/room-control/user-control/index.js +1 -1
- package/lib/room-control/waitingroom-control/index.js +1 -1
- package/lib/room-control/whiteboard-control/board-subwindow.d.ts +6 -0
- package/lib/room-control/whiteboard-control/board-subwindow.js +26 -0
- package/lib/room-control/whiteboard-control-v2/index.d.ts +1 -3
- package/lib/room-control/whiteboard-control-v2/index.js +6 -7
- package/lib/room-control/whiteboard-control-v2/main-window.d.ts +2 -2
- package/lib/room-control/whiteboard-control-v2/main-window.js +5 -4
- package/lib/service/api.d.ts +2 -0
- package/lib/service/api.js +4 -2
- package/lib/utilities/error.d.ts +1 -0
- package/lib/utilities/error.js +1 -0
- package/package.json +6 -6
|
@@ -154,4 +154,4 @@ class FcrChatConnectionImpl {
|
|
|
154
154
|
}
|
|
155
155
|
exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
|
|
156
156
|
_FcrChatConnectionImpl = FcrChatConnectionImpl;
|
|
157
|
-
[_initProto] = _applyDecs(_FcrChatConnectionImpl, [[_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "getConnectionInstance"]
|
|
157
|
+
[_initProto] = _applyDecs(_FcrChatConnectionImpl, [[_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "getConnectionInstance"]], []).e;
|
package/lib/engine/index.d.ts
CHANGED
package/lib/engine/index.js
CHANGED
|
@@ -56,7 +56,6 @@ var _helper = require("agora-rte-sdk/lib/core/scene/helper");
|
|
|
56
56
|
var _mobile = require("../media-control/mobile");
|
|
57
57
|
var _chatroom = require("../plugins/chatroom");
|
|
58
58
|
var _whiteboardControlV = require("../room-control/whiteboard-control-v2");
|
|
59
|
-
var _privilegeControl = require("../room-control/privilege-control");
|
|
60
59
|
var _logger = require("../utilities/logger");
|
|
61
60
|
var _FcrCoreEngine;
|
|
62
61
|
let _initProto;
|
|
@@ -100,6 +99,7 @@ class FcrCoreEngine {
|
|
|
100
99
|
this._monitorControl = new _monitorControl.FcrMonitorControlImpl(this._rteEngine, this._config);
|
|
101
100
|
this._desktopMediaControl = new _desktop.FcrDesktopMediaControlImpl(this._rteEngine.getMediaControl());
|
|
102
101
|
this._mobileMediaControl = new _mobile.FcrMobileMediaControlImpl(this._rteEngine.getMediaControl());
|
|
102
|
+
this._addLogObserver();
|
|
103
103
|
this._addRteEngineObserver();
|
|
104
104
|
const coreIpList = (0, _parameters.getCoreIpList)(config.parameters);
|
|
105
105
|
if (coreIpList) {
|
|
@@ -160,7 +160,7 @@ class FcrCoreEngine {
|
|
|
160
160
|
const scene = this._rteEngine.createScene({
|
|
161
161
|
sceneId: roomId
|
|
162
162
|
});
|
|
163
|
-
return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, _type2.FcrRoomType.Mainroom, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection), new _whiteboardControlV.FcrWhiteboardControlImpl(scene,
|
|
163
|
+
return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, _type2.FcrRoomType.Mainroom, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection), new _whiteboardControlV.FcrWhiteboardControlImpl(scene, this._apiService, this._rteEngine));
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
/**
|
|
@@ -345,7 +345,10 @@ class FcrCoreEngine {
|
|
|
345
345
|
}
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
|
+
_addLogObserver() {
|
|
349
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onConnectionStateUpdated', 'onPeerMessageReceived']));
|
|
350
|
+
}
|
|
348
351
|
}
|
|
349
352
|
exports.FcrCoreEngine = FcrCoreEngine;
|
|
350
353
|
_FcrCoreEngine = FcrCoreEngine;
|
|
351
|
-
[_initProto] = _applyDecs(_FcrCoreEngine, [[_logger.trace, 2, "release"], [_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getVersion"], [_logger.trace, 2, "createMainRoomControl"], [_logger.trace, 2, "createWaitingRoomControl"], [_logger.trace, 2, "createRoomControlAndJoin"], [_logger.trace, 2, "getDesktopMediaControl"], [_logger.trace, 2, "getMobileMediaControl"], [_logger.trace, 2, "getMonitorControl"], [_logger.trace, 2, "getPeerSessionControl"], [_logger.trace, 2, "sendPeerMessage"], [_logger.trace, 2, "setParameters"]
|
|
354
|
+
[_initProto] = _applyDecs(_FcrCoreEngine, [[_logger.trace, 2, "release"], [_logger.trace, 2, "login"], [_logger.trace, 2, "logout"], [_logger.trace, 2, "getVersion"], [_logger.trace, 2, "createMainRoomControl"], [_logger.trace, 2, "createWaitingRoomControl"], [_logger.trace, 2, "createRoomControlAndJoin"], [_logger.trace, 2, "getDesktopMediaControl"], [_logger.trace, 2, "getMobileMediaControl"], [_logger.trace, 2, "getMonitorControl"], [_logger.trace, 2, "getPeerSessionControl"], [_logger.trace, 2, "sendPeerMessage"], [_logger.trace, 2, "setParameters"]], []).e;
|
package/lib/imports.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { Duration } from 'agora-foundation/lib/schedule/scheduler';
|
|
|
19
19
|
export { trace, bound } from 'agora-foundation/lib/decorator';
|
|
20
20
|
export { AgoraScheduler, ActionWhenTaskFail } from 'agora-foundation/lib/schedule';
|
|
21
21
|
export type { AgoraRtcNetworkStats, AgoraRtcDeviceInfo, AgoraRtcDisplayInfo, AgoraRtcWindowInfo, AgoraRtePerformanceInfo, AgoraRteScenePropertiesDeletedEvent, AgoraRteStreamEncryptionConfig, AgoraRteStreamJoinConfig, AgoraRteDualVideoStreamConfig, AgoraRteMessage, AgoraRteScenePropertiesUpdatedEvent, AgoraRteRenderView, AgoraRteScene, } from 'agora-rte-sdk';
|
|
22
|
-
export type { AgoraRteVideoEncoderConfig } from 'agora-rte-sdk/lib/type';
|
|
22
|
+
export type { AgoraRteVideoEncoderConfig, AgoraRteEngineObserver } from 'agora-rte-sdk/lib/type';
|
|
23
23
|
export type { AgoraRteNetworkQualityEvent } from 'agora-rte-sdk/lib/core/scene/type';
|
|
24
24
|
export type { AgoraRteOperatCause } from 'agora-rte-sdk/lib/core/processor/type';
|
|
25
25
|
export type { AgoraRestfulClient } from 'agora-rte-sdk/lib/core/services/client';
|
|
@@ -144,7 +144,13 @@ class FcrDesktopMediaControlImpl {
|
|
|
144
144
|
checkLoopbackDevice() {
|
|
145
145
|
return this._mediaControl.checkLoopbackDevice();
|
|
146
146
|
}
|
|
147
|
+
followSystemSpeaker(follow) {
|
|
148
|
+
return this._mediaControl.followSystemSpeaker(follow);
|
|
149
|
+
}
|
|
150
|
+
followSystemMicrophone(follow) {
|
|
151
|
+
return this._mediaControl.followSystemMicrophone(follow);
|
|
152
|
+
}
|
|
147
153
|
}
|
|
148
154
|
exports.FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
149
155
|
_FcrDesktopMediaControlImpl = FcrDesktopMediaControlImpl;
|
|
150
|
-
[_initProto] = _applyDecs(_FcrDesktopMediaControlImpl, [[_logger.trace, 2, "getCameraList"], [_logger.trace, 2, "getMicrophoneList"], [_logger.trace, 2, "getSpeakerList"], [_logger.trace, 2, "getSystemSelectedMicrophone"], [_logger.trace, 2, "getSystemSelectedSpeaker"], [_logger.trace, 2, "getWindowList"], [_logger.trace, 2, "getDisplayList"], [_logger.trace, 2, "getCameraTrack"], [_logger.trace, 2, "getMicrophoneTrack"], [_logger.trace, 2, "getScreenTrack"], [_logger.trace, 2, "getLoopbackTrack"], [_logger.trace, 2, "setSelectedSpeaker"], [_logger.trace, 2, "startSelectedSpeakerTest"], [_logger.trace, 2, "stopSelectedSpeakerTest"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "setSelectedSpeakerVolume"], [_logger.trace, 2, "getSelectedSpeakerVolume"], [_logger.trace, 2, "
|
|
156
|
+
[_initProto] = _applyDecs(_FcrDesktopMediaControlImpl, [[_logger.trace, 2, "getCameraList"], [_logger.trace, 2, "getMicrophoneList"], [_logger.trace, 2, "getSpeakerList"], [_logger.trace, 2, "getSystemSelectedMicrophone"], [_logger.trace, 2, "getSystemSelectedSpeaker"], [_logger.trace, 2, "getWindowList"], [_logger.trace, 2, "getDisplayList"], [_logger.trace, 2, "getCameraTrack"], [_logger.trace, 2, "getMicrophoneTrack"], [_logger.trace, 2, "getScreenTrack"], [_logger.trace, 2, "getLoopbackTrack"], [_logger.trace, 2, "setSelectedSpeaker"], [_logger.trace, 2, "startSelectedSpeakerTest"], [_logger.trace, 2, "stopSelectedSpeakerTest"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"], [_logger.trace, 2, "setSelectedSpeakerVolume"], [_logger.trace, 2, "getSelectedSpeakerVolume"], [_logger.trace, 2, "checkLoopbackDevice"], [_logger.trace, 2, "followSystemSpeaker"], [_logger.trace, 2, "followSystemMicrophone"]], []).e;
|
|
@@ -194,4 +194,4 @@ class FcrMobileMediaControlImpl {
|
|
|
194
194
|
}
|
|
195
195
|
exports.FcrMobileMediaControlImpl = FcrMobileMediaControlImpl;
|
|
196
196
|
_FcrMobileMediaControlImpl = FcrMobileMediaControlImpl;
|
|
197
|
-
[_initProto] = _applyDecs(_FcrMobileMediaControlImpl, [[_logger.trace, 2, "getDeviceId"], [_logger.trace, 2, "getDeviceState"], [_logger.trace, 2, "startCameraTest"], [_logger.trace, 2, "stopCameraTest"], [_logger.trace, 2, "startCameraPreview"], [_logger.trace, 2, "stopCameraPreview"], [_logger.trace, 2, "stopCameraPreviewOnAllCanvas"], [_logger.trace, 2, "startScreenCapture"], [_logger.trace, 2, "updateScreenCapture"], [_logger.trace, 2, "stopScreenCapture"], [_logger.trace, 2, "getScreenCaptureState"], [_logger.trace, 2, "enableSpeaker"], [_logger.trace, 2, "getAudioOutputRouting"], [_logger.trace, 2, "getAudioEffectEnhancer"], [_logger.trace, 2, "getVideoEffectEnhancer"], [_logger.trace, 2, "openDevice"], [_logger.trace, 2, "closeDevice"], [_logger.trace, 2, "switchCamera"], [_logger.trace, 2, "getCameraPosition"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"]
|
|
197
|
+
[_initProto] = _applyDecs(_FcrMobileMediaControlImpl, [[_logger.trace, 2, "getDeviceId"], [_logger.trace, 2, "getDeviceState"], [_logger.trace, 2, "startCameraTest"], [_logger.trace, 2, "stopCameraTest"], [_logger.trace, 2, "startCameraPreview"], [_logger.trace, 2, "stopCameraPreview"], [_logger.trace, 2, "stopCameraPreviewOnAllCanvas"], [_logger.trace, 2, "startScreenCapture"], [_logger.trace, 2, "updateScreenCapture"], [_logger.trace, 2, "stopScreenCapture"], [_logger.trace, 2, "getScreenCaptureState"], [_logger.trace, 2, "enableSpeaker"], [_logger.trace, 2, "getAudioOutputRouting"], [_logger.trace, 2, "getAudioEffectEnhancer"], [_logger.trace, 2, "getVideoEffectEnhancer"], [_logger.trace, 2, "openDevice"], [_logger.trace, 2, "closeDevice"], [_logger.trace, 2, "switchCamera"], [_logger.trace, 2, "getCameraPosition"], [_logger.trace, 2, "isCapabilitySupported"], [_logger.trace, 2, "adjustOutputVolume"]], []).e;
|
|
@@ -588,6 +588,16 @@ export interface FcrDesktopMediaControl {
|
|
|
588
588
|
* 2 if not installed/activated
|
|
589
589
|
*/
|
|
590
590
|
checkLoopbackDevice(): Promise<number>;
|
|
591
|
+
/**
|
|
592
|
+
* Follow the system speaker.
|
|
593
|
+
* @param follow
|
|
594
|
+
*/
|
|
595
|
+
followSystemSpeaker(follow: boolean): void;
|
|
596
|
+
/**
|
|
597
|
+
* Follow the system microphone.
|
|
598
|
+
* @param follow
|
|
599
|
+
*/
|
|
600
|
+
followSystemMicrophone(follow: boolean): void;
|
|
591
601
|
}
|
|
592
602
|
export interface FcrMobileMediaControl {
|
|
593
603
|
/**
|
|
@@ -1,45 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
|
5
|
-
require("core-js/modules/es.array.push.js");
|
|
6
|
-
require("core-js/modules/esnext.function.metadata.js");
|
|
7
|
-
require("core-js/modules/esnext.map.delete-all.js");
|
|
8
|
-
require("core-js/modules/esnext.map.emplace.js");
|
|
9
|
-
require("core-js/modules/esnext.map.every.js");
|
|
10
|
-
require("core-js/modules/esnext.map.filter.js");
|
|
11
|
-
require("core-js/modules/esnext.map.find.js");
|
|
12
|
-
require("core-js/modules/esnext.map.find-key.js");
|
|
13
|
-
require("core-js/modules/esnext.map.includes.js");
|
|
14
|
-
require("core-js/modules/esnext.map.key-of.js");
|
|
15
|
-
require("core-js/modules/esnext.map.map-keys.js");
|
|
16
|
-
require("core-js/modules/esnext.map.map-values.js");
|
|
17
|
-
require("core-js/modules/esnext.map.merge.js");
|
|
18
|
-
require("core-js/modules/esnext.map.reduce.js");
|
|
19
|
-
require("core-js/modules/esnext.map.some.js");
|
|
20
|
-
require("core-js/modules/esnext.map.update.js");
|
|
21
|
-
require("core-js/modules/esnext.symbol.metadata.js");
|
|
22
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
23
3
|
Object.defineProperty(exports, "__esModule", {
|
|
24
4
|
value: true
|
|
25
5
|
});
|
|
26
6
|
exports.FcrMonitorControlImpl = void 0;
|
|
27
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
var _logger = require("../utilities/logger");
|
|
30
|
-
var _FcrMonitorControlImpl;
|
|
31
|
-
let _initProto;
|
|
32
|
-
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
33
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
34
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
35
|
-
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
36
|
-
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
37
7
|
/**
|
|
38
8
|
* @internal
|
|
39
9
|
*/
|
|
40
10
|
class FcrMonitorControlImpl {
|
|
41
11
|
constructor(engine, _config) {
|
|
42
|
-
(0, _defineProperty2.default)(this, "_monitor", void _initProto(this));
|
|
43
12
|
this._config = _config;
|
|
44
13
|
this._monitor = engine.getMonitor();
|
|
45
14
|
}
|
|
@@ -50,6 +19,4 @@ class FcrMonitorControlImpl {
|
|
|
50
19
|
this._monitor.addObserver(observer);
|
|
51
20
|
}
|
|
52
21
|
}
|
|
53
|
-
exports.FcrMonitorControlImpl = FcrMonitorControlImpl;
|
|
54
|
-
_FcrMonitorControlImpl = FcrMonitorControlImpl;
|
|
55
|
-
[_initProto] = _applyDecs(_FcrMonitorControlImpl, [[_logger.trace, 2, "addObserver"], [_logger.trace, 2, "removeObserver"]], []).e;
|
|
22
|
+
exports.FcrMonitorControlImpl = FcrMonitorControlImpl;
|
|
@@ -62,6 +62,7 @@ class FcrPeerSessionControlImpl {
|
|
|
62
62
|
this._rteEngine = _rteEngine;
|
|
63
63
|
this._api = _api;
|
|
64
64
|
this._userId = _userId;
|
|
65
|
+
this._addLogObserver();
|
|
65
66
|
this._executeTask = this._executeTask.bind(this);
|
|
66
67
|
this._rteEngine.addObserver({
|
|
67
68
|
onPeerMessageReceived: this._handlePeerMessage.bind(this)
|
|
@@ -281,7 +282,10 @@ class FcrPeerSessionControlImpl {
|
|
|
281
282
|
_isSessionExpired(session) {
|
|
282
283
|
return session.timestamp + session.duration * _imports.Duration.second(1) < Date.now();
|
|
283
284
|
}
|
|
285
|
+
_addLogObserver() {
|
|
286
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onPeerSessionAccepted', 'onPeerSessionReceived', 'onPeerSessionRejected']));
|
|
287
|
+
}
|
|
284
288
|
}
|
|
285
289
|
exports.FcrPeerSessionControlImpl = FcrPeerSessionControlImpl;
|
|
286
290
|
_FcrPeerSessionControlImpl = FcrPeerSessionControlImpl;
|
|
287
|
-
[_initProto] = _applyDecs(_FcrPeerSessionControlImpl, [[_logger.trace, 2, "startPeerSession"], [_logger.trace, 2, "stopPeerSession"], [_logger.trace, 2, "acceptPeerSession"], [_logger.trace, 2, "rejectPeerSession"]
|
|
291
|
+
[_initProto] = _applyDecs(_FcrPeerSessionControlImpl, [[_logger.trace, 2, "startPeerSession"], [_logger.trace, 2, "stopPeerSession"], [_logger.trace, 2, "acceptPeerSession"], [_logger.trace, 2, "rejectPeerSession"]], []).e;
|
package/lib/plugins/chatroom.js
CHANGED
|
@@ -189,6 +189,9 @@ class FcrChatRoomControlImpl {
|
|
|
189
189
|
this._observable.removeObserver(observer);
|
|
190
190
|
}
|
|
191
191
|
async leave() {
|
|
192
|
+
if (!this._chatConnection.getConnectionInstance()) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
192
195
|
await new Promise(async (resolve, reject) => {
|
|
193
196
|
this._removeEventListener();
|
|
194
197
|
try {
|
|
@@ -361,4 +364,4 @@ class FcrChatRoomControlImpl {
|
|
|
361
364
|
}
|
|
362
365
|
exports.FcrChatRoomControlImpl = FcrChatRoomControlImpl;
|
|
363
366
|
_FcrChatRoomControlImpl = FcrChatRoomControlImpl;
|
|
364
|
-
[_initProto] = _applyDecs(_FcrChatRoomControlImpl, [[_logger.trace, 2, "join"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "sendMessage"], [_logger.trace, 2, "
|
|
367
|
+
[_initProto] = _applyDecs(_FcrChatRoomControlImpl, [[_logger.trace, 2, "join"], [_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "sendMessage"], [_logger.trace, 2, "leave"]], []).e;
|
|
@@ -1,27 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
3
4
|
require("core-js/modules/es.array.push.js");
|
|
4
5
|
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
5
6
|
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
7
|
+
require("core-js/modules/esnext.function.metadata.js");
|
|
6
8
|
require("core-js/modules/esnext.iterator.constructor.js");
|
|
7
9
|
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
10
|
require("core-js/modules/esnext.iterator.for-each.js");
|
|
11
|
+
require("core-js/modules/esnext.map.delete-all.js");
|
|
12
|
+
require("core-js/modules/esnext.map.emplace.js");
|
|
13
|
+
require("core-js/modules/esnext.map.every.js");
|
|
14
|
+
require("core-js/modules/esnext.map.filter.js");
|
|
15
|
+
require("core-js/modules/esnext.map.find.js");
|
|
16
|
+
require("core-js/modules/esnext.map.find-key.js");
|
|
17
|
+
require("core-js/modules/esnext.map.includes.js");
|
|
18
|
+
require("core-js/modules/esnext.map.key-of.js");
|
|
19
|
+
require("core-js/modules/esnext.map.map-keys.js");
|
|
20
|
+
require("core-js/modules/esnext.map.map-values.js");
|
|
21
|
+
require("core-js/modules/esnext.map.merge.js");
|
|
22
|
+
require("core-js/modules/esnext.map.reduce.js");
|
|
23
|
+
require("core-js/modules/esnext.map.some.js");
|
|
24
|
+
require("core-js/modules/esnext.map.update.js");
|
|
25
|
+
require("core-js/modules/esnext.symbol.metadata.js");
|
|
9
26
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
10
27
|
Object.defineProperty(exports, "__esModule", {
|
|
11
28
|
value: true
|
|
12
29
|
});
|
|
13
30
|
exports.FcrChatRoomControlImpl = void 0;
|
|
14
31
|
require("core-js/modules/es.error.cause.js");
|
|
32
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
15
33
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
34
|
var _observable = require("agora-foundation/lib/utilities/observable");
|
|
17
35
|
var _easemobWebsdk = _interopRequireDefault(require("easemob-websdk"));
|
|
36
|
+
var _config = require("./config");
|
|
18
37
|
var _user = require("../../utilities/user");
|
|
19
38
|
var _error = require("../../utilities/error");
|
|
20
|
-
var _logger = require("agora-foundation/lib/logger");
|
|
21
39
|
var _type = require("./type");
|
|
22
|
-
var
|
|
40
|
+
var _logger = require("../../utilities/logger");
|
|
41
|
+
var _FcrChatRoomControlImpl;
|
|
42
|
+
let _initProto;
|
|
23
43
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
24
44
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
45
|
+
function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
|
|
46
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
47
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
48
|
+
function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
|
|
49
|
+
function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
|
|
25
50
|
/**
|
|
26
51
|
* @internal
|
|
27
52
|
*/
|
|
@@ -30,38 +55,29 @@ class FcrChatRoomControlImpl {
|
|
|
30
55
|
this._connectionState = state;
|
|
31
56
|
this._observable.notifyObservers('onConnectionStateUpdated', this._scene.sceneId, state);
|
|
32
57
|
}
|
|
58
|
+
get initConfig() {
|
|
59
|
+
if (!this._initConfig) {
|
|
60
|
+
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_CHATROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'chat room data not initialized, please get chat room token first', new Error('chat room data not initialized, please get chat room token first'));
|
|
61
|
+
}
|
|
62
|
+
return this._initConfig;
|
|
63
|
+
}
|
|
33
64
|
get conn() {
|
|
34
|
-
if (!this.
|
|
65
|
+
if (!this._conn) {
|
|
35
66
|
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_CHATROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'chat room connection not initialized, please get chat room token first', new Error('chat room connection not initialized, please get chat room token first'));
|
|
36
67
|
}
|
|
37
|
-
return this.
|
|
38
|
-
}
|
|
39
|
-
get chatRoomId() {
|
|
40
|
-
return this._scene.getScenePropertiesByKeyPath('widgets.easemobIM.extra.chatRoomId');
|
|
68
|
+
return this._conn;
|
|
41
69
|
}
|
|
42
|
-
constructor(_engine, _scene, _api,
|
|
43
|
-
(0, _defineProperty2.default)(this, "logger", (0, _logger.
|
|
70
|
+
constructor(_engine, _scene, _api, _chatIpList, _restIpList) {
|
|
71
|
+
(0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
|
|
72
|
+
prefix: 'FcrChatRoomControlImpl'
|
|
73
|
+
})));
|
|
44
74
|
(0, _defineProperty2.default)(this, "_observable", new _observable.AgoraObservable());
|
|
45
75
|
(0, _defineProperty2.default)(this, "_connectionState", _type.FcrChatRoomConnectionState.Disconnected);
|
|
46
|
-
(0, _defineProperty2.default)(this, "_chatConnectionObserver", {
|
|
47
|
-
onConnectionStateUpdated: async state => {
|
|
48
|
-
this._joinChatRoom(state);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
(0, _defineProperty2.default)(this, "_joinChatRoom", async state => {
|
|
52
|
-
if (state === _type2.FcrChatConnectionState.DISCONNECTED && this.getConnectionState() === _type.FcrChatRoomConnectionState.Connected) {
|
|
53
|
-
this._setConnectionState(_type.FcrChatRoomConnectionState.Connecting);
|
|
54
|
-
await this.conn.joinChatRoom({
|
|
55
|
-
roomId: this.chatRoomId
|
|
56
|
-
});
|
|
57
|
-
this._setConnectionState(_type.FcrChatRoomConnectionState.Connected);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
76
|
(0, _defineProperty2.default)(this, "_convertAgoraChatMessageToFcrChatRoomReceiveMessage", msg => {
|
|
61
77
|
// TODO: 没看到有 contentsType 字段
|
|
62
78
|
//@ts-ignore
|
|
63
|
-
switch (msg.
|
|
64
|
-
case '
|
|
79
|
+
switch (msg.contentsType) {
|
|
80
|
+
case 'TEXT':
|
|
65
81
|
{
|
|
66
82
|
const message = {
|
|
67
83
|
id: msg.id,
|
|
@@ -71,7 +87,7 @@ class FcrChatRoomControlImpl {
|
|
|
71
87
|
//@ts-ignore
|
|
72
88
|
timestamp: parseInt(msg.time),
|
|
73
89
|
//@ts-ignore
|
|
74
|
-
content: msg.
|
|
90
|
+
content: msg.data,
|
|
75
91
|
//@ts-ignore
|
|
76
92
|
isPrivate: msg.ext.isPrivate
|
|
77
93
|
};
|
|
@@ -104,7 +120,7 @@ class FcrChatRoomControlImpl {
|
|
|
104
120
|
const isPrivate = !!((_message$to = message.to) !== null && _message$to !== void 0 && _message$to.length);
|
|
105
121
|
const localUserInfo = this._scene.getUser(this._scene.getLocalUser().getLocalUserId());
|
|
106
122
|
return _easemobWebsdk.default.message.create({
|
|
107
|
-
to: this.chatRoomId,
|
|
123
|
+
to: this.initConfig.chatRoomId,
|
|
108
124
|
msg: message.content,
|
|
109
125
|
type: 'txt',
|
|
110
126
|
chatType: 'chatRoom',
|
|
@@ -118,32 +134,60 @@ class FcrChatRoomControlImpl {
|
|
|
118
134
|
}
|
|
119
135
|
throw (0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_CHATROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'unknown local message type', new Error('unknown local message type'));
|
|
120
136
|
});
|
|
137
|
+
(0, _defineProperty2.default)(this, "_getPrivateConfig", () => {
|
|
138
|
+
var _this$_chatIpList, _this$_restIpList;
|
|
139
|
+
if ((_this$_chatIpList = this._chatIpList) !== null && _this$_chatIpList !== void 0 && _this$_chatIpList.length || (_this$_restIpList = this._restIpList) !== null && _this$_restIpList !== void 0 && _this$_restIpList.length) {
|
|
140
|
+
var _this$_chatIpList2, _this$_restIpList2;
|
|
141
|
+
const privateConfig = {
|
|
142
|
+
isHttpDNS: false
|
|
143
|
+
};
|
|
144
|
+
if ((_this$_chatIpList2 = this._chatIpList) !== null && _this$_chatIpList2 !== void 0 && _this$_chatIpList2.length) {
|
|
145
|
+
privateConfig.url = this._chatIpList[0];
|
|
146
|
+
}
|
|
147
|
+
if ((_this$_restIpList2 = this._restIpList) !== null && _this$_restIpList2 !== void 0 && _this$_restIpList2.length) {
|
|
148
|
+
privateConfig.apiUrl = this._restIpList[0];
|
|
149
|
+
}
|
|
150
|
+
return privateConfig;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
121
153
|
this._engine = _engine;
|
|
122
154
|
this._scene = _scene;
|
|
123
155
|
this._api = _api;
|
|
124
|
-
this._chatConnection = _chatConnection;
|
|
125
156
|
this._chatIpList = _chatIpList;
|
|
126
157
|
this._restIpList = _restIpList;
|
|
127
|
-
this.
|
|
128
|
-
this.
|
|
158
|
+
this._addLogObserver();
|
|
159
|
+
this._init();
|
|
160
|
+
}
|
|
161
|
+
async _init() {
|
|
162
|
+
const tokenResult = await this._api.getChatRoomToken(this._scene.sceneId, this._scene.localUser.getLocalUserId());
|
|
163
|
+
const privateConfig = this._getPrivateConfig();
|
|
164
|
+
if (privateConfig) {
|
|
165
|
+
this.logger.info('[ChatRoomControl] use private config:', privateConfig);
|
|
166
|
+
}
|
|
167
|
+
this._initConfig = tokenResult;
|
|
168
|
+
const connParams = _objectSpread(_objectSpread(_objectSpread({}, _config.agoraChatConfig), privateConfig), {}, {
|
|
169
|
+
appKey: tokenResult.appKey
|
|
170
|
+
});
|
|
171
|
+
this._conn = new _easemobWebsdk.default.connection(connParams);
|
|
129
172
|
this._addEventListener();
|
|
173
|
+
this._join();
|
|
130
174
|
}
|
|
131
175
|
async _join() {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
176
|
+
this._setConnectionState(_type.FcrChatRoomConnectionState.Connecting);
|
|
177
|
+
await this.conn.open({
|
|
178
|
+
accessToken: this.initConfig.token,
|
|
179
|
+
user: this._scene.localUser.getLocalUserId()
|
|
180
|
+
});
|
|
136
181
|
}
|
|
137
182
|
_addEventListener() {
|
|
138
|
-
this.conn.
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
const message = this._convertAgoraChatMessageToFcrChatRoomReceiveMessage(msg);
|
|
144
|
-
this._observable.notifyObservers('onTextMessageReceived', this._scene.sceneId, message);
|
|
183
|
+
this.conn.onTextMessage = msg => {
|
|
184
|
+
if (msg.to !== this.initConfig.chatRoomId) {
|
|
185
|
+
return;
|
|
145
186
|
}
|
|
146
|
-
|
|
187
|
+
const message = this._convertAgoraChatMessageToFcrChatRoomReceiveMessage(msg);
|
|
188
|
+
this._observable.notifyObservers('onTextMessageReceived', this._scene.sceneId, message);
|
|
189
|
+
};
|
|
190
|
+
|
|
147
191
|
// TODO: 3.x
|
|
148
192
|
// this.conn.onPictureMessage = (msg) => {
|
|
149
193
|
// if (msg.to !== this.initConfig.chatRoomId) {
|
|
@@ -179,6 +223,21 @@ class FcrChatRoomControlImpl {
|
|
|
179
223
|
// this._observable.notifyObservers('onAnnouncementDeleted', this._scene.sceneId);
|
|
180
224
|
// }
|
|
181
225
|
// };
|
|
226
|
+
|
|
227
|
+
this.conn.addEventHandler('connection', {
|
|
228
|
+
onError: e => {
|
|
229
|
+
// this._observable.notifyObservers('onErrorOccurred', this._initConfig.roomId);
|
|
230
|
+
},
|
|
231
|
+
onConnected: async () => {
|
|
232
|
+
await this.conn.joinChatRoom({
|
|
233
|
+
roomId: this.initConfig.chatRoomId
|
|
234
|
+
});
|
|
235
|
+
this._setConnectionState(_type.FcrChatRoomConnectionState.Connected);
|
|
236
|
+
},
|
|
237
|
+
onDisconnected: () => {
|
|
238
|
+
this._setConnectionState(_type.FcrChatRoomConnectionState.Disconnected);
|
|
239
|
+
}
|
|
240
|
+
});
|
|
182
241
|
}
|
|
183
242
|
getConnectionState() {
|
|
184
243
|
return this._connectionState;
|
|
@@ -209,22 +268,23 @@ class FcrChatRoomControlImpl {
|
|
|
209
268
|
this._observable.removeObserver(observer);
|
|
210
269
|
}
|
|
211
270
|
async leave() {
|
|
212
|
-
await new Promise(
|
|
213
|
-
this.
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
} catch (e) {
|
|
225
|
-
resolve(undefined);
|
|
226
|
-
}
|
|
271
|
+
await new Promise((resolve, reject) => {
|
|
272
|
+
this.conn.leaveChatRoom({
|
|
273
|
+
roomId: this.initConfig.chatRoomId,
|
|
274
|
+
success: () => {
|
|
275
|
+
resolve(undefined);
|
|
276
|
+
},
|
|
277
|
+
error: e => {
|
|
278
|
+
reject((0, _error.generateFcrCoreClientError)(_error.FcrErrorModuleCode.ROOM_CHATROOM, _error.FcrErrorCode.UNDEFINED_ERROR, 'leave chat room failed', e));
|
|
279
|
+
}
|
|
280
|
+
});
|
|
227
281
|
});
|
|
282
|
+
this.conn.close();
|
|
283
|
+
}
|
|
284
|
+
_addLogObserver() {
|
|
285
|
+
this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onConnectionStateUpdated', 'onErrorOccurred'
|
|
286
|
+
// 'onTextMessageReceived'
|
|
287
|
+
]));
|
|
228
288
|
}
|
|
229
289
|
|
|
230
290
|
// TODO: 3.x
|
|
@@ -320,4 +380,6 @@ class FcrChatRoomControlImpl {
|
|
|
320
380
|
// });
|
|
321
381
|
// }
|
|
322
382
|
}
|
|
323
|
-
exports.FcrChatRoomControlImpl = FcrChatRoomControlImpl;
|
|
383
|
+
exports.FcrChatRoomControlImpl = FcrChatRoomControlImpl;
|
|
384
|
+
_FcrChatRoomControlImpl = FcrChatRoomControlImpl;
|
|
385
|
+
[_initProto] = _applyDecs(_FcrChatRoomControlImpl, [[_logger.trace, 2, "getConnectionState"], [_logger.trace, 2, "sendMessage"], [_logger.trace, 2, "addObserver"], [_logger.trace, 2, "removeObserver"], [_logger.trace, 2, "leave"]], []).e;
|
|
@@ -246,4 +246,4 @@ class FcrGroupControl {
|
|
|
246
246
|
}
|
|
247
247
|
exports.FcrGroupControl = FcrGroupControl;
|
|
248
248
|
_FcrGroupControl = FcrGroupControl;
|
|
249
|
-
[_initProto] = _applyDecs(_FcrGroupControl, [[_logger.trace, 2, "getGroupList"], [_logger.trace, 2, "getGroupUserList"], [_logger.trace, 2, "addGroups"], [_logger.trace, 2, "updateGroups"], [_logger.trace, 2, "deleteGroups"], [_logger.trace, 2, "deleteAllGroups"], [_logger.trace, 2, "addUsers"], [_logger.trace, 2, "removeUsers"], [_logger.trace, 2, "moveUsers"]
|
|
249
|
+
[_initProto] = _applyDecs(_FcrGroupControl, [[_logger.trace, 2, "getGroupList"], [_logger.trace, 2, "getGroupUserList"], [_logger.trace, 2, "addGroups"], [_logger.trace, 2, "updateGroups"], [_logger.trace, 2, "deleteGroups"], [_logger.trace, 2, "deleteAllGroups"], [_logger.trace, 2, "addUsers"], [_logger.trace, 2, "removeUsers"], [_logger.trace, 2, "moveUsers"]], []).e;
|