fcr-core 3.4.0
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/base-session.d.ts +3 -0
- package/lib/base-session.js +8 -0
- package/lib/chat-connection/config.d.ts +51 -0
- package/lib/chat-connection/config.js +105 -0
- package/lib/chat-connection/index.d.ts +25 -0
- package/lib/chat-connection/index.js +118 -0
- package/lib/chat-connection/type.d.ts +17 -0
- package/lib/chat-connection/type.js +12 -0
- package/lib/engine/index.d.ts +86 -0
- package/lib/engine/index.js +317 -0
- package/lib/imports.d.ts +43 -0
- package/lib/imports.js +322 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.js +140 -0
- package/lib/media-control/desktop.d.ts +1 -0
- package/lib/media-control/desktop.js +120 -0
- package/lib/media-control/mobile.d.ts +1 -0
- package/lib/media-control/mobile.js +168 -0
- package/lib/media-control/type.d.ts +640 -0
- package/lib/media-control/type.js +5 -0
- package/lib/monitor-control/index.d.ts +1 -0
- package/lib/monitor-control/index.js +22 -0
- package/lib/monitor-control/type.d.ts +16 -0
- package/lib/monitor-control/type.js +5 -0
- package/lib/peer-session/index.d.ts +1 -0
- package/lib/peer-session/index.js +286 -0
- package/lib/peer-session/type.d.ts +54 -0
- package/lib/peer-session/type.js +5 -0
- package/lib/plugins/chatroom.d.ts +1 -0
- package/lib/plugins/chatroom.js +331 -0
- package/lib/plugins/electron-rtc-plugin.d.ts +1 -0
- package/lib/plugins/electron-rtc-plugin.js +13 -0
- package/lib/plugins/rtm-plugin.d.ts +1 -0
- package/lib/plugins/rtm-plugin.js +13 -0
- package/lib/plugins/web-rtc-plugin.d.ts +1 -0
- package/lib/plugins/web-rtc-plugin.js +13 -0
- package/lib/room-control/chatroom-control/config.d.ts +51 -0
- package/lib/room-control/chatroom-control/config.js +105 -0
- package/lib/room-control/chatroom-control/index.d.ts +1 -0
- package/lib/room-control/chatroom-control/index.js +323 -0
- package/lib/room-control/chatroom-control/type.d.ts +95 -0
- package/lib/room-control/chatroom-control/type.js +18 -0
- package/lib/room-control/group-control/index.d.ts +25 -0
- package/lib/room-control/group-control/index.js +227 -0
- package/lib/room-control/index.d.ts +1 -0
- package/lib/room-control/index.js +459 -0
- package/lib/room-control/interpreter-control/index.d.ts +1 -0
- package/lib/room-control/interpreter-control/index.js +136 -0
- package/lib/room-control/interpreter-control/room.d.ts +1 -0
- package/lib/room-control/interpreter-control/room.js +22 -0
- package/lib/room-control/interpreter-control/types.d.ts +66 -0
- package/lib/room-control/interpreter-control/types.js +32 -0
- package/lib/room-control/mainroom-control/index.d.ts +1 -0
- package/lib/room-control/mainroom-control/index.js +181 -0
- package/lib/room-control/privilege-control/helper.d.ts +9 -0
- package/lib/room-control/privilege-control/helper.js +43 -0
- package/lib/room-control/privilege-control/index.d.ts +1 -0
- package/lib/room-control/privilege-control/index.js +245 -0
- package/lib/room-control/privilege-control/type.d.ts +293 -0
- package/lib/room-control/privilege-control/type.js +141 -0
- package/lib/room-control/room-connector-control/index.d.ts +1 -0
- package/lib/room-control/room-connector-control/index.js +160 -0
- package/lib/room-control/room-connector-control/type.d.ts +102 -0
- package/lib/room-control/room-connector-control/type.js +34 -0
- package/lib/room-control/room-session/index.d.ts +1 -0
- package/lib/room-control/room-session/index.js +286 -0
- package/lib/room-control/room-session/type.d.ts +61 -0
- package/lib/room-control/room-session/type.js +5 -0
- package/lib/room-control/stream-control/index.d.ts +1 -0
- package/lib/room-control/stream-control/index.js +341 -0
- package/lib/room-control/stream-control/type.d.ts +209 -0
- package/lib/room-control/stream-control/type.js +5 -0
- package/lib/room-control/type.d.ts +281 -0
- package/lib/room-control/type.js +23 -0
- package/lib/room-control/user-control/index.d.ts +1 -0
- package/lib/room-control/user-control/index.js +318 -0
- package/lib/room-control/user-control/type.d.ts +177 -0
- package/lib/room-control/user-control/type.js +17 -0
- package/lib/room-control/waitingroom-control/index.d.ts +1 -0
- package/lib/room-control/waitingroom-control/index.js +46 -0
- package/lib/room-control/whiteboard-control/board-window.d.ts +47 -0
- package/lib/room-control/whiteboard-control/board-window.js +396 -0
- package/lib/room-control/whiteboard-control/enums.d.ts +164 -0
- package/lib/room-control/whiteboard-control/enums.js +96 -0
- package/lib/room-control/whiteboard-control/index.d.ts +1 -0
- package/lib/room-control/whiteboard-control/index.js +342 -0
- package/lib/room-control/whiteboard-control/mount-manager.d.ts +4 -0
- package/lib/room-control/whiteboard-control/mount-manager.js +15 -0
- package/lib/room-control/whiteboard-control/types.d.ts +330 -0
- package/lib/room-control/whiteboard-control/types.js +12 -0
- package/lib/room-control/whiteboard-control/utils.d.ts +51 -0
- package/lib/room-control/whiteboard-control/utils.js +273 -0
- package/lib/room-control/whiteboard-control-v2/index.d.ts +35 -0
- package/lib/room-control/whiteboard-control-v2/index.js +242 -0
- package/lib/room-control/whiteboard-control-v2/main-window.d.ts +33 -0
- package/lib/room-control/whiteboard-control-v2/main-window.js +213 -0
- package/lib/room-control/whiteboard-control-v2/utils.d.ts +3 -0
- package/lib/room-control/whiteboard-control-v2/utils.js +39 -0
- package/lib/service/api.d.ts +401 -0
- package/lib/service/api.js +924 -0
- package/lib/service/type.d.ts +7 -0
- package/lib/service/type.js +5 -0
- package/lib/type.d.ts +254 -0
- package/lib/type.js +87 -0
- package/lib/utilities/cmd.d.ts +1 -0
- package/lib/utilities/cmd.js +7 -0
- package/lib/utilities/collection.d.ts +22 -0
- package/lib/utilities/collection.js +74 -0
- package/lib/utilities/error.d.ts +41 -0
- package/lib/utilities/error.js +68 -0
- package/lib/utilities/package-info.d.ts +1 -0
- package/lib/utilities/package-info.js +12 -0
- package/lib/utilities/parameters.d.ts +9 -0
- package/lib/utilities/parameters.js +30 -0
- package/lib/utilities/stream.d.ts +27 -0
- package/lib/utilities/stream.js +34 -0
- package/lib/utilities/user.d.ts +7 -0
- package/lib/utilities/user.js +34 -0
- package/package.json +98 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* git do not control webim.config.js
|
|
3
|
+
* everyone should copy webim.config.js.demo to webim.config.js
|
|
4
|
+
* and have their own configs.
|
|
5
|
+
* In this way , others won't be influenced by this config while git pull.
|
|
6
|
+
*/
|
|
7
|
+
declare const agoraChatConfig: {
|
|
8
|
+
Host: string;
|
|
9
|
+
https: boolean;
|
|
10
|
+
isHttpDNS: boolean;
|
|
11
|
+
isMultiLoginSessions: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @parameter {Boolean} true or false
|
|
14
|
+
*/
|
|
15
|
+
isSandBox: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether to console.log
|
|
18
|
+
* @parameter {Boolean} true or false
|
|
19
|
+
*/
|
|
20
|
+
isDebug: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* will auto connect the websocket server autoReconnectNumMax times in background when client is offline.
|
|
23
|
+
* won't auto connect if autoReconnectNumMax=0.
|
|
24
|
+
*/
|
|
25
|
+
autoReconnectNumMax: number;
|
|
26
|
+
/**
|
|
27
|
+
* webrtc supports WebKit and https only
|
|
28
|
+
*/
|
|
29
|
+
useOwnUploadFun: boolean;
|
|
30
|
+
isAutoLogin: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Size of message cache for person to person
|
|
33
|
+
*/
|
|
34
|
+
p2pMessageCacheSize: number;
|
|
35
|
+
/**
|
|
36
|
+
* When a message arrived, the receiver send an ack message to the
|
|
37
|
+
* sender, in order to tell the sender the message has delivered.
|
|
38
|
+
* See call back function onReceivedMessage
|
|
39
|
+
*/
|
|
40
|
+
delivery: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Size of message cache for group chating like group, chatroom etc. For use in this demo
|
|
43
|
+
*/
|
|
44
|
+
groupMessageCacheSize: number;
|
|
45
|
+
/**
|
|
46
|
+
* enable localstorage for history messages. For use in this demo
|
|
47
|
+
*/
|
|
48
|
+
enableLocalStorage: boolean;
|
|
49
|
+
deviceId: string;
|
|
50
|
+
};
|
|
51
|
+
export { agoraChatConfig };
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.agoraChatConfig = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* git do not control webim.config.js
|
|
9
|
+
* everyone should copy webim.config.js.demo to webim.config.js
|
|
10
|
+
* and have their own configs.
|
|
11
|
+
* In this way , others won't be influenced by this config while git pull.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// for react native
|
|
15
|
+
// var location = {
|
|
16
|
+
// protocol: "https"
|
|
17
|
+
// }
|
|
18
|
+
|
|
19
|
+
const agoraChatConfig = exports.agoraChatConfig = {
|
|
20
|
+
/*
|
|
21
|
+
* websocket server
|
|
22
|
+
* im-api-v2.easemob.com/ws 线上环境
|
|
23
|
+
* im-api-v2-hsb.easemob.com/ws 沙箱环境
|
|
24
|
+
*/
|
|
25
|
+
// socketServer: getUrl().socketUrl, //(window.location.protocol === "https:" ? "https:" : "http:") + "//im-api-v2.easemob.com/ws",
|
|
26
|
+
/*
|
|
27
|
+
* Backend REST API URL
|
|
28
|
+
* a1.easemob.com 线上环境
|
|
29
|
+
* a1-hsb.easemob.com 沙箱环境
|
|
30
|
+
*/
|
|
31
|
+
// restServer: getUrl().apiUrl, //(window.location.protocol === "https:" ? "https:" : "http:") + "//a1.easemob.com",
|
|
32
|
+
/*
|
|
33
|
+
* Application AppKey
|
|
34
|
+
*/
|
|
35
|
+
// appkey: 'easemob-demo#cloudclass',
|
|
36
|
+
/*
|
|
37
|
+
* Application Host
|
|
38
|
+
*/
|
|
39
|
+
Host: 'easemob.com',
|
|
40
|
+
/*
|
|
41
|
+
* Whether to use HTTPS
|
|
42
|
+
* @parameter {Boolean} true or false
|
|
43
|
+
*/
|
|
44
|
+
https: true,
|
|
45
|
+
/*
|
|
46
|
+
* 公有云配置默认为 true,
|
|
47
|
+
* 私有云配置请设置 isHttpDNS = false , 详细文档:http://docs-im.easemob.com/im/web/other/privatedeploy
|
|
48
|
+
*/
|
|
49
|
+
isHttpDNS: true,
|
|
50
|
+
/*
|
|
51
|
+
* isMultiLoginSessions
|
|
52
|
+
* true: A visitor can sign in to multiple webpages and receive messages at all the webpages.
|
|
53
|
+
* false: A visitor can sign in to only one webpage and receive messages at the webpage.
|
|
54
|
+
*/
|
|
55
|
+
isMultiLoginSessions: true,
|
|
56
|
+
/**
|
|
57
|
+
* @parameter {Boolean} true or false
|
|
58
|
+
*/
|
|
59
|
+
isSandBox: false,
|
|
60
|
+
//内部测试环境,集成时设为false
|
|
61
|
+
/**
|
|
62
|
+
* Whether to console.log
|
|
63
|
+
* @parameter {Boolean} true or false
|
|
64
|
+
*/
|
|
65
|
+
isDebug: true,
|
|
66
|
+
/**
|
|
67
|
+
* will auto connect the websocket server autoReconnectNumMax times in background when client is offline.
|
|
68
|
+
* won't auto connect if autoReconnectNumMax=0.
|
|
69
|
+
*/
|
|
70
|
+
autoReconnectNumMax: 10,
|
|
71
|
+
/**
|
|
72
|
+
* webrtc supports WebKit and https only
|
|
73
|
+
*/
|
|
74
|
+
// isWebRTC: window.RTCPeerConnection && /^https\:$/.test(window.location.protocol),
|
|
75
|
+
/*
|
|
76
|
+
* Upload pictures or file to your own server and send message with url
|
|
77
|
+
* @parameter {Boolean} true or false
|
|
78
|
+
* true: Using the API provided by SDK to upload file to huanxin server
|
|
79
|
+
* false: Using your method to upload file to your own server
|
|
80
|
+
*/
|
|
81
|
+
useOwnUploadFun: false,
|
|
82
|
+
/*
|
|
83
|
+
* Set to auto sign-in
|
|
84
|
+
*/
|
|
85
|
+
isAutoLogin: false,
|
|
86
|
+
/**
|
|
87
|
+
* Size of message cache for person to person
|
|
88
|
+
*/
|
|
89
|
+
p2pMessageCacheSize: 500,
|
|
90
|
+
/**
|
|
91
|
+
* When a message arrived, the receiver send an ack message to the
|
|
92
|
+
* sender, in order to tell the sender the message has delivered.
|
|
93
|
+
* See call back function onReceivedMessage
|
|
94
|
+
*/
|
|
95
|
+
delivery: false,
|
|
96
|
+
/**
|
|
97
|
+
* Size of message cache for group chating like group, chatroom etc. For use in this demo
|
|
98
|
+
*/
|
|
99
|
+
groupMessageCacheSize: 200,
|
|
100
|
+
/**
|
|
101
|
+
* enable localstorage for history messages. For use in this demo
|
|
102
|
+
*/
|
|
103
|
+
enableLocalStorage: true,
|
|
104
|
+
deviceId: 'webim'
|
|
105
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { EasemobChat } from '../imports';
|
|
2
|
+
import { FcrChatConnection, FcrChatConnectionObserver, FcrChatConnectionState } from './type';
|
|
3
|
+
import { FcrCoreServiceApi } from '../service/api';
|
|
4
|
+
import { FcrCoreEngineConfig } from '../type';
|
|
5
|
+
export declare class FcrChatConnectionImpl implements FcrChatConnection {
|
|
6
|
+
private _config;
|
|
7
|
+
private _api;
|
|
8
|
+
protected logger: import("agora-foundation/lib/logger").Logger;
|
|
9
|
+
private _observable;
|
|
10
|
+
private _initConfig?;
|
|
11
|
+
private _chatIpList?;
|
|
12
|
+
private _restIpList?;
|
|
13
|
+
private _conn?;
|
|
14
|
+
private _connectionState;
|
|
15
|
+
constructor(_config: FcrCoreEngineConfig, _api: FcrCoreServiceApi);
|
|
16
|
+
login(): Promise<void>;
|
|
17
|
+
private _addEventListeners;
|
|
18
|
+
logout(): void;
|
|
19
|
+
private _setConnectionState;
|
|
20
|
+
getConnectionState(): FcrChatConnectionState;
|
|
21
|
+
getConnectionInstance(): EasemobChat.Connection;
|
|
22
|
+
addObserver(observer: FcrChatConnectionObserver): void;
|
|
23
|
+
removeObserver(observer: FcrChatConnectionObserver): void;
|
|
24
|
+
private _getPrivateConfig;
|
|
25
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.push.js");
|
|
4
|
+
require("core-js/modules/esnext.async-iterator.filter.js");
|
|
5
|
+
require("core-js/modules/esnext.async-iterator.for-each.js");
|
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
|
8
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
|
9
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
10
|
+
Object.defineProperty(exports, "__esModule", {
|
|
11
|
+
value: true
|
|
12
|
+
});
|
|
13
|
+
exports.FcrChatConnectionImpl = void 0;
|
|
14
|
+
require("core-js/modules/es.json.stringify.js");
|
|
15
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _imports = require("../imports");
|
|
18
|
+
var _type = require("./type");
|
|
19
|
+
var _parameters = require("../utilities/parameters");
|
|
20
|
+
var _config2 = require("./config");
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
class FcrChatConnectionImpl {
|
|
24
|
+
constructor(_config, _api) {
|
|
25
|
+
(0, _defineProperty2.default)(this, "logger", (0, _imports.getLogger)());
|
|
26
|
+
(0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
|
|
27
|
+
(0, _defineProperty2.default)(this, "_connectionState", _type.FcrChatConnectionState.DISCONNECTED);
|
|
28
|
+
this._config = _config;
|
|
29
|
+
this._api = _api;
|
|
30
|
+
}
|
|
31
|
+
async login() {
|
|
32
|
+
this._chatIpList = (0, _parameters.getEasemobChatIpList)(this._config.parameters);
|
|
33
|
+
this._restIpList = (0, _parameters.getEasemobRestIpList)(this._config.parameters);
|
|
34
|
+
const privateConfig = this._getPrivateConfig();
|
|
35
|
+
if (privateConfig) {
|
|
36
|
+
this.logger.info('[ChatRoomControl] use private config:', JSON.stringify(privateConfig));
|
|
37
|
+
}
|
|
38
|
+
await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
|
|
39
|
+
const tokenResult = await this._api.getUserToken(this._config.userId);
|
|
40
|
+
this._initConfig = tokenResult;
|
|
41
|
+
const connParams = _objectSpread(_objectSpread(_objectSpread({}, _config2.agoraChatConfig), privateConfig), {}, {
|
|
42
|
+
appKey: tokenResult.appKey
|
|
43
|
+
});
|
|
44
|
+
this._conn = new _imports.EasemobChatSDK.connection(connParams);
|
|
45
|
+
await this._conn.open({
|
|
46
|
+
accessToken: this._initConfig.token,
|
|
47
|
+
user: this._config.userId
|
|
48
|
+
});
|
|
49
|
+
this._observable.notifyObservers('onConnectionLoginSuccess');
|
|
50
|
+
this._addEventListeners();
|
|
51
|
+
}, [], {
|
|
52
|
+
retriesMax: 3
|
|
53
|
+
}).fail(async _ref => {
|
|
54
|
+
let {
|
|
55
|
+
error,
|
|
56
|
+
timeFn,
|
|
57
|
+
currentRetry
|
|
58
|
+
} = _ref;
|
|
59
|
+
if (error instanceof _imports.AgoraRestfulClientError) {
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
this.logger.error("[ChatConnection] retry to login ChatConnection, ".concat(error.message, ",retry ").concat(currentRetry, " times"));
|
|
63
|
+
await timeFn();
|
|
64
|
+
return true;
|
|
65
|
+
}).exec());
|
|
66
|
+
}
|
|
67
|
+
_addEventListeners() {
|
|
68
|
+
var _this$_conn;
|
|
69
|
+
(_this$_conn = this._conn) === null || _this$_conn === void 0 || _this$_conn.addEventHandler('connection', {
|
|
70
|
+
onError: e => {
|
|
71
|
+
// this._observable.notifyObservers('onErrorOccurred', this._initConfig.roomId);
|
|
72
|
+
},
|
|
73
|
+
onConnected: () => {
|
|
74
|
+
this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
|
|
75
|
+
},
|
|
76
|
+
onDisconnected: () => {
|
|
77
|
+
this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
logout() {
|
|
82
|
+
var _this$_conn2;
|
|
83
|
+
(_this$_conn2 = this._conn) === null || _this$_conn2 === void 0 || _this$_conn2.close();
|
|
84
|
+
}
|
|
85
|
+
_setConnectionState(state) {
|
|
86
|
+
this._connectionState = state;
|
|
87
|
+
this._observable.notifyObservers('onConnectionStateUpdated', state);
|
|
88
|
+
}
|
|
89
|
+
getConnectionState() {
|
|
90
|
+
return this._connectionState;
|
|
91
|
+
}
|
|
92
|
+
getConnectionInstance() {
|
|
93
|
+
return this._conn;
|
|
94
|
+
}
|
|
95
|
+
addObserver(observer) {
|
|
96
|
+
this._observable.addObserver(observer);
|
|
97
|
+
}
|
|
98
|
+
removeObserver(observer) {
|
|
99
|
+
this._observable.removeObserver(observer);
|
|
100
|
+
}
|
|
101
|
+
_getPrivateConfig() {
|
|
102
|
+
var _this$_chatIpList, _this$_restIpList;
|
|
103
|
+
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) {
|
|
104
|
+
var _this$_chatIpList2, _this$_restIpList2;
|
|
105
|
+
const privateConfig = {
|
|
106
|
+
isHttpDNS: false
|
|
107
|
+
};
|
|
108
|
+
if ((_this$_chatIpList2 = this._chatIpList) !== null && _this$_chatIpList2 !== void 0 && _this$_chatIpList2.length) {
|
|
109
|
+
privateConfig.url = this._chatIpList[0];
|
|
110
|
+
}
|
|
111
|
+
if ((_this$_restIpList2 = this._restIpList) !== null && _this$_restIpList2 !== void 0 && _this$_restIpList2.length) {
|
|
112
|
+
privateConfig.apiUrl = this._restIpList[0];
|
|
113
|
+
}
|
|
114
|
+
return privateConfig;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface FcrChatConnection {
|
|
2
|
+
login(): Promise<void>;
|
|
3
|
+
logout(): void;
|
|
4
|
+
getConnectionState(): FcrChatConnectionState;
|
|
5
|
+
getConnectionInstance(): unknown;
|
|
6
|
+
addObserver(observer: FcrChatConnectionObserver): void;
|
|
7
|
+
removeObserver(observer: FcrChatConnectionObserver): void;
|
|
8
|
+
}
|
|
9
|
+
export interface FcrChatConnectionObserver {
|
|
10
|
+
onConnectionStateUpdated(state: FcrChatConnectionState): void;
|
|
11
|
+
onConnectionLoginSuccess(): void;
|
|
12
|
+
}
|
|
13
|
+
export declare enum FcrChatConnectionState {
|
|
14
|
+
DISCONNECTED = 0,
|
|
15
|
+
CONNECTION = 1,
|
|
16
|
+
CONNECTED = 2
|
|
17
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FcrChatConnectionState = void 0;
|
|
7
|
+
let FcrChatConnectionState = exports.FcrChatConnectionState = /*#__PURE__*/function (FcrChatConnectionState) {
|
|
8
|
+
FcrChatConnectionState[FcrChatConnectionState["DISCONNECTED"] = 0] = "DISCONNECTED";
|
|
9
|
+
FcrChatConnectionState[FcrChatConnectionState["CONNECTION"] = 1] = "CONNECTION";
|
|
10
|
+
FcrChatConnectionState[FcrChatConnectionState["CONNECTED"] = 2] = "CONNECTED";
|
|
11
|
+
return FcrChatConnectionState;
|
|
12
|
+
}({});
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { FcrCoreEngineConfig, FcrCoreEngineObserver } from '../type';
|
|
2
|
+
import { FcrMainRoomControl, FcrRoomJoinOptions, FcrWaitingRoomControl } from '../room-control/type';
|
|
3
|
+
import { FcrPeerSessionControl } from '../peer-session/type';
|
|
4
|
+
import { FcrMonitorControl } from '../monitor-control/type';
|
|
5
|
+
import { FcrDesktopMediaControl, FcrMobileMediaControl } from '../media-control/type';
|
|
6
|
+
export declare class FcrCoreEngine {
|
|
7
|
+
constructor(config: FcrCoreEngineConfig);
|
|
8
|
+
/**
|
|
9
|
+
* Releases the engine and all its resources.
|
|
10
|
+
*/
|
|
11
|
+
release(): void;
|
|
12
|
+
/**
|
|
13
|
+
* Logins to the RTE service.
|
|
14
|
+
*/
|
|
15
|
+
login(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Logouts from the RTE service.
|
|
18
|
+
*/
|
|
19
|
+
logout(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Gets the version of the SDK.
|
|
22
|
+
* @returns The version of the SDK.
|
|
23
|
+
*/
|
|
24
|
+
getVersion(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a room control.
|
|
27
|
+
* @param roomId
|
|
28
|
+
* @returns The room control.
|
|
29
|
+
*/
|
|
30
|
+
createMainRoomControl(roomId: string): FcrMainRoomControl;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a waiting room control.
|
|
33
|
+
* @param roomId
|
|
34
|
+
* @returns The room control.
|
|
35
|
+
*/
|
|
36
|
+
createWaitingRoomControl(roomId: string): FcrWaitingRoomControl;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a main room control or a waiting room control.
|
|
39
|
+
* @param roomId
|
|
40
|
+
* @returns The room control.
|
|
41
|
+
*/
|
|
42
|
+
createRoomControlAndJoin: (roomId: string, options: FcrRoomJoinOptions) => Promise<FcrMainRoomControl | FcrWaitingRoomControl>;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the media control.
|
|
45
|
+
* @returns The media control.
|
|
46
|
+
*/
|
|
47
|
+
getDesktopMediaControl(): FcrDesktopMediaControl;
|
|
48
|
+
/**
|
|
49
|
+
* Gets the mobile media control.
|
|
50
|
+
* @returns The mobile media control.
|
|
51
|
+
*/
|
|
52
|
+
getMobileMediaControl(): FcrMobileMediaControl;
|
|
53
|
+
/**
|
|
54
|
+
* Gets the monitor control.
|
|
55
|
+
* @returns The monitor control.
|
|
56
|
+
*/
|
|
57
|
+
getMonitorControl(): FcrMonitorControl;
|
|
58
|
+
/**
|
|
59
|
+
* Gets the peer session control.
|
|
60
|
+
* @returns The peer session control.
|
|
61
|
+
*/
|
|
62
|
+
getPeerSessionControl(): FcrPeerSessionControl;
|
|
63
|
+
/**
|
|
64
|
+
* Sends a peer message.
|
|
65
|
+
* @param payload
|
|
66
|
+
* @param guaranteedDelivery
|
|
67
|
+
* @param receiverId
|
|
68
|
+
*/
|
|
69
|
+
sendPeerMessage(payload: Record<string, unknown>, guaranteedDelivery: boolean, receiverId: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Sets the parameters.
|
|
72
|
+
* @param parameters
|
|
73
|
+
*/
|
|
74
|
+
setParameters(parameters: Record<string, unknown>): void;
|
|
75
|
+
/**
|
|
76
|
+
* Adds an observer.
|
|
77
|
+
* @param observer
|
|
78
|
+
*/
|
|
79
|
+
addObserver(observer: FcrCoreEngineObserver): void;
|
|
80
|
+
/**
|
|
81
|
+
* Removes an observer.
|
|
82
|
+
* @param observer
|
|
83
|
+
*/
|
|
84
|
+
removeObserver(observer: FcrCoreEngineObserver): void;
|
|
85
|
+
private _addRteEngineObserver;
|
|
86
|
+
}
|