netender-web-sdk 1.0.1 → 1.1.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.
Files changed (37) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.esm.js +1 -1
  3. package/dist/index.umd.js +1 -1
  4. package/dist/meeting-kit-lite/src/kit/impl/audio_manager.d.ts +1 -1
  5. package/dist/meeting-kit-lite/src/kit/impl/invite_manager.d.ts +2 -2
  6. package/dist/meeting-kit-lite/src/kit/impl/meeting_kit.d.ts +3 -0
  7. package/dist/meeting-kit-lite/src/kit/impl/meeting_manager.d.ts +4 -0
  8. package/dist/meeting-kit-lite/src/kit/impl/pre_meeting_manager.d.ts +3 -3
  9. package/dist/meeting-kit-lite/src/kit/impl/screen_share_manager.d.ts +5 -1
  10. package/dist/meeting-kit-lite/src/kit/interface/audio_manager.d.ts +6 -6
  11. package/dist/meeting-kit-lite/src/kit/interface/invite_manager.d.ts +2 -2
  12. package/dist/meeting-kit-lite/src/kit/interface/meeting_kit.d.ts +7 -0
  13. package/dist/meeting-kit-lite/src/kit/interface/screen_share_manager.d.ts +8 -0
  14. package/dist/meeting-kit-lite/src/types/type.d.ts +24 -19
  15. package/dist/meeting-kit-lite/src/utils/index.d.ts +3 -0
  16. package/dist/meeting-kit-lite/src/utils/logDebug.d.ts +34 -28
  17. package/dist/tender-sdk-web/src/index.d.ts +13 -1
  18. package/dist/tender-sdk-web/src/interface/account_manager.d.ts +42 -0
  19. package/dist/tender-sdk-web/src/interface/audio_manager.d.ts +146 -0
  20. package/dist/tender-sdk-web/src/interface/chatroom_manager.d.ts +178 -0
  21. package/dist/tender-sdk-web/src/interface/invite_manager.d.ts +27 -0
  22. package/dist/tender-sdk-web/src/interface/meeting_kit.d.ts +71 -0
  23. package/dist/tender-sdk-web/src/interface/meeting_manager.d.ts +65 -0
  24. package/dist/tender-sdk-web/src/interface/member_manager.d.ts +85 -0
  25. package/dist/tender-sdk-web/src/interface/pre_meeting_manager.d.ts +36 -0
  26. package/dist/tender-sdk-web/src/interface/screen_share_manager.d.ts +35 -0
  27. package/dist/tender-sdk-web/src/interface/security_manager.d.ts +17 -0
  28. package/dist/tender-sdk-web/src/interface/types.d.ts +563 -0
  29. package/dist/tender-sdk-web/src/interface/video_manager.d.ts +97 -0
  30. package/dist/tender-sdk-web/src/interface/waitingRoom_manager.d.ts +51 -0
  31. package/dist/tender-sdk-web/src/types/index.d.ts +2 -0
  32. package/dist/tender-sdk-web/src/types/innerType.d.ts +344 -0
  33. package/dist/tender-sdk-web/src/types/type.d.ts +213 -0
  34. package/dist/tender-sdk-web/src/types_bak/index.d.ts +2 -0
  35. package/dist/tender-sdk-web/src/types_bak/innerType.d.ts +309 -0
  36. package/dist/tender-sdk-web/src/types_bak/type.d.ts +402 -0
  37. package/package.json +7 -4
@@ -0,0 +1,178 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export type NERoomChatMessageType = 'text' | 'image' | 'audio' | 'video' | 'file' | 'geo' | 'custom' | 'tip' | 'notification';
3
+ export interface Progress {
4
+ total?: string;
5
+ loaded?: string;
6
+ percentage: number;
7
+ percentageText?: string;
8
+ }
9
+ /**
10
+ * 房间内聊天消息
11
+ */
12
+ export type NERoomChatMessage = {
13
+ /**
14
+ * 消息 id
15
+ */
16
+ messageUuid?: string;
17
+ /**
18
+ * 客户端类型
19
+ */
20
+ fromClientType: 'Android' | 'iOS' | 'PC' | 'Web' | 'Mac';
21
+ /**
22
+ * 消息类型
23
+ */
24
+ messageType: NERoomChatMessageType;
25
+ /**
26
+ * 发送端用户ID。如果为空字符串,则说明该用户可能未加入房间内。
27
+ */
28
+ fromUserUuid: string;
29
+ /**
30
+ * 发送端昵称
31
+ */
32
+ fromNick: string;
33
+ /**
34
+ * 接收端; 为空表示聊天室全体成员
35
+ */
36
+ toUserUuidList?: string[];
37
+ /**
38
+ * 消息时间戳
39
+ */
40
+ time: number;
41
+ /**
42
+ * 消息类型
43
+ */
44
+ type: string;
45
+ /**
46
+ * 文本内容
47
+ */
48
+ text: string;
49
+ /**
50
+ * 消息状态
51
+ */
52
+ status: string;
53
+ /**
54
+ * 附加信息
55
+ */
56
+ attach?: {
57
+ from: string;
58
+ fromNick: string;
59
+ type: string;
60
+ to: string[];
61
+ toNick: string[];
62
+ url: string;
63
+ name: string;
64
+ msgId: string;
65
+ msgTime: number;
66
+ id: number;
67
+ operator: string;
68
+ };
69
+ /**
70
+ * 消息来源
71
+ */
72
+ from: string;
73
+ /**
74
+ * 消息是否来自自己
75
+ */
76
+ isMe?: boolean;
77
+ /**
78
+ * 重发
79
+ */
80
+ resend?: boolean;
81
+ /**
82
+ * 客户端唯一ID
83
+ */
84
+ idClient: string;
85
+ /**
86
+ * 文件
87
+ */
88
+ file?: {
89
+ name: string;
90
+ ext: string;
91
+ size: number;
92
+ url: string;
93
+ filePath: string;
94
+ w: number;
95
+ h: number;
96
+ };
97
+ /**
98
+ * 自定义信息
99
+ */
100
+ custom?: string;
101
+ /**
102
+ * 0: 会内聊天室;1: 等候室
103
+ */
104
+ chatroomType?: number;
105
+ /**
106
+ * 临时文件,用于重发
107
+ */
108
+ tempFile?: File;
109
+ /**
110
+ * 是否是私聊
111
+ */
112
+ isPrivate?: boolean;
113
+ /**
114
+ * 发送给的昵称
115
+ */
116
+ toNickname?: string;
117
+ /**
118
+ * 头像
119
+ */
120
+ fromAvatar?: string;
121
+ progress: Progress;
122
+ };
123
+ export type NERoomChatMessageExt = {
124
+ url: string;
125
+ displayName: string;
126
+ size: number;
127
+ md5: string;
128
+ extension: string;
129
+ width: number;
130
+ height: number;
131
+ attachStr?: string;
132
+ };
133
+ export type FileEx = File & {
134
+ base64?: string;
135
+ url?: string;
136
+ filePath?: string;
137
+ height?: number;
138
+ width?: number;
139
+ };
140
+ export interface ChatroomManager {
141
+ /**
142
+ * 发送文本消息
143
+ * @param content 消息内容
144
+ * @param toUserUuids 私聊用户UUID(可选)
145
+ */
146
+ sendTextMessage(idClient: string, content: string, isWaitingRoom?: boolean, toUserUuids?: string[]): Promise<NEResult<NERoomChatMessage>>;
147
+ /**
148
+ * 发送文件图片消息
149
+ * @param type 文件类型
150
+ * @param file 文件对象
151
+ * @param toUserUuids 私聊用户UUID(可选)
152
+ */
153
+ sendFileMessage(idClient: string, type: 'image' | 'file', file: FileEx, isWaitingRoom?: boolean, toUserUuids?: string[]): Promise<NEResult<NERoomChatMessage>>;
154
+ /**
155
+ * 撤回消息
156
+ * @param messageId 消息ID
157
+ */
158
+ recallMessage(msg: NERoomChatMessage): Promise<NEResult<void>>;
159
+ /**
160
+ * 取消发送
161
+ * @param messageId 消息ID
162
+ */
163
+ cancelSendFileMessage(msg: NERoomChatMessage): Promise<NEResult<void>>;
164
+ /**
165
+ * 下载附件
166
+ * web端不支持
167
+ * @param msg 消息
168
+ * @param path 保存路径
169
+ */
170
+ downloadAttachment(msg: NERoomChatMessage, path: string): Promise<NEResult<void>>;
171
+ /**
172
+ * 取消下载附件
173
+ * web端不支持
174
+ * @param msg 消息
175
+ */
176
+ cancelDownloadAttachment(msg: NERoomChatMessage): Promise<NEResult<void>>;
177
+ }
178
+ export default ChatroomManager;
@@ -0,0 +1,27 @@
1
+ import { NEESearchAccountInfo, NEAccountInfoListResponse } from './types';
2
+ export interface InviteInfo {
3
+ meetingNum: string;
4
+ meetingId: number;
5
+ subject: string;
6
+ password?: string;
7
+ inviteUrl: string;
8
+ shortInviteUrl: string;
9
+ }
10
+ export interface ContactInfo {
11
+ userUuid: string;
12
+ nickname: string;
13
+ avatar?: string;
14
+ }
15
+ export interface InviteManager {
16
+ /**
17
+ * 获取账号信息列表
18
+ * @param userUuids 用户UUID列表
19
+ */
20
+ getAccountInfoList(userUuids: string[]): Promise<NEAccountInfoListResponse>;
21
+ /**
22
+ * 根据手机号获取账号信息
23
+ * @param phone 手机号
24
+ */
25
+ searchAccountInfoByPhone(phone: string): Promise<NEESearchAccountInfo[]>;
26
+ }
27
+ export default InviteManager;
@@ -0,0 +1,71 @@
1
+ import { NEGlobalEventListener, NEServerConfig, NEResult } from 'neroom-types';
2
+ import AccountManager from './account_manager';
3
+ import MeetingManager from './meeting_manager';
4
+ import AudioManager from './audio_manager';
5
+ import VideoManager from './video_manager';
6
+ import SecurityManager from './security_manager';
7
+ import InviteManager from './invite_manager';
8
+ import MemberManager from './member_manager';
9
+ import ChatroomManager from './chatroom_manager';
10
+ import ScreenShareManager from './screen_share_manager';
11
+ import PreMeetingManager from './pre_meeting_manager';
12
+ export type NEMeetingKitServerConfig = NEServerConfig;
13
+ export type ExceptionHandler = {
14
+ onError: (code: number) => void;
15
+ };
16
+ export type NEMeetingKitInitConfig = {
17
+ /**
18
+ * 是否开启日志打印(默认为true)
19
+ */
20
+ debug?: boolean;
21
+ /**
22
+ * 是否开启日志上(报默认为true)
23
+ */
24
+ eventTracking?: boolean;
25
+ /**
26
+ * 会议appKey
27
+ */
28
+ appKey: string;
29
+ /**
30
+ * 私有化配置使用,如果配置该字段则会从服务端对应接口拉取配置文件。但是优先级低于其他私有化配置字段,如果配置过其他字段则该配置不生效
31
+ */
32
+ serverUrl?: string;
33
+ /**
34
+ * 是否读取私有化配置文件(C++使用)
35
+ */
36
+ useAssetServerConfig?: boolean;
37
+ serverConfig?: NEServerConfig;
38
+ logPath?: string;
39
+ };
40
+ export interface NETenderWebSDK {
41
+ /**
42
+ * 初始化
43
+ * @param config 配置信息
44
+ */
45
+ initialize(config: NEMeetingKitInitConfig): Promise<NEResult<void>>;
46
+ /**
47
+ * 反初始化
48
+ */
49
+ unInitialize(): Promise<NEResult<void>>;
50
+ getAccountManager(): AccountManager | undefined;
51
+ getMeetingManager(): MeetingManager | undefined;
52
+ getAudioManager(): AudioManager | undefined;
53
+ getVideoManager(): VideoManager | undefined;
54
+ getSecurityManager(): SecurityManager | undefined;
55
+ getInviteManager(): InviteManager | undefined;
56
+ getMemberManager(): MemberManager | undefined;
57
+ getChatroomManager(): ChatroomManager | undefined;
58
+ getScreenShareManager(): ScreenShareManager | undefined;
59
+ getPreMeetingManager(): PreMeetingManager | undefined;
60
+ addGlobalEventListener: (listener: NEGlobalEventListener) => void;
61
+ removeGlobalEventListener: (listener: NEGlobalEventListener) => void;
62
+ /**
63
+ * 写日志
64
+ * @param moduleName 模块名称
65
+ * @param level 日志级别
66
+ * @param content 日志内容
67
+ */
68
+ writeLog(moduleName: string, level: number, content: string): void;
69
+ }
70
+ export type { NEGlobalEventListener, NEServerConfig, NEDeviceBaseInfo, NERoomListener, NEStatsListener, NEMessageChannelListener, NEResult, NERoomRtcScreenCaptureSource, NERoomScreenConfig, NERoomStopScreenConfig, NEDeviceSwitchInfo, NERoomVideoView, NEVideoStreamType, NEWaitingRoomInfo, NEWaitingRoomMember, NEWaitingRoomListener, NERoomMemberInviteState, NERoomMemberInviteType, NERtcEx, NEClientType, } from 'neroom-types';
71
+ export * from './types';
@@ -0,0 +1,65 @@
1
+ import { NERoomListener, NEStatsListener, NEMessageChannelListener } from 'neroom-types';
2
+ import { NEMeetingCreateOptions, NEMeetingJoinOptions, NEMeetingSDKInfo } from './types';
3
+ export interface MeetingManager {
4
+ /**
5
+ * 创建房间
6
+ * @param options 创建会议选项
7
+ */
8
+ createMeeting(options: NEMeetingCreateOptions): Promise<void>;
9
+ /**
10
+ * 加入房间
11
+ * @param options 加入会议选项
12
+ */
13
+ joinMeeting(options: NEMeetingJoinOptions): Promise<void>;
14
+ /**
15
+ * 重新加入房间(被准入后重新加入房间)
16
+ */
17
+ rejoinAfterAdmittedToRoom(): Promise<void>;
18
+ /**
19
+ * 离开房间
20
+ * @param closeIfHost 是否结束会议
21
+ */
22
+ leaveMeeting(closeIfHost: boolean): Promise<void>;
23
+ /**
24
+ * 结束房间
25
+ */
26
+ endMeeting(): Promise<void>;
27
+ /**
28
+ * 获取会议信息
29
+ */
30
+ getMeetingInfo(): NEMeetingSDKInfo | null;
31
+ /**
32
+ * 添加会议事件监听器
33
+ * @param listener 监听器
34
+ */
35
+ addMeetingListener(listener: NERoomListener): void;
36
+ /**
37
+ * 移除会议事件监听器
38
+ * @param listener 监听器
39
+ */
40
+ removeMeetingListener(listener?: NERoomListener): void;
41
+ /**
42
+ * 获取房间监Rtc听器
43
+ */
44
+ addRtcStatsListener(listener: NEStatsListener): void;
45
+ /**
46
+ * 移除房间Rtc监听器
47
+ * @param listener 监听器
48
+ */
49
+ removeRtcStatsListener(listener: NEStatsListener): void;
50
+ /**
51
+ * 添加自定义透传消息监听
52
+ * @param listener 消息监听器
53
+ */
54
+ addMessageChannelListener(listener: NEMessageChannelListener): void;
55
+ /**
56
+ * 移除自定义透传消息监听
57
+ * @param listener 消息监听器
58
+ */
59
+ removeMessageChannelListener(listener: NEMessageChannelListener): void;
60
+ /**
61
+ * 释放会议资源,监听到离开或者结束会议事件后需调用
62
+ */
63
+ releaseMeeting(): void;
64
+ }
65
+ export default MeetingManager;
@@ -0,0 +1,85 @@
1
+ import { NEMember } from './types';
2
+ import { NEResult } from 'neroom-types';
3
+ export interface MemberInfo {
4
+ userUuid: string;
5
+ nickname: string;
6
+ avatar?: string;
7
+ role: 'host' | 'coHost' | 'attendee';
8
+ isAudioMuted: boolean;
9
+ isVideoMuted: boolean;
10
+ isScreenSharing: boolean;
11
+ isWhiteboardSharing: boolean;
12
+ isInWaitingRoom: boolean;
13
+ isFocus: boolean;
14
+ }
15
+ export interface MemberManager {
16
+ /**
17
+ * 获取成员列表
18
+ */
19
+ getMemberList(): NEMember[];
20
+ /**
21
+ * 静音
22
+ * @param userUuid 用户UUID
23
+ */
24
+ muteMemberAudio(userUuid: string): Promise<NEResult<void>>;
25
+ /**
26
+ * 关闭视频
27
+ * @param userUuid 用户UUID
28
+ */
29
+ muteMemberVideo(userUuid: string): Promise<NEResult<void>>;
30
+ /**
31
+ * 解除静音
32
+ * @param userUuid 用户UUID
33
+ */
34
+ unmuteMemberAudio(userUuid: string): Promise<NEResult<void>>;
35
+ /**
36
+ * 开启视频
37
+ * @param userUuid 用户UUID
38
+ */
39
+ unmuteMemberVideo(userUuid: string): Promise<NEResult<void>>;
40
+ /**
41
+ * 关闭音视频
42
+ * @param userUuid 用户UUID
43
+ */
44
+ muteVideoAndAudio(userUuid: string): Promise<NEResult<void>>;
45
+ /**
46
+ * 开启音视频
47
+ * @param userUuid 用户UUID
48
+ */
49
+ unmuteVideoAndAudio(userUuid: string): Promise<NEResult<void>>;
50
+ /**
51
+ * 全部静音
52
+ */
53
+ muteAllAudio(): Promise<NEResult<void>>;
54
+ /**
55
+ * 解除全部静音
56
+ */
57
+ unmuteAllAudio(): Promise<NEResult<void>>;
58
+ /**
59
+ * 全体开启视频
60
+ */
61
+ unmuteAllVideo(): Promise<NEResult<void>>;
62
+ /**
63
+ * 全体关闭视频
64
+ */
65
+ muteAllVideo(): Promise<NEResult<void>>;
66
+ /**
67
+ * 关闭屏幕共享
68
+ * @param userUuid 用户UUID
69
+ */
70
+ stopMemberScreenShare(userUuid: string): Promise<NEResult<void>>;
71
+ /**
72
+ * 手放下所有成员
73
+ */
74
+ handsDownAll(): Promise<void>;
75
+ /**
76
+ * 手放下单个成员
77
+ * @param userUuid 用户UUID 如果为空默认为自己
78
+ */
79
+ handsDown(userUuid?: string): Promise<NEResult<null>>;
80
+ /**
81
+ * 举手
82
+ */
83
+ handsUp(): Promise<NEResult<null>>;
84
+ }
85
+ export default MemberManager;
@@ -0,0 +1,36 @@
1
+ import { NEMeetingInfo, NEMeetingCreateOptions, NEMeetingGetListBySizeParams, NEScheduledMember } from './types';
2
+ export interface PreMeetingManager {
3
+ /**
4
+ * 获取会议列表
5
+ * @param options 获取会议列表选项
6
+ */
7
+ getMeetingListBySize(options: NEMeetingGetListBySizeParams): Promise<NEMeetingInfo[]>;
8
+ /**
9
+ * 预约房间
10
+ * @param options 预约会议选项
11
+ */
12
+ scheduleMeeting(options: NEMeetingCreateOptions): Promise<NEMeetingInfo>;
13
+ /**
14
+ * 修改预定房间
15
+ * @param meetingId 会议ID
16
+ * @param options 修改选项
17
+ */
18
+ editMeeting(meetingId: number | string, options: Partial<NEMeetingCreateOptions>): Promise<void>;
19
+ /**
20
+ * 取消预定房间
21
+ * @param meetingId 会议ID
22
+ * @param cancelRecurringMeeting 是否取消重复会议
23
+ */
24
+ cancelMeeting(meetingId: number | string, cancelRecurringMeeting?: boolean): Promise<void>;
25
+ /**
26
+ * 获取预约会议成员列表
27
+ * @param meetingNum 会议号
28
+ */
29
+ getScheduledMembers(meetingNum: string): Promise<NEScheduledMember[]>;
30
+ /**
31
+ * 根据会议号获取会议信息
32
+ * @param meetingNum 会议号
33
+ */
34
+ getMeetingInfoByMeetingNum(meetingNum: string): Promise<NEMeetingInfo>;
35
+ }
36
+ export default PreMeetingManager;
@@ -0,0 +1,35 @@
1
+ import { NEResult, NERoomRtcScreenCaptureSource, NERoomScreenConfig, NERoomStopScreenConfig } from 'neroom-types';
2
+ export type NERoomStartScreenConfigEnhanced = NERoomScreenConfig & {
3
+ preferMotion?: boolean;
4
+ isLinux?: boolean;
5
+ };
6
+ export interface ScreenShareManager {
7
+ /**
8
+ * 获取共享提示信息
9
+ */
10
+ getScreenShareMessage(): Promise<NEResult<string>>;
11
+ /**
12
+ * 获取共享列表
13
+ */
14
+ getScreenCaptureSourceList(): Promise<NEResult<NERoomRtcScreenCaptureSource[]>>;
15
+ /**
16
+ * 开始共享
17
+ * @param sourceId 源ID
18
+ * @param options 共享选项
19
+ */
20
+ startScreenShare(config?: NERoomStartScreenConfigEnhanced): Promise<NEResult<void>>;
21
+ /**
22
+ * 结束共享
23
+ */
24
+ stopScreenShare(config?: NERoomStopScreenConfig): Promise<NEResult<void>>;
25
+ /**
26
+ * 共享电脑音频
27
+ * @param enable 是否启用
28
+ */
29
+ startShareSystemAudio(enable: boolean): Promise<NEResult<void>>;
30
+ /**
31
+ * 安装共享电脑音频驱动
32
+ */
33
+ installAudioCaptureDriver(): Promise<NEResult<void>>;
34
+ }
35
+ export default ScreenShareManager;
@@ -0,0 +1,17 @@
1
+ import { NEResult } from 'neroom-types';
2
+ export interface SecurityManager {
3
+ /**
4
+ * 变更聊天室权限
5
+ * @param crPerm 会内聊天室权限
6
+ * @param wtPrChat 等候室聊天权限
7
+ */
8
+ changeChatroomPermission(crPerm?: '1' | '2' | '3' | '4', wtPrChat?: '0' | '1'): Promise<NEResult<void>>;
9
+ /**
10
+ * 获取聊天室权限
11
+ */
12
+ getChatroomPermission(): Promise<NEResult<{
13
+ crPerm: '1' | '2' | '3' | '4';
14
+ wtPrChat: '0' | '1';
15
+ }>>;
16
+ }
17
+ export default SecurityManager;