sim-sdk-web 1.0.18 → 1.0.19
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/api/conversation.d.ts +1 -4
- package/lib/api/index.d.ts +78 -6
- package/lib/constant/api.d.ts +2 -1
- package/lib/constant/callback.d.ts +54 -5
- package/lib/index.es.js +1 -1
- package/lib/index.js +1 -1
- package/lib/index.umd.js +1 -1
- package/lib/utils/SseClient.d.ts +7 -4
- package/package.json +1 -1
|
@@ -15,8 +15,5 @@ export declare class ConversationService {
|
|
|
15
15
|
* @param params 分页参数
|
|
16
16
|
* @returns 会话列表Promise
|
|
17
17
|
*/
|
|
18
|
-
getConversations(
|
|
19
|
-
list: ConversationItem[];
|
|
20
|
-
count: number;
|
|
21
|
-
}>>;
|
|
18
|
+
getConversations(): Promise<ServerResponse<PageParam<ConversationItem>>>;
|
|
22
19
|
}
|
package/lib/api/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GroupItem, HistoryMessageParam, ServerResponse, Request,
|
|
1
|
+
import { GroupItem, HistoryMessageParam, ServerResponse, Request, MessageItem } from '../types/entity';
|
|
2
2
|
import type { LoginParams, UploadFileParams } from '../types/params';
|
|
3
3
|
import { RequestApi } from '../constant/api';
|
|
4
4
|
import Emitter from '../utils/emitter';
|
|
@@ -7,11 +7,17 @@ import { UserService } from './user';
|
|
|
7
7
|
import { GroupService } from './group';
|
|
8
8
|
import { MessageService } from './message';
|
|
9
9
|
import { ConversationService } from './conversation';
|
|
10
|
+
interface SDKOptions {
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
apiAddr?: string;
|
|
13
|
+
appKey?: string;
|
|
14
|
+
}
|
|
10
15
|
/**
|
|
11
16
|
* SIMSDK主类 - 实时通信SDK的入口点
|
|
12
17
|
*/
|
|
13
18
|
declare class SIMSDK extends Emitter {
|
|
14
19
|
private config;
|
|
20
|
+
private internalState;
|
|
15
21
|
private sseClient?;
|
|
16
22
|
private readonly serviceManager;
|
|
17
23
|
/**
|
|
@@ -19,6 +25,21 @@ declare class SIMSDK extends Emitter {
|
|
|
19
25
|
* @param debug 是否启用调试模式
|
|
20
26
|
*/
|
|
21
27
|
constructor(debug?: boolean);
|
|
28
|
+
/**
|
|
29
|
+
* 配置SDK
|
|
30
|
+
* @param options SDK配置选项
|
|
31
|
+
*/
|
|
32
|
+
configure(options: SDKOptions): void;
|
|
33
|
+
/**
|
|
34
|
+
* 设置API地址
|
|
35
|
+
* @param apiAddr API地址
|
|
36
|
+
*/
|
|
37
|
+
setApiAddr(apiAddr: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* 设置应用密钥
|
|
40
|
+
* @param appKey 应用密钥
|
|
41
|
+
*/
|
|
42
|
+
setAppKey(appKey: string): void;
|
|
22
43
|
/**
|
|
23
44
|
* 获取指定服务实例
|
|
24
45
|
* @param name 服务名称
|
|
@@ -45,6 +66,16 @@ declare class SIMSDK extends Emitter {
|
|
|
45
66
|
* 获取用户名
|
|
46
67
|
*/
|
|
47
68
|
get username(): string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* 检查是否已连接
|
|
71
|
+
* @returns 是否已连接
|
|
72
|
+
*/
|
|
73
|
+
isConnected(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* 检查是否已登录
|
|
76
|
+
* @returns 是否已登录
|
|
77
|
+
*/
|
|
78
|
+
isLoggedIn(): boolean;
|
|
48
79
|
/**
|
|
49
80
|
* 发送请求到服务器
|
|
50
81
|
* @param requestObj 请求对象
|
|
@@ -79,6 +110,10 @@ declare class SIMSDK extends Emitter {
|
|
|
79
110
|
* 处理重连成功事件
|
|
80
111
|
*/
|
|
81
112
|
private handleReconnectSuccess;
|
|
113
|
+
/**
|
|
114
|
+
* 处理连接关闭事件
|
|
115
|
+
*/
|
|
116
|
+
private handleConnectionClosed;
|
|
82
117
|
/**
|
|
83
118
|
* 登录到服务器
|
|
84
119
|
* @param params 登录参数
|
|
@@ -104,13 +139,50 @@ declare class SIMSDK extends Emitter {
|
|
|
104
139
|
uploadFile: ({ file }: UploadFileParams) => Promise<ServerResponse<{
|
|
105
140
|
url: string;
|
|
106
141
|
}>>;
|
|
107
|
-
|
|
142
|
+
/**
|
|
143
|
+
* 监听单条消息
|
|
144
|
+
* @param callback 消息回调函数
|
|
145
|
+
* @returns 取消订阅函数
|
|
146
|
+
*/
|
|
147
|
+
onMessage(callback: (message: MessageItem) => void): () => void;
|
|
148
|
+
/**
|
|
149
|
+
* 监听多条消息
|
|
150
|
+
* @param callback 消息回调函数
|
|
151
|
+
* @returns 取消订阅函数
|
|
152
|
+
*/
|
|
153
|
+
onMessages(callback: (messages: MessageItem[]) => void): () => void;
|
|
154
|
+
/**
|
|
155
|
+
* 监听连接状态变化
|
|
156
|
+
* @param callback 状态变化回调
|
|
157
|
+
* @returns 取消订阅函数
|
|
158
|
+
*/
|
|
159
|
+
onConnectionChange(callback: (isConnected: boolean) => void): () => void;
|
|
160
|
+
/**
|
|
161
|
+
* 监听被踢下线事件
|
|
162
|
+
* @param callback 回调函数
|
|
163
|
+
* @returns 取消订阅函数
|
|
164
|
+
*/
|
|
165
|
+
onKickedOffline(callback: () => void): () => void;
|
|
166
|
+
createTextMessage: (text: string) => Promise<ServerResponse<MessageItem>>;
|
|
167
|
+
createImageMessage: (imageUrl: string) => Promise<ServerResponse<MessageItem>>;
|
|
108
168
|
getHistoryMessageList: (params: HistoryMessageParam) => Promise<ServerResponse<import("../types/entity").HistoryMessageResponse>>;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
169
|
+
/**
|
|
170
|
+
* 获取会话列表
|
|
171
|
+
* @param params 分页参数
|
|
172
|
+
* @returns 会话列表
|
|
173
|
+
*/
|
|
174
|
+
getConversations: () => Promise<ServerResponse<import("../types/entity").PageParam<import("../types/entity").ConversationItem>>>;
|
|
175
|
+
/**
|
|
176
|
+
* 创建群组
|
|
177
|
+
* @param group 群组信息
|
|
178
|
+
* @returns 创建结果
|
|
179
|
+
*/
|
|
113
180
|
createGroup: (group: GroupItem) => Promise<ServerResponse<import("../types/entity").GroupInfoVO>>;
|
|
181
|
+
/**
|
|
182
|
+
* 获取群组信息
|
|
183
|
+
* @param groupId 群组ID
|
|
184
|
+
* @returns 群组信息
|
|
185
|
+
*/
|
|
114
186
|
getGroupInfo: (groupId: string) => Promise<ServerResponse<import("../types/entity").GroupInfoVO>>;
|
|
115
187
|
get uuid(): string;
|
|
116
188
|
}
|
package/lib/constant/api.d.ts
CHANGED
|
@@ -11,5 +11,6 @@ export declare enum RequestApi {
|
|
|
11
11
|
GetGroupInfo = "/chat/group/info",
|
|
12
12
|
GetAllConversationList = "/chat/group/list",
|
|
13
13
|
CreateTextMessage = "/chat/message/push",
|
|
14
|
-
GetHistoryMessageList = "/chat/message/pull"
|
|
14
|
+
GetHistoryMessageList = "/chat/message/pull",
|
|
15
|
+
UploadFile = "/chat/member/upload"
|
|
15
16
|
}
|
|
@@ -1,7 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK 回调事件枚举
|
|
3
|
+
* - 所有事件使用 On 前缀,便于统一识别
|
|
4
|
+
* - 事件分类: 连接状态、消息、用户状态、群组、会话
|
|
5
|
+
*/
|
|
1
6
|
export declare enum CbEvents {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
OnConnected = "OnConnected",// 连接成功
|
|
8
|
+
OnDisconnected = "OnDisconnected",// 连接断开
|
|
9
|
+
OnReconnecting = "OnReconnecting",// 正在重连
|
|
10
|
+
OnReconnected = "OnReconnected",// 重连成功
|
|
11
|
+
OnReconnectFailed = "OnReconnectFailed",// 重连失败
|
|
12
|
+
OnNetworkChange = "OnNetworkChange",// 网络状态变化
|
|
13
|
+
OnReceiveMessage = "OnReceiveMessage",// 收到单条消息
|
|
14
|
+
OnReceiveMessages = "OnReceiveMessages",// 收到多条消息
|
|
15
|
+
OnMessageSent = "OnMessageSent",// 消息发送成功
|
|
16
|
+
OnMessageFailed = "OnMessageFailed",// 消息发送失败
|
|
17
|
+
OnMessageRevoked = "OnMessageRevoked",// 消息被撤回
|
|
18
|
+
OnMessageDeleted = "OnMessageDeleted",// 消息被删除
|
|
19
|
+
OnMessageRead = "OnMessageRead",// 消息已读
|
|
20
|
+
OnTypingStatusUpdate = "OnTypingStatusUpdate",// 对方正在输入
|
|
21
|
+
OnUserStatusChange = "OnUserStatusChange",// 用户状态变更
|
|
22
|
+
OnKickedOffline = "OnKickedOffline",// 被踢下线
|
|
23
|
+
OnUserTokenInvalid = "OnUserTokenInvalid",// 用户 Token 无效
|
|
24
|
+
OnUserTokenExpired = "OnUserTokenExpired",// 用户 Token 过期
|
|
25
|
+
OnForceOffline = "OnForceOffline",// 强制下线
|
|
26
|
+
OnUserInfoUpdated = "OnUserInfoUpdated",// 用户信息更新
|
|
27
|
+
OnGroupCreated = "OnGroupCreated",// 群组被创建
|
|
28
|
+
OnGroupInfoUpdated = "OnGroupInfoUpdated",// 群组信息更新
|
|
29
|
+
OnGroupDissolved = "OnGroupDissolved",// 群组被解散
|
|
30
|
+
OnJoinGroup = "OnJoinGroup",// 加入群组
|
|
31
|
+
OnLeaveGroup = "OnLeaveGroup",// 离开群组
|
|
32
|
+
OnGroupMemberJoined = "OnGroupMemberJoined",// 群成员加入
|
|
33
|
+
OnGroupMemberLeft = "OnGroupMemberLeft",// 群成员离开
|
|
34
|
+
OnGroupMemberKicked = "OnGroupMemberKicked",// 群成员被踢
|
|
35
|
+
OnGroupOwnerChanged = "OnGroupOwnerChanged",// 群主变更
|
|
36
|
+
OnGroupAdminAdded = "OnGroupAdminAdded",// 新增管理员
|
|
37
|
+
OnGroupAdminRemoved = "OnGroupAdminRemoved",// 移除管理员
|
|
38
|
+
OnGroupMemberMuted = "OnGroupMemberMuted",// 群成员被禁言
|
|
39
|
+
OnGroupMemberUnmuted = "OnGroupMemberUnmuted",// 群成员解除禁言
|
|
40
|
+
OnGroupAllMemberMuted = "OnGroupAllMemberMuted",// 全员禁言
|
|
41
|
+
OnGroupAllMemberUnmuted = "OnGroupAllMemberUnmuted",// 解除全员禁言
|
|
42
|
+
OnConversationCreated = "OnConversationCreated",// 新建会话
|
|
43
|
+
OnConversationDeleted = "OnConversationDeleted",// 删除会话
|
|
44
|
+
OnConversationUpdated = "OnConversationUpdated",// 会话更新
|
|
45
|
+
OnUnreadCountChanged = "OnUnreadCountChanged",// 未读消息数变化
|
|
46
|
+
OnConversationPinned = "OnConversationPinned",// 会话置顶
|
|
47
|
+
OnConversationUnpinned = "OnConversationUnpinned",// 会话取消置顶
|
|
48
|
+
OnConversationMuted = "OnConversationMuted",// 会话免打扰
|
|
49
|
+
OnConversationUnmuted = "OnConversationUnmuted",// 取消会话免打扰
|
|
50
|
+
OnPongConn = "OnPongConn",// SSE 连接心跳
|
|
51
|
+
OnPongReConn = "OnPongReConn",// SSE 重连心跳
|
|
52
|
+
OnPongIdle = "OnPongIdle",// SSE 空闲心跳
|
|
53
|
+
OnError = "OnError",// 错误事件
|
|
54
|
+
OnWarning = "OnWarning",// 警告事件
|
|
55
|
+
OnLog = "OnLog"
|
|
7
56
|
}
|
package/lib/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EventSourcePolyfill as e}from"event-source-polyfill";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(null,arguments)}function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function r(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var o;!function(e){e.MESSAGE="message",e.CONVERSATION="conversation",e.GROUP="group",e.USER="user"}(o||(o={}));var s,i,c,a=/*#__PURE__*/function(){function t(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess}var n=t.prototype;return n.removeAllEventListeners=function(){var e=this;this.eventSource&&(this.eventSource.removeEventListener("open",this.onOpen),this.handlers.forEach(function(t,n){var r;null==(r=e.eventSource)||r.removeEventListener(n,t)}),this.eventSource.removeEventListener("error",this.onError))},n.subscribe=function(e,t){this.handlers.set(e,t),this.connect()},n.connect=function(){var t=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(n,r){try{t.eventSource=new e(t.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+t.token}}),t.eventSource.addEventListener("open",function(e){t.onOpen(e),n("SSE connect successful!")}),t.eventSource.addEventListener("message",function(e){t.handleMessage(e.data)}),t.handlers.forEach(function(e,n){var r;null==(r=t.eventSource)||r.addEventListener(n,t.onMessage(e))}),t.eventSource.addEventListener("error",function(e){t.onError(e),t.connected||r("SSE connect error.")})}catch(e){console.error("Failed to create EventSource:",e),t.handleReconnect(),r(e)}})},n.onOpen=function(e){console.log("SSE connection established"),this.connected=!0,this.reconnectAttempts>0&&this.onReconnectSuccessCallback&&this.onReconnectSuccessCallback(),this.reconnectAttempts=0,this.reconnectTimeout=5e3},n.handleMessage=function(e){try{console.log("SSE handleMessage ",e);var t=JSON.parse(e);this.onMessageCallback&&this.onMessageCallback(t)}catch(e){console.error("数据解析错误:",e)}},n.onMessage=function(e){return function(t){try{var n=JSON.parse(t.data);console.log("Received SSE message:",n),"function"==typeof e&&e(n)}catch(e){console.error("Failed to parse SSE message:",e)}}},n.onError=function(e){console.error("SSE connection error:",e),this.connected=!1,401===e.status||e.statusText&&e.statusText.includes("Unauthorized")?this.cleanup():this.handleReconnect()},n.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect()},this.reconnectTimeout)}},n.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},n.unsubscribe=function(){this.cleanup(),this.handlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},n.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts},n.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},n.isConnected=function(){return this.connected},t}();!function(e){e[e.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",e[e.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",e[e.UnknownError=10005]="UnknownError",e[e.LoginRepeatError=10102]="LoginRepeatError"}(s||(s={})),function(e){e.Login="/chat/member/login",e.Logout="/chat/member/logout",e.CreateGroup="CreateGroup",e.GetGroupInfo="/chat/group/info",e.GetAllConversationList="/chat/group/list",e.CreateTextMessage="/chat/message/push",e.GetHistoryMessageList="/chat/message/pull"}(i||(i={})),function(e){e.onReceiveMessage="onReceiveMessage",e.onReceiveMessages="onReceiveMessages",e.OnKickedOffline="OnKickedOffline",e.OnUserTokenInvalid="OnUserTokenInvalid",e.OnUserTokenExpired="OnUserTokenExpired"}(c||(c={}));var u,d,l,g,h,f,m,p,v,E,M,S,A,N,O,y,T,P,k,G,b,R,C=/*#__PURE__*/function(){function e(){var e;this.events=((e={})[c.onReceiveMessage]=[],e[c.onReceiveMessages]=[],e)}var t=e.prototype;return t.emit=function(e,t){var n=this.events[e];return n&&n.forEach(function(e){return e(t)}),this},t.on=function(e,t){var n;return this.events[e]||(this.events[e]=[]),null==(n=this.events[e])||n.push(t),this},t.off=function(e,t){var n=this.events[e];if(n){var r=n.indexOf(t);r>-1&&(n.splice(r,1),0===n.length&&delete this.events[e])}return this},e}();!function(e){e[e.Nomal=0]="Nomal",e[e.NotReceive=1]="NotReceive",e[e.NotNotify=2]="NotNotify"}(u||(u={})),function(e){e[e.Allowed=0]="Allowed",e[e.NotAllowed=1]="NotAllowed"}(d||(d={})),function(e){e[e.Group=2]="Group",e[e.WorkingGroup=2]="WorkingGroup"}(l||(l={})),function(e){e[e.Invitation=2]="Invitation",e[e.Search=3]="Search",e[e.QrCode=4]="QrCode"}(g||(g={})),function(e){e[e.Nomal=20]="Nomal",e[e.Admin=60]="Admin",e[e.Owner=100]="Owner"}(h||(h={})),function(e){e[e.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",e[e.AllNeed=1]="AllNeed",e[e.AllNot=2]="AllNot"}(f||(f={})),function(e){e[e.iOS=1]="iOS",e[e.Android=2]="Android",e[e.Windows=3]="Windows",e[e.MacOSX=4]="MacOSX",e[e.Web=5]="Web",e[e.Linux=7]="Linux",e[e.AndroidPad=8]="AndroidPad",e[e.iPad=9]="iPad"}(m||(m={})),function(e){e[e.Debug=5]="Debug",e[e.Info=4]="Info",e[e.Warn=3]="Warn",e[e.Error=2]="Error",e[e.Fatal=1]="Fatal",e[e.Panic=0]="Panic"}(p||(p={})),function(e){e[e.Unprocessed=0]="Unprocessed",e[e.Agree=1]="Agree",e[e.Reject=-1]="Reject"}(v||(v={})),function(e){e[e.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",e[e.TextMessage=101]="TextMessage",e[e.PictureMessage=102]="PictureMessage",e[e.VoiceMessage=103]="VoiceMessage",e[e.VideoMessage=104]="VideoMessage",e[e.FileMessage=105]="FileMessage",e[e.AtTextMessage=106]="AtTextMessage",e[e.MergeMessage=107]="MergeMessage",e[e.CardMessage=108]="CardMessage",e[e.LocationMessage=109]="LocationMessage",e[e.CustomMessage=110]="CustomMessage",e[e.TypingMessage=113]="TypingMessage",e[e.QuoteMessage=114]="QuoteMessage",e[e.FaceMessage=115]="FaceMessage",e[e.FriendAdded=1201]="FriendAdded",e[e.OANotification=1400]="OANotification",e[e.GroupCreated=1501]="GroupCreated",e[e.MemberQuit=1504]="MemberQuit",e[e.GroupOwnerTransferred=1507]="GroupOwnerTransferred",e[e.MemberKicked=1508]="MemberKicked",e[e.MemberInvited=1509]="MemberInvited",e[e.MemberEnter=1510]="MemberEnter",e[e.GroupDismissed=1511]="GroupDismissed",e[e.GroupMemberMuted=1512]="GroupMemberMuted",e[e.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",e[e.GroupMuted=1514]="GroupMuted",e[e.GroupCancelMuted=1515]="GroupCancelMuted",e[e.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",e[e.GroupNameUpdated=1520]="GroupNameUpdated",e[e.BurnMessageChange=1701]="BurnMessageChange",e[e.RevokeMessage=2101]="RevokeMessage"}(E||(E={})),function(e){e[e.Single=1]="Single",e[e.Group=3]="Group",e[e.WorkingGroup=3]="WorkingGroup",e[e.Notification=4]="Notification"}(M||(M={})),function(e){e[e.Nomal=0]="Nomal",e[e.Baned=1]="Baned",e[e.Dismissed=2]="Dismissed",e[e.Muted=3]="Muted"}(S||(S={})),function(e){e[e.AtNormal=0]="AtNormal",e[e.AtMe=1]="AtMe",e[e.AtAll=2]="AtAll",e[e.AtAllAtMe=3]="AtAllAtMe",e[e.AtGroupNotice=4]="AtGroupNotice"}(A||(A={})),function(e){e[e.All=0]="All",e[e.Owner=1]="Owner",e[e.Admin=2]="Admin",e[e.Nomal=3]="Nomal",e[e.AdminAndNomal=4]="AdminAndNomal",e[e.AdminAndOwner=5]="AdminAndOwner"}(N||(N={})),function(e){e[e.isBlack=0]="isBlack",e[e.isFriend=1]="isFriend"}(O||(O={})),function(e){e[e.Logout=1]="Logout",e[e.Logging=2]="Logging",e[e.Logged=3]="Logged"}(y||(y={})),function(e){e[e.Online=1]="Online",e[e.Offline=0]="Offline"}(T||(T={})),function(e){e[e.Readed=0]="Readed",e[e.UnRead=1]="UnRead"}(P||(P={})),function(e){e[e.ONE_ON_ONE=0]="ONE_ON_ONE",e[e.GROUP_CHAT=1]="GROUP_CHAT",e[e.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE"}(k||(k={})),function(e){e[e.TEXT=0]="TEXT",e[e.IMAGE=1]="IMAGE",e[e.FILE=2]="FILE",e[e.VIDEO=3]="VIDEO",e[e.LINK=4]="LINK",e[e.GIF=5]="GIF"}(G||(G={})),function(e){e[e.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",e[e.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",e[e.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",e[e.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH"}(b||(b={})),function(e){e[e.Sending=1]="Sending",e[e.Succeed=2]="Succeed",e[e.Failed=3]="Failed"}(R||(R={}));var w={NORMAL:0,EDITED:1,DELETED:2},L="undefined"!=typeof uni,I="undefined"!=typeof window,_=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.login=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:i.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},t.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:i.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),x=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var n=e.prototype;return n.sendMessage=function(e,t){try{var n=this;return Promise.resolve(function(r,o){try{var s=Promise.resolve(n.sdk.sendRequest({data:e,url:t,method:"POST"}))}catch(e){return o(e)}return s&&s.then?s.then(void 0,o):s}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},n.createMessage=function(e,n,r,o,s){var i;void 0===r&&(r={});var c=t({},r,((i={msgType:e})[o]=s,i.status=0,i));return this.sendMessage(c,n)},n.createTextMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(G.TEXT,i.CreateTextMessage,t,"text",e))}catch(e){return Promise.reject(e)}},n.createImageMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(G.IMAGE,i.CreateTextMessage,t,"snapshot",e))}catch(e){return Promise.reject(e)}},n.getHistoryMessageList=function(e){var t=e.groupId,n=e.lastId,r=e.size,o=void 0===r?20:r;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:t,lastId:n,size:o},url:i.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),U=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}return e.prototype.getConversations=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:i.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),j=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.createGroup=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:i.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},t.getGroupInfo=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:e},url:i.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),F=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.services={},this.sdk=e}var t=e.prototype;return t.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},t.createService=function(e){switch(e){case o.USER:return new _(this.sdk);case o.MESSAGE:return new x(this.sdk);case o.CONVERSATION:return new U(this.sdk);case o.GROUP:return new j(this.sdk);default:throw new Error("Unknown service: "+e)}},t.reset=function(){this.services={}},e}(),V=/*#__PURE__*/function(e){function t(t){var n;return void 0===t&&(t=!1),(n=e.call(this)||this).config={debug:!1},n.sseClient=void 0,n.serviceManager=void 0,n.sendRequest=function(e){return n.config.debug&&n.logRequest(e),function(e){try{return Promise.resolve(L?new Promise(function(t,n){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return t(e.data)},fail:function(e){return n(e)}})}):function(){if(I)return console.log("isBrowser ",I),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:n.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:n.config.token?"Bearer "+n.config.token:""},data:e.data})},n.createRequestFunction=function(e,t){return function(r){return n.sendRequest({data:r,url:e,method:t})}},n.createRequestFunctionWithoutParams=function(e,t){return function(){return n.sendRequest({data:void 0,method:t,url:e})}},n.handleMessage=function(e){switch(n.config.debug&&console.log("handleMessage response",e),e.ev){case b.EVENT_MESSAGE_PUSH:1===e.dt.length?n.emit(c.onReceiveMessage,e.dt[0]):n.emit(c.onReceiveMessages,e.dt);break;case b.EVENT_PONG_CONN:case b.EVENT_PONG_RE_CONN:case b.EVENT_PONG_IDLE:break;default:n.config.debug&&console.warn("Unknown SSE event type:",e.ev)}},n.handleReconnectSuccess=function(){n.config.username&&n.config.debug&&console.log("SSE reconnection successful")},n.login=function(e){try{return n.sseClient?Promise.resolve("login repeat"):(n.config.apiAddr=e.apiAddr,n.config.token=e.token,n.config.debug&&(console.log("login params",e),console.log("apiAddr",n.config.apiAddr)),Promise.resolve(n.user.login(e)).then(function(t){var r=t.code,o=t.data;if(0!=r)return Promise.resolve("Login failed, Server error, error code is "+r);var s=n.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+o;n.config.username=e.username,n.config.token=e.token,n.config.appKey=e.appKey,n.sseClient=new a({url:s,onMessage:n.handleMessage,onReconnectSuccess:n.handleReconnectSuccess,token:e.token});try{return n.sseClient.connect()}catch(e){return Promise.reject(e.message)}}))}catch(e){return Promise.reject(e)}},n.logout=function(){try{return n.sseClient&&(n.sseClient.close(),n.sseClient=void 0),Promise.resolve(n.user.logout()).then(function(e){return n.config.username=void 0,n.config.token=void 0,e})}catch(e){return Promise.reject(e)}},n.internalUploadFile=function(e){try{try{return Promise.resolve({})}catch(e){return console.error("Upload failed:",e),Promise.resolve({error:e})}}catch(e){return Promise.reject(e)}},n.uploadFile=function(e){var t=e.file;try{return Promise.resolve(n.internalUploadFile(t)).then(function(e){var t,n=e.url,r=e.error;return{data:{url:void 0===n?"":n},msg:null!=(t=null==r?void 0:r.message)?t:"",code:r?s.UnknownError:0}})}catch(e){return Promise.reject(e)}},n.createTextMessage=function(e){return n.message.createTextMessage(e)},n.getHistoryMessageList=function(e){return n.message.getHistoryMessageList(e)},n.getConversations=function(e){return n.conversation.getConversations(e)},n.createGroup=function(e){return n.group.createGroup(e)},n.getGroupInfo=function(e){return n.group.getGroupInfo(e)},n.config.debug=t,n.serviceManager=new F(n),n}var i,u;u=e,(i=t).prototype=Object.create(u.prototype),i.prototype.constructor=i,n(i,u);var d,l,g=t.prototype;return g.getService=function(e){return this.serviceManager.get(e)},g.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},d=t,(l=[{key:"message",get:function(){return this.getService(o.MESSAGE)}},{key:"conversation",get:function(){return this.getService(o.CONVERSATION)}},{key:"group",get:function(){return this.getService(o.GROUP)}},{key:"user",get:function(){return this.getService(o.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}(d.prototype,l),Object.defineProperty(d,"prototype",{writable:!1}),d}(C);export{d as AllowType,v as ApplicationHandleResult,c as CbEvents,s as ErrorCode,k as GROUP_TYPE,A as GroupAtType,g as GroupJoinSource,N as GroupMemberFilter,h as GroupMemberRole,P as GroupMessageReaderFilter,S as GroupStatus,l as GroupType,f as GroupVerificationType,p as LogLevel,y as LoginStatus,G as MSG_TYPE,u as MessageReceiveOptType,R as MessageSendStatus,w as MessageStatus,E as MessageType,T as OnlineState,m as Platform,O as Relationship,i as RequestApi,V as SIMSDK,b as SSE_RESPONSE_TYPE,o as ServiceName,M as SessionType};
|
|
1
|
+
import{EventSourcePolyfill as e}from"event-source-polyfill";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},n.apply(null,arguments)}function t(e,n){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},t(e,n)}function o(e){var n=function(e){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof n?n:n+""}var r;!function(e){e.MESSAGE="message",e.CONVERSATION="conversation",e.GROUP="group",e.USER="user"}(r||(r={}));var i,s,c,a=/*#__PURE__*/function(){function n(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.onConnectionClosedCallback=void 0,this._openHandler=null,this._errorHandler=null,this._messageHandler=null,this._customHandlers=new Map,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess,this.onConnectionClosedCallback=e.onConnectionClosed}var t=n.prototype;return t.removeAllEventListeners=function(){var e=this;this.eventSource&&(this._openHandler&&this.eventSource.removeEventListener("open",this._openHandler),this._errorHandler&&this.eventSource.removeEventListener("error",this._errorHandler),this._messageHandler&&this.eventSource.removeEventListener("message",this._messageHandler),this.handlers.forEach(function(n,t){var o=e._customHandlers.get(t);o&&e.eventSource&&e.eventSource.removeEventListener(t,o)}))},t.subscribe=function(e,n){this.handlers.set(e,n);var t=function(e){try{var t=JSON.parse(e.data);n(t)}catch(e){console.error("Error parsing message data:",e)}};this._customHandlers.set(e,t),this.eventSource?this.eventSource.addEventListener(e,t):this.connect()},t.connect=function(){var n=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(t,o){try{n.eventSource=new e(n.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+n.token}}),n._openHandler=function(e){console.log("SSE connection established"),n.connected=!0,n.reconnectAttempts>0&&n.onReconnectSuccessCallback&&n.onReconnectSuccessCallback(),n.reconnectAttempts=0,n.reconnectTimeout=5e3,t("SSE connect successful!")},n._errorHandler=function(e){console.error("SSE connection error:",e),n.connected=!1,401===e.status||e.statusText&&e.statusText.includes("Unauthorized")?(n.cleanup(),n.notifyConnectionClosed(!0)):n.handleReconnect(),n.connected||o(new Error("SSE connect error"))},n._messageHandler=function(e){try{console.log("SSE received message:",e.data);var t=JSON.parse(e.data);n.onMessageCallback&&n.onMessageCallback(t)}catch(e){console.error("Error parsing message:",e)}},n.eventSource.addEventListener("open",n._openHandler),n.eventSource.addEventListener("error",n._errorHandler),n.eventSource.addEventListener("message",n._messageHandler),n.handlers.forEach(function(e,t){var o=n._customHandlers.get(t);o&&n.eventSource&&n.eventSource.addEventListener(t,o)});var r=setTimeout(function(){n.connected||(o(new Error("Connection timeout")),n.handleReconnect())},1e4),i=n._openHandler;n._openHandler=function(e){clearTimeout(r),i(e)}}catch(e){console.error("Failed to create EventSource:",e),n.handleReconnect(),o(e)}})},t.notifyConnectionClosed=function(e){void 0===e&&(e=!1),this.onConnectionClosedCallback&&this.onConnectionClosedCallback(),e?console.warn("SSE connection closed due to authentication error"):console.log("SSE connection closed")},t.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect().catch(function(){})},this.reconnectTimeout)}},t.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},t.unsubscribe=function(){this.cleanup(),this.handlers.clear(),this._customHandlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},t.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts,this.notifyConnectionClosed()},t.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},t.isConnected=function(){return this.connected},n}();!function(e){e[e.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",e[e.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",e[e.UnknownError=10005]="UnknownError",e[e.LoginRepeatError=10102]="LoginRepeatError"}(i||(i={})),function(e){e.Login="/chat/member/login",e.Logout="/chat/member/logout",e.CreateGroup="CreateGroup",e.GetGroupInfo="/chat/group/info",e.GetAllConversationList="/chat/group/list",e.CreateTextMessage="/chat/message/push",e.GetHistoryMessageList="/chat/message/pull",e.UploadFile="/chat/member/upload"}(s||(s={})),function(e){e.OnConnected="OnConnected",e.OnDisconnected="OnDisconnected",e.OnReconnecting="OnReconnecting",e.OnReconnected="OnReconnected",e.OnReconnectFailed="OnReconnectFailed",e.OnNetworkChange="OnNetworkChange",e.OnReceiveMessage="OnReceiveMessage",e.OnReceiveMessages="OnReceiveMessages",e.OnMessageSent="OnMessageSent",e.OnMessageFailed="OnMessageFailed",e.OnMessageRevoked="OnMessageRevoked",e.OnMessageDeleted="OnMessageDeleted",e.OnMessageRead="OnMessageRead",e.OnTypingStatusUpdate="OnTypingStatusUpdate",e.OnUserStatusChange="OnUserStatusChange",e.OnKickedOffline="OnKickedOffline",e.OnUserTokenInvalid="OnUserTokenInvalid",e.OnUserTokenExpired="OnUserTokenExpired",e.OnForceOffline="OnForceOffline",e.OnUserInfoUpdated="OnUserInfoUpdated",e.OnGroupCreated="OnGroupCreated",e.OnGroupInfoUpdated="OnGroupInfoUpdated",e.OnGroupDissolved="OnGroupDissolved",e.OnJoinGroup="OnJoinGroup",e.OnLeaveGroup="OnLeaveGroup",e.OnGroupMemberJoined="OnGroupMemberJoined",e.OnGroupMemberLeft="OnGroupMemberLeft",e.OnGroupMemberKicked="OnGroupMemberKicked",e.OnGroupOwnerChanged="OnGroupOwnerChanged",e.OnGroupAdminAdded="OnGroupAdminAdded",e.OnGroupAdminRemoved="OnGroupAdminRemoved",e.OnGroupMemberMuted="OnGroupMemberMuted",e.OnGroupMemberUnmuted="OnGroupMemberUnmuted",e.OnGroupAllMemberMuted="OnGroupAllMemberMuted",e.OnGroupAllMemberUnmuted="OnGroupAllMemberUnmuted",e.OnConversationCreated="OnConversationCreated",e.OnConversationDeleted="OnConversationDeleted",e.OnConversationUpdated="OnConversationUpdated",e.OnUnreadCountChanged="OnUnreadCountChanged",e.OnConversationPinned="OnConversationPinned",e.OnConversationUnpinned="OnConversationUnpinned",e.OnConversationMuted="OnConversationMuted",e.OnConversationUnmuted="OnConversationUnmuted",e.OnPongConn="OnPongConn",e.OnPongReConn="OnPongReConn",e.OnPongIdle="OnPongIdle",e.OnError="OnError",e.OnWarning="OnWarning",e.OnLog="OnLog"}(c||(c={}));var u,d,l,g,f,h,p,m,v,O,M,C,S,E,A,G,b,k,y,N,R,P,T=/*#__PURE__*/function(){function e(){var e;this.events=((e={})[c.OnReceiveMessage]=[],e[c.OnReceiveMessages]=[],e)}var n=e.prototype;return n.emit=function(e,n){var t=this.events[e];return t&&t.forEach(function(e){return e(n)}),this},n.on=function(e,n){var t;return this.events[e]||(this.events[e]=[]),null==(t=this.events[e])||t.push(n),this},n.off=function(e,n){var t=this.events[e];if(t){var o=t.indexOf(n);o>-1&&(t.splice(o,1),0===t.length&&delete this.events[e])}return this},e}();!function(e){e[e.Nomal=0]="Nomal",e[e.NotReceive=1]="NotReceive",e[e.NotNotify=2]="NotNotify"}(u||(u={})),function(e){e[e.Allowed=0]="Allowed",e[e.NotAllowed=1]="NotAllowed"}(d||(d={})),function(e){e[e.Group=2]="Group",e[e.WorkingGroup=2]="WorkingGroup"}(l||(l={})),function(e){e[e.Invitation=2]="Invitation",e[e.Search=3]="Search",e[e.QrCode=4]="QrCode"}(g||(g={})),function(e){e[e.Nomal=20]="Nomal",e[e.Admin=60]="Admin",e[e.Owner=100]="Owner"}(f||(f={})),function(e){e[e.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",e[e.AllNeed=1]="AllNeed",e[e.AllNot=2]="AllNot"}(h||(h={})),function(e){e[e.iOS=1]="iOS",e[e.Android=2]="Android",e[e.Windows=3]="Windows",e[e.MacOSX=4]="MacOSX",e[e.Web=5]="Web",e[e.Linux=7]="Linux",e[e.AndroidPad=8]="AndroidPad",e[e.iPad=9]="iPad"}(p||(p={})),function(e){e[e.Debug=5]="Debug",e[e.Info=4]="Info",e[e.Warn=3]="Warn",e[e.Error=2]="Error",e[e.Fatal=1]="Fatal",e[e.Panic=0]="Panic"}(m||(m={})),function(e){e[e.Unprocessed=0]="Unprocessed",e[e.Agree=1]="Agree",e[e.Reject=-1]="Reject"}(v||(v={})),function(e){e[e.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",e[e.TextMessage=101]="TextMessage",e[e.PictureMessage=102]="PictureMessage",e[e.VoiceMessage=103]="VoiceMessage",e[e.VideoMessage=104]="VideoMessage",e[e.FileMessage=105]="FileMessage",e[e.AtTextMessage=106]="AtTextMessage",e[e.MergeMessage=107]="MergeMessage",e[e.CardMessage=108]="CardMessage",e[e.LocationMessage=109]="LocationMessage",e[e.CustomMessage=110]="CustomMessage",e[e.TypingMessage=113]="TypingMessage",e[e.QuoteMessage=114]="QuoteMessage",e[e.FaceMessage=115]="FaceMessage",e[e.FriendAdded=1201]="FriendAdded",e[e.OANotification=1400]="OANotification",e[e.GroupCreated=1501]="GroupCreated",e[e.MemberQuit=1504]="MemberQuit",e[e.GroupOwnerTransferred=1507]="GroupOwnerTransferred",e[e.MemberKicked=1508]="MemberKicked",e[e.MemberInvited=1509]="MemberInvited",e[e.MemberEnter=1510]="MemberEnter",e[e.GroupDismissed=1511]="GroupDismissed",e[e.GroupMemberMuted=1512]="GroupMemberMuted",e[e.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",e[e.GroupMuted=1514]="GroupMuted",e[e.GroupCancelMuted=1515]="GroupCancelMuted",e[e.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",e[e.GroupNameUpdated=1520]="GroupNameUpdated",e[e.BurnMessageChange=1701]="BurnMessageChange",e[e.RevokeMessage=2101]="RevokeMessage"}(O||(O={})),function(e){e[e.Single=1]="Single",e[e.Group=3]="Group",e[e.WorkingGroup=3]="WorkingGroup",e[e.Notification=4]="Notification"}(M||(M={})),function(e){e[e.Nomal=0]="Nomal",e[e.Baned=1]="Baned",e[e.Dismissed=2]="Dismissed",e[e.Muted=3]="Muted"}(C||(C={})),function(e){e[e.AtNormal=0]="AtNormal",e[e.AtMe=1]="AtMe",e[e.AtAll=2]="AtAll",e[e.AtAllAtMe=3]="AtAllAtMe",e[e.AtGroupNotice=4]="AtGroupNotice"}(S||(S={})),function(e){e[e.All=0]="All",e[e.Owner=1]="Owner",e[e.Admin=2]="Admin",e[e.Nomal=3]="Nomal",e[e.AdminAndNomal=4]="AdminAndNomal",e[e.AdminAndOwner=5]="AdminAndOwner"}(E||(E={})),function(e){e[e.isBlack=0]="isBlack",e[e.isFriend=1]="isFriend"}(A||(A={})),function(e){e[e.Logout=1]="Logout",e[e.Logging=2]="Logging",e[e.Logged=3]="Logged"}(G||(G={})),function(e){e[e.Online=1]="Online",e[e.Offline=0]="Offline"}(b||(b={})),function(e){e[e.Readed=0]="Readed",e[e.UnRead=1]="UnRead"}(k||(k={})),function(e){e[e.ONE_ON_ONE=0]="ONE_ON_ONE",e[e.GROUP_CHAT=1]="GROUP_CHAT",e[e.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE"}(y||(y={})),function(e){e[e.TEXT=0]="TEXT",e[e.IMAGE=1]="IMAGE",e[e.FILE=2]="FILE",e[e.VIDEO=3]="VIDEO",e[e.LINK=4]="LINK",e[e.GIF=5]="GIF"}(N||(N={})),function(e){e[e.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",e[e.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",e[e.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",e[e.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH"}(R||(R={})),function(e){e[e.Sending=1]="Sending",e[e.Succeed=2]="Succeed",e[e.Failed=3]="Failed"}(P||(P={}));var w={NORMAL:0,EDITED:1,DELETED:2},_="undefined"!=typeof uni,U="undefined"!=typeof window,L=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var n=e.prototype;return n.login=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:s.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},n.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:s.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),I=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.sendMessage=function(e,n){try{var t=this;return Promise.resolve(function(o,r){try{var i=Promise.resolve(t.sdk.sendRequest({data:e,url:n,method:"POST"}))}catch(e){return r(e)}return i&&i.then?i.then(void 0,r):i}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},t.createMessage=function(e,t,o,r,i){var s;void 0===o&&(o={});var c=n({},o,((s={msgType:e})[r]=i,s.status=0,s));return this.sendMessage(c,t)},t.createTextMessage=function(e,n){void 0===n&&(n={});try{return Promise.resolve(this.createMessage(N.TEXT,s.CreateTextMessage,n,"text",e))}catch(e){return Promise.reject(e)}},t.createImageMessage=function(e,n){void 0===n&&(n={});try{return Promise.resolve(this.createMessage(N.IMAGE,s.CreateTextMessage,n,"snapshot",e))}catch(e){return Promise.reject(e)}},t.getHistoryMessageList=function(e){var n=e.groupId,t=e.lastId,o=e.size,r=void 0===o?20:o;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:n,lastId:t,size:r},url:s.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),x=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}return e.prototype.getConversations=function(){try{return Promise.resolve(this.sdk.sendRequest({data:void 0,url:s.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),F=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var n=e.prototype;return n.createGroup=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:s.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},n.getGroupInfo=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:e},url:s.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),j=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.services={},this.sdk=e}var n=e.prototype;return n.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},n.createService=function(e){switch(e){case r.USER:return new L(this.sdk);case r.MESSAGE:return new I(this.sdk);case r.CONVERSATION:return new x(this.sdk);case r.GROUP:return new F(this.sdk);default:throw new Error("Unknown service: "+e)}},n.reset=function(){this.services={}},e}();function D(e,n){try{var t=e()}catch(e){return n(e)}return t&&t.then?t.then(void 0,n):t}var H=[s.Logout,c.OnKickedOffline,c.OnUserTokenInvalid,c.OnUserTokenExpired],V=/*#__PURE__*/function(e){function n(n){var t;return void 0===n&&(n=!1),(t=e.call(this)||this).config={debug:!1},t.internalState={isConnected:!1,isLoggedIn:!1,reconnectAttempts:0,lastActivity:Date.now()},t.sseClient=void 0,t.serviceManager=void 0,t.sendRequest=function(e){return t.internalState.lastActivity=Date.now(),t.config.debug&&t.logRequest(e),function(e){try{return Promise.resolve(_?new Promise(function(n,t){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return n(e.data)},fail:function(e){return t(e)}})}):function(){if(U)return console.log("isBrowser ",U),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:t.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:t.config.token?"Bearer "+t.config.token:""},data:e.data})},t.createRequestFunction=function(e,n){return function(o){return t.sendRequest({data:o,url:e,method:n})}},t.createRequestFunctionWithoutParams=function(e,n){return function(){return t.sendRequest({data:void 0,method:n,url:e})}},t.handleMessage=function(e){switch(t.config.debug&&console.log("handleMessage response",e),e.ev){case R.EVENT_MESSAGE_PUSH:1===e.dt.length?t.emit(c.OnReceiveMessage,e.dt[0]):t.emit(c.OnReceiveMessages,e.dt);break;case R.EVENT_PONG_CONN:t.internalState.isConnected=!0,t.emit(c.OnConnected);break;case R.EVENT_PONG_RE_CONN:t.internalState.isConnected=!0,t.emit(c.OnReconnected);break;case R.EVENT_PONG_IDLE:break;default:n=e.ev,Object.values(c).includes(n)?(t.emit(e.ev,e.dt),H.includes(e.ev)&&(t.internalState.isLoggedIn=!1,t.internalState.isConnected=!1,t.sseClient&&(t.sseClient.close(),t.sseClient=void 0))):t.config.debug&&console.warn("Unknown SSE event type:",e.ev)}var n},t.handleReconnectSuccess=function(){t.config.username&&(t.internalState.isConnected=!0,t.internalState.reconnectAttempts=0,t.config.debug&&console.log("SSE reconnection successful"),t.emit(c.OnReconnected))},t.handleConnectionClosed=function(){t.internalState.isConnected=!1,t.config.debug&&console.log("SSE connection closed"),t.emit(c.OnDisconnected)},t.login=function(e){try{return t.sseClient?Promise.resolve("login repeat"):(t.config.apiAddr=e.apiAddr,t.config.token=e.token,t.config.debug&&(console.log("login params",e),console.log("apiAddr",t.config.apiAddr)),Promise.resolve(t.user.login(e)).then(function(n){var o=n.code,r=n.data;if(0!=o)return Promise.resolve("Login failed, Server error, error code is "+o);var i=t.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+r;return t.config.username=e.username,t.config.token=e.token,t.config.appKey=e.appKey,t.sseClient=new a({url:i,onMessage:t.handleMessage,onReconnectSuccess:t.handleReconnectSuccess,onConnectionClosed:t.handleConnectionClosed,token:e.token}),D(function(){return Promise.resolve(t.sseClient.connect()).then(function(e){return t.internalState.isLoggedIn=!0,e})},function(e){return t.internalState.isLoggedIn=!1,Promise.reject(e.message)})}))}catch(e){return Promise.reject(e)}},t.logout=function(){try{return t.sseClient&&(t.sseClient.close(),t.sseClient=void 0),Promise.resolve(t.user.logout()).then(function(e){return t.internalState.isLoggedIn=!1,t.internalState.isConnected=!1,t.config.username=void 0,t.config.token=void 0,e})}catch(e){return Promise.reject(e)}},t.internalUploadFile=function(e){try{return Promise.resolve(D(function(){var n=new FormData;return n.append("file",e),n.append("filename",e.name),Promise.resolve(fetch(""+t.config.apiAddr+s.UploadFile,{method:"POST",headers:{Authorization:t.config.token?"Bearer "+t.config.token:""},body:n})).then(function(e){if(!e.ok)throw new Error("Upload failed with status: "+e.status);return Promise.resolve(e.json()).then(function(e){var n;return{url:(null==(n=e.data)?void 0:n.url)||""}})})},function(e){return console.error("Upload failed:",e),{error:e}}))}catch(e){return Promise.reject(e)}},t.uploadFile=function(e){var n=e.file;try{return Promise.resolve(t.internalUploadFile(n)).then(function(e){var n,t=e.url,o=e.error;return{data:{url:void 0===t?"":t},msg:null!=(n=null==o?void 0:o.message)?n:"",code:o?i.UnknownError:0}})}catch(e){return Promise.reject(e)}},t.createTextMessage=function(e){return t.message.createTextMessage(e)},t.createImageMessage=function(e){return t.message.createImageMessage(e)},t.getHistoryMessageList=function(e){return t.message.getHistoryMessageList(e)},t.getConversations=function(){return t.conversation.getConversations()},t.createGroup=function(e){return t.group.createGroup(e)},t.getGroupInfo=function(e){return t.group.getGroupInfo(e)},t.config.debug=n,t.serviceManager=new j(t),t}var u,d;d=e,(u=n).prototype=Object.create(d.prototype),u.prototype.constructor=u,t(u,d);var l,g,f=n.prototype;return f.configure=function(e){void 0!==e.debug&&(this.config.debug=e.debug),e.apiAddr&&(this.config.apiAddr=e.apiAddr),e.appKey&&(this.config.appKey=e.appKey)},f.setApiAddr=function(e){this.config.apiAddr=e},f.setAppKey=function(e){this.config.appKey=e},f.getService=function(e){return this.serviceManager.get(e)},f.isConnected=function(){return!!this.sseClient&&this.internalState.isConnected},f.isLoggedIn=function(){return this.internalState.isLoggedIn},f.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},f.onMessage=function(e){var n=this;return this.on(c.OnReceiveMessage,e),function(){return n.off(c.OnReceiveMessage,e)}},f.onMessages=function(e){var n=this;return this.on(c.OnReceiveMessages,e),function(){return n.off(c.OnReceiveMessages,e)}},f.onConnectionChange=function(e){var n=this,t=function(){return e(!0)},o=function(){return e(!1)};return this.on(c.OnConnected,t),this.on(c.OnDisconnected,o),function(){n.off(c.OnConnected,t),n.off(c.OnDisconnected,o)}},f.onKickedOffline=function(e){var n=this;return this.on(c.OnKickedOffline,e),function(){return n.off(c.OnKickedOffline,e)}},l=n,(g=[{key:"message",get:function(){return this.getService(r.MESSAGE)}},{key:"conversation",get:function(){return this.getService(r.CONVERSATION)}},{key:"group",get:function(){return this.getService(r.GROUP)}},{key:"user",get:function(){return this.getService(r.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,o(r.key),r)}}(l.prototype,g),Object.defineProperty(l,"prototype",{writable:!1}),l}(T);export{d as AllowType,v as ApplicationHandleResult,c as CbEvents,i as ErrorCode,y as GROUP_TYPE,S as GroupAtType,g as GroupJoinSource,E as GroupMemberFilter,f as GroupMemberRole,k as GroupMessageReaderFilter,C as GroupStatus,l as GroupType,h as GroupVerificationType,m as LogLevel,G as LoginStatus,N as MSG_TYPE,u as MessageReceiveOptType,P as MessageSendStatus,w as MessageStatus,O as MessageType,b as OnlineState,p as Platform,A as Relationship,s as RequestApi,V as SIMSDK,R as SSE_RESPONSE_TYPE,r as ServiceName,M as SessionType};
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t=require("event-source-polyfill");function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},r.apply(null,arguments)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function n(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}exports.ServiceName=void 0,(e=exports.ServiceName||(exports.ServiceName={})).MESSAGE="message",e.CONVERSATION="conversation",e.GROUP="group",e.USER="user";var s,i,c,a=/*#__PURE__*/function(){function e(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess}var r=e.prototype;return r.removeAllEventListeners=function(){var e=this;this.eventSource&&(this.eventSource.removeEventListener("open",this.onOpen),this.handlers.forEach(function(t,r){var o;null==(o=e.eventSource)||o.removeEventListener(r,t)}),this.eventSource.removeEventListener("error",this.onError))},r.subscribe=function(e,t){this.handlers.set(e,t),this.connect()},r.connect=function(){var e=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(r,o){try{e.eventSource=new t.EventSourcePolyfill(e.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+e.token}}),e.eventSource.addEventListener("open",function(t){e.onOpen(t),r("SSE connect successful!")}),e.eventSource.addEventListener("message",function(t){e.handleMessage(t.data)}),e.handlers.forEach(function(t,r){var o;null==(o=e.eventSource)||o.addEventListener(r,e.onMessage(t))}),e.eventSource.addEventListener("error",function(t){e.onError(t),e.connected||o("SSE connect error.")})}catch(t){console.error("Failed to create EventSource:",t),e.handleReconnect(),o(t)}})},r.onOpen=function(e){console.log("SSE connection established"),this.connected=!0,this.reconnectAttempts>0&&this.onReconnectSuccessCallback&&this.onReconnectSuccessCallback(),this.reconnectAttempts=0,this.reconnectTimeout=5e3},r.handleMessage=function(e){try{console.log("SSE handleMessage ",e);var t=JSON.parse(e);this.onMessageCallback&&this.onMessageCallback(t)}catch(e){console.error("数据解析错误:",e)}},r.onMessage=function(e){return function(t){try{var r=JSON.parse(t.data);console.log("Received SSE message:",r),"function"==typeof e&&e(r)}catch(e){console.error("Failed to parse SSE message:",e)}}},r.onError=function(e){console.error("SSE connection error:",e),this.connected=!1,401===e.status||e.statusText&&e.statusText.includes("Unauthorized")?this.cleanup():this.handleReconnect()},r.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect()},this.reconnectTimeout)}},r.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},r.unsubscribe=function(){this.cleanup(),this.handlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},r.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts},r.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},r.isConnected=function(){return this.connected},e}();exports.ErrorCode=void 0,(s=exports.ErrorCode||(exports.ErrorCode={}))[s.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",s[s.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",s[s.UnknownError=10005]="UnknownError",s[s.LoginRepeatError=10102]="LoginRepeatError",exports.RequestApi=void 0,(i=exports.RequestApi||(exports.RequestApi={})).Login="/chat/member/login",i.Logout="/chat/member/logout",i.CreateGroup="CreateGroup",i.GetGroupInfo="/chat/group/info",i.GetAllConversationList="/chat/group/list",i.CreateTextMessage="/chat/message/push",i.GetHistoryMessageList="/chat/message/pull",exports.CbEvents=void 0,(c=exports.CbEvents||(exports.CbEvents={})).onReceiveMessage="onReceiveMessage",c.onReceiveMessages="onReceiveMessages",c.OnKickedOffline="OnKickedOffline",c.OnUserTokenInvalid="OnUserTokenInvalid",c.OnUserTokenExpired="OnUserTokenExpired";var u,d,p,l,g,v,h,m,f,S,E,M,x,T,A,G,N,P,R,y,O,b,k=/*#__PURE__*/function(){function e(){var e;this.events=((e={})[exports.CbEvents.onReceiveMessage]=[],e[exports.CbEvents.onReceiveMessages]=[],e)}var t=e.prototype;return t.emit=function(e,t){var r=this.events[e];return r&&r.forEach(function(e){return e(t)}),this},t.on=function(e,t){var r;return this.events[e]||(this.events[e]=[]),null==(r=this.events[e])||r.push(t),this},t.off=function(e,t){var r=this.events[e];if(r){var o=r.indexOf(t);o>-1&&(r.splice(o,1),0===r.length&&delete this.events[e])}return this},e}();exports.MessageReceiveOptType=void 0,(u=exports.MessageReceiveOptType||(exports.MessageReceiveOptType={}))[u.Nomal=0]="Nomal",u[u.NotReceive=1]="NotReceive",u[u.NotNotify=2]="NotNotify",exports.AllowType=void 0,(d=exports.AllowType||(exports.AllowType={}))[d.Allowed=0]="Allowed",d[d.NotAllowed=1]="NotAllowed",exports.GroupType=void 0,(p=exports.GroupType||(exports.GroupType={}))[p.Group=2]="Group",p[p.WorkingGroup=2]="WorkingGroup",exports.GroupJoinSource=void 0,(l=exports.GroupJoinSource||(exports.GroupJoinSource={}))[l.Invitation=2]="Invitation",l[l.Search=3]="Search",l[l.QrCode=4]="QrCode",exports.GroupMemberRole=void 0,(g=exports.GroupMemberRole||(exports.GroupMemberRole={}))[g.Nomal=20]="Nomal",g[g.Admin=60]="Admin",g[g.Owner=100]="Owner",exports.GroupVerificationType=void 0,(v=exports.GroupVerificationType||(exports.GroupVerificationType={}))[v.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",v[v.AllNeed=1]="AllNeed",v[v.AllNot=2]="AllNot",exports.Platform=void 0,(h=exports.Platform||(exports.Platform={}))[h.iOS=1]="iOS",h[h.Android=2]="Android",h[h.Windows=3]="Windows",h[h.MacOSX=4]="MacOSX",h[h.Web=5]="Web",h[h.Linux=7]="Linux",h[h.AndroidPad=8]="AndroidPad",h[h.iPad=9]="iPad",exports.LogLevel=void 0,(m=exports.LogLevel||(exports.LogLevel={}))[m.Debug=5]="Debug",m[m.Info=4]="Info",m[m.Warn=3]="Warn",m[m.Error=2]="Error",m[m.Fatal=1]="Fatal",m[m.Panic=0]="Panic",exports.ApplicationHandleResult=void 0,(f=exports.ApplicationHandleResult||(exports.ApplicationHandleResult={}))[f.Unprocessed=0]="Unprocessed",f[f.Agree=1]="Agree",f[f.Reject=-1]="Reject",exports.MessageType=void 0,(S=exports.MessageType||(exports.MessageType={}))[S.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",S[S.TextMessage=101]="TextMessage",S[S.PictureMessage=102]="PictureMessage",S[S.VoiceMessage=103]="VoiceMessage",S[S.VideoMessage=104]="VideoMessage",S[S.FileMessage=105]="FileMessage",S[S.AtTextMessage=106]="AtTextMessage",S[S.MergeMessage=107]="MergeMessage",S[S.CardMessage=108]="CardMessage",S[S.LocationMessage=109]="LocationMessage",S[S.CustomMessage=110]="CustomMessage",S[S.TypingMessage=113]="TypingMessage",S[S.QuoteMessage=114]="QuoteMessage",S[S.FaceMessage=115]="FaceMessage",S[S.FriendAdded=1201]="FriendAdded",S[S.OANotification=1400]="OANotification",S[S.GroupCreated=1501]="GroupCreated",S[S.MemberQuit=1504]="MemberQuit",S[S.GroupOwnerTransferred=1507]="GroupOwnerTransferred",S[S.MemberKicked=1508]="MemberKicked",S[S.MemberInvited=1509]="MemberInvited",S[S.MemberEnter=1510]="MemberEnter",S[S.GroupDismissed=1511]="GroupDismissed",S[S.GroupMemberMuted=1512]="GroupMemberMuted",S[S.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",S[S.GroupMuted=1514]="GroupMuted",S[S.GroupCancelMuted=1515]="GroupCancelMuted",S[S.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",S[S.GroupNameUpdated=1520]="GroupNameUpdated",S[S.BurnMessageChange=1701]="BurnMessageChange",S[S.RevokeMessage=2101]="RevokeMessage",exports.SessionType=void 0,(E=exports.SessionType||(exports.SessionType={}))[E.Single=1]="Single",E[E.Group=3]="Group",E[E.WorkingGroup=3]="WorkingGroup",E[E.Notification=4]="Notification",exports.GroupStatus=void 0,(M=exports.GroupStatus||(exports.GroupStatus={}))[M.Nomal=0]="Nomal",M[M.Baned=1]="Baned",M[M.Dismissed=2]="Dismissed",M[M.Muted=3]="Muted",exports.GroupAtType=void 0,(x=exports.GroupAtType||(exports.GroupAtType={}))[x.AtNormal=0]="AtNormal",x[x.AtMe=1]="AtMe",x[x.AtAll=2]="AtAll",x[x.AtAllAtMe=3]="AtAllAtMe",x[x.AtGroupNotice=4]="AtGroupNotice",exports.GroupMemberFilter=void 0,(T=exports.GroupMemberFilter||(exports.GroupMemberFilter={}))[T.All=0]="All",T[T.Owner=1]="Owner",T[T.Admin=2]="Admin",T[T.Nomal=3]="Nomal",T[T.AdminAndNomal=4]="AdminAndNomal",T[T.AdminAndOwner=5]="AdminAndOwner",exports.Relationship=void 0,(A=exports.Relationship||(exports.Relationship={}))[A.isBlack=0]="isBlack",A[A.isFriend=1]="isFriend",exports.LoginStatus=void 0,(G=exports.LoginStatus||(exports.LoginStatus={}))[G.Logout=1]="Logout",G[G.Logging=2]="Logging",G[G.Logged=3]="Logged",exports.OnlineState=void 0,(N=exports.OnlineState||(exports.OnlineState={}))[N.Online=1]="Online",N[N.Offline=0]="Offline",exports.GroupMessageReaderFilter=void 0,(P=exports.GroupMessageReaderFilter||(exports.GroupMessageReaderFilter={}))[P.Readed=0]="Readed",P[P.UnRead=1]="UnRead",exports.GROUP_TYPE=void 0,(R=exports.GROUP_TYPE||(exports.GROUP_TYPE={}))[R.ONE_ON_ONE=0]="ONE_ON_ONE",R[R.GROUP_CHAT=1]="GROUP_CHAT",R[R.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE",exports.MSG_TYPE=void 0,(y=exports.MSG_TYPE||(exports.MSG_TYPE={}))[y.TEXT=0]="TEXT",y[y.IMAGE=1]="IMAGE",y[y.FILE=2]="FILE",y[y.VIDEO=3]="VIDEO",y[y.LINK=4]="LINK",y[y.GIF=5]="GIF",exports.SSE_RESPONSE_TYPE=void 0,(O=exports.SSE_RESPONSE_TYPE||(exports.SSE_RESPONSE_TYPE={}))[O.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",O[O.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",O[O.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",O[O.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH",exports.MessageSendStatus=void 0,(b=exports.MessageSendStatus||(exports.MessageSendStatus={}))[b.Sending=1]="Sending",b[b.Succeed=2]="Succeed",b[b.Failed=3]="Failed";var C="undefined"!=typeof uni,_="undefined"!=typeof window,w=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.login=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:exports.RequestApi.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},t.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:exports.RequestApi.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),L=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.sendMessage=function(e,t){try{var r=this;return Promise.resolve(function(o,n){try{var s=Promise.resolve(r.sdk.sendRequest({data:e,url:t,method:"POST"}))}catch(e){return n(e)}return s&&s.then?s.then(void 0,n):s}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},t.createMessage=function(e,t,o,n,s){var i;void 0===o&&(o={});var c=r({},o,((i={msgType:e})[n]=s,i.status=0,i));return this.sendMessage(c,t)},t.createTextMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(exports.MSG_TYPE.TEXT,exports.RequestApi.CreateTextMessage,t,"text",e))}catch(e){return Promise.reject(e)}},t.createImageMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(exports.MSG_TYPE.IMAGE,exports.RequestApi.CreateTextMessage,t,"snapshot",e))}catch(e){return Promise.reject(e)}},t.getHistoryMessageList=function(e){var t=e.groupId,r=e.lastId,o=e.size,n=void 0===o?20:o;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:t,lastId:r,size:n},url:exports.RequestApi.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),I=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}return e.prototype.getConversations=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:exports.RequestApi.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),U=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.createGroup=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:exports.RequestApi.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},t.getGroupInfo=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:e},url:exports.RequestApi.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),F=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.services={},this.sdk=e}var t=e.prototype;return t.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},t.createService=function(e){switch(e){case exports.ServiceName.USER:return new w(this.sdk);case exports.ServiceName.MESSAGE:return new L(this.sdk);case exports.ServiceName.CONVERSATION:return new I(this.sdk);case exports.ServiceName.GROUP:return new U(this.sdk);default:throw new Error("Unknown service: "+e)}},t.reset=function(){this.services={}},e}(),j=/*#__PURE__*/function(e){function t(t){var r;return void 0===t&&(t=!1),(r=e.call(this)||this).config={debug:!1},r.sseClient=void 0,r.serviceManager=void 0,r.sendRequest=function(e){return r.config.debug&&r.logRequest(e),function(e){try{return Promise.resolve(C?new Promise(function(t,r){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return t(e.data)},fail:function(e){return r(e)}})}):function(){if(_)return console.log("isBrowser ",_),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:r.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:r.config.token?"Bearer "+r.config.token:""},data:e.data})},r.createRequestFunction=function(e,t){return function(o){return r.sendRequest({data:o,url:e,method:t})}},r.createRequestFunctionWithoutParams=function(e,t){return function(){return r.sendRequest({data:void 0,method:t,url:e})}},r.handleMessage=function(e){switch(r.config.debug&&console.log("handleMessage response",e),e.ev){case exports.SSE_RESPONSE_TYPE.EVENT_MESSAGE_PUSH:1===e.dt.length?r.emit(exports.CbEvents.onReceiveMessage,e.dt[0]):r.emit(exports.CbEvents.onReceiveMessages,e.dt);break;case exports.SSE_RESPONSE_TYPE.EVENT_PONG_CONN:case exports.SSE_RESPONSE_TYPE.EVENT_PONG_RE_CONN:case exports.SSE_RESPONSE_TYPE.EVENT_PONG_IDLE:break;default:r.config.debug&&console.warn("Unknown SSE event type:",e.ev)}},r.handleReconnectSuccess=function(){r.config.username&&r.config.debug&&console.log("SSE reconnection successful")},r.login=function(e){try{return r.sseClient?Promise.resolve("login repeat"):(r.config.apiAddr=e.apiAddr,r.config.token=e.token,r.config.debug&&(console.log("login params",e),console.log("apiAddr",r.config.apiAddr)),Promise.resolve(r.user.login(e)).then(function(t){var o=t.code,n=t.data;if(0!=o)return Promise.resolve("Login failed, Server error, error code is "+o);var s=r.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+n;r.config.username=e.username,r.config.token=e.token,r.config.appKey=e.appKey,r.sseClient=new a({url:s,onMessage:r.handleMessage,onReconnectSuccess:r.handleReconnectSuccess,token:e.token});try{return r.sseClient.connect()}catch(e){return Promise.reject(e.message)}}))}catch(e){return Promise.reject(e)}},r.logout=function(){try{return r.sseClient&&(r.sseClient.close(),r.sseClient=void 0),Promise.resolve(r.user.logout()).then(function(e){return r.config.username=void 0,r.config.token=void 0,e})}catch(e){return Promise.reject(e)}},r.internalUploadFile=function(e){try{try{return Promise.resolve({})}catch(e){return console.error("Upload failed:",e),Promise.resolve({error:e})}}catch(e){return Promise.reject(e)}},r.uploadFile=function(e){var t=e.file;try{return Promise.resolve(r.internalUploadFile(t)).then(function(e){var t,r=e.url,o=e.error;return{data:{url:void 0===r?"":r},msg:null!=(t=null==o?void 0:o.message)?t:"",code:o?exports.ErrorCode.UnknownError:0}})}catch(e){return Promise.reject(e)}},r.createTextMessage=function(e){return r.message.createTextMessage(e)},r.getHistoryMessageList=function(e){return r.message.getHistoryMessageList(e)},r.getConversations=function(e){return r.conversation.getConversations(e)},r.createGroup=function(e){return r.group.createGroup(e)},r.getGroupInfo=function(e){return r.group.getGroupInfo(e)},r.config.debug=t,r.serviceManager=new F(r),r}var r,s;s=e,(r=t).prototype=Object.create(s.prototype),r.prototype.constructor=r,o(r,s);var i,c,u=t.prototype;return u.getService=function(e){return this.serviceManager.get(e)},u.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},i=t,(c=[{key:"message",get:function(){return this.getService(exports.ServiceName.MESSAGE)}},{key:"conversation",get:function(){return this.getService(exports.ServiceName.CONVERSATION)}},{key:"group",get:function(){return this.getService(exports.ServiceName.GROUP)}},{key:"user",get:function(){return this.getService(exports.ServiceName.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}(i.prototype,c),Object.defineProperty(i,"prototype",{writable:!1}),i}(k);exports.MessageStatus={NORMAL:0,EDITED:1,DELETED:2},exports.SIMSDK=j;
|
|
1
|
+
var e,t=require("event-source-polyfill");function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},n.apply(null,arguments)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function r(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}exports.ServiceName=void 0,(e=exports.ServiceName||(exports.ServiceName={})).MESSAGE="message",e.CONVERSATION="conversation",e.GROUP="group",e.USER="user";var s,i,a,c=/*#__PURE__*/function(){function e(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.onConnectionClosedCallback=void 0,this._openHandler=null,this._errorHandler=null,this._messageHandler=null,this._customHandlers=new Map,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess,this.onConnectionClosedCallback=e.onConnectionClosed}var n=e.prototype;return n.removeAllEventListeners=function(){var e=this;this.eventSource&&(this._openHandler&&this.eventSource.removeEventListener("open",this._openHandler),this._errorHandler&&this.eventSource.removeEventListener("error",this._errorHandler),this._messageHandler&&this.eventSource.removeEventListener("message",this._messageHandler),this.handlers.forEach(function(t,n){var o=e._customHandlers.get(n);o&&e.eventSource&&e.eventSource.removeEventListener(n,o)}))},n.subscribe=function(e,t){this.handlers.set(e,t);var n=function(e){try{var n=JSON.parse(e.data);t(n)}catch(e){console.error("Error parsing message data:",e)}};this._customHandlers.set(e,n),this.eventSource?this.eventSource.addEventListener(e,n):this.connect()},n.connect=function(){var e=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(n,o){try{e.eventSource=new t.EventSourcePolyfill(e.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+e.token}}),e._openHandler=function(t){console.log("SSE connection established"),e.connected=!0,e.reconnectAttempts>0&&e.onReconnectSuccessCallback&&e.onReconnectSuccessCallback(),e.reconnectAttempts=0,e.reconnectTimeout=5e3,n("SSE connect successful!")},e._errorHandler=function(t){console.error("SSE connection error:",t),e.connected=!1,401===t.status||t.statusText&&t.statusText.includes("Unauthorized")?(e.cleanup(),e.notifyConnectionClosed(!0)):e.handleReconnect(),e.connected||o(new Error("SSE connect error"))},e._messageHandler=function(t){try{console.log("SSE received message:",t.data);var n=JSON.parse(t.data);e.onMessageCallback&&e.onMessageCallback(n)}catch(e){console.error("Error parsing message:",e)}},e.eventSource.addEventListener("open",e._openHandler),e.eventSource.addEventListener("error",e._errorHandler),e.eventSource.addEventListener("message",e._messageHandler),e.handlers.forEach(function(t,n){var o=e._customHandlers.get(n);o&&e.eventSource&&e.eventSource.addEventListener(n,o)});var r=setTimeout(function(){e.connected||(o(new Error("Connection timeout")),e.handleReconnect())},1e4),s=e._openHandler;e._openHandler=function(e){clearTimeout(r),s(e)}}catch(t){console.error("Failed to create EventSource:",t),e.handleReconnect(),o(t)}})},n.notifyConnectionClosed=function(e){void 0===e&&(e=!1),this.onConnectionClosedCallback&&this.onConnectionClosedCallback(),e?console.warn("SSE connection closed due to authentication error"):console.log("SSE connection closed")},n.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect().catch(function(){})},this.reconnectTimeout)}},n.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},n.unsubscribe=function(){this.cleanup(),this.handlers.clear(),this._customHandlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},n.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts,this.notifyConnectionClosed()},n.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},n.isConnected=function(){return this.connected},e}();exports.ErrorCode=void 0,(s=exports.ErrorCode||(exports.ErrorCode={}))[s.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",s[s.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",s[s.UnknownError=10005]="UnknownError",s[s.LoginRepeatError=10102]="LoginRepeatError",exports.RequestApi=void 0,(i=exports.RequestApi||(exports.RequestApi={})).Login="/chat/member/login",i.Logout="/chat/member/logout",i.CreateGroup="CreateGroup",i.GetGroupInfo="/chat/group/info",i.GetAllConversationList="/chat/group/list",i.CreateTextMessage="/chat/message/push",i.GetHistoryMessageList="/chat/message/pull",i.UploadFile="/chat/member/upload",exports.CbEvents=void 0,(a=exports.CbEvents||(exports.CbEvents={})).OnConnected="OnConnected",a.OnDisconnected="OnDisconnected",a.OnReconnecting="OnReconnecting",a.OnReconnected="OnReconnected",a.OnReconnectFailed="OnReconnectFailed",a.OnNetworkChange="OnNetworkChange",a.OnReceiveMessage="OnReceiveMessage",a.OnReceiveMessages="OnReceiveMessages",a.OnMessageSent="OnMessageSent",a.OnMessageFailed="OnMessageFailed",a.OnMessageRevoked="OnMessageRevoked",a.OnMessageDeleted="OnMessageDeleted",a.OnMessageRead="OnMessageRead",a.OnTypingStatusUpdate="OnTypingStatusUpdate",a.OnUserStatusChange="OnUserStatusChange",a.OnKickedOffline="OnKickedOffline",a.OnUserTokenInvalid="OnUserTokenInvalid",a.OnUserTokenExpired="OnUserTokenExpired",a.OnForceOffline="OnForceOffline",a.OnUserInfoUpdated="OnUserInfoUpdated",a.OnGroupCreated="OnGroupCreated",a.OnGroupInfoUpdated="OnGroupInfoUpdated",a.OnGroupDissolved="OnGroupDissolved",a.OnJoinGroup="OnJoinGroup",a.OnLeaveGroup="OnLeaveGroup",a.OnGroupMemberJoined="OnGroupMemberJoined",a.OnGroupMemberLeft="OnGroupMemberLeft",a.OnGroupMemberKicked="OnGroupMemberKicked",a.OnGroupOwnerChanged="OnGroupOwnerChanged",a.OnGroupAdminAdded="OnGroupAdminAdded",a.OnGroupAdminRemoved="OnGroupAdminRemoved",a.OnGroupMemberMuted="OnGroupMemberMuted",a.OnGroupMemberUnmuted="OnGroupMemberUnmuted",a.OnGroupAllMemberMuted="OnGroupAllMemberMuted",a.OnGroupAllMemberUnmuted="OnGroupAllMemberUnmuted",a.OnConversationCreated="OnConversationCreated",a.OnConversationDeleted="OnConversationDeleted",a.OnConversationUpdated="OnConversationUpdated",a.OnUnreadCountChanged="OnUnreadCountChanged",a.OnConversationPinned="OnConversationPinned",a.OnConversationUnpinned="OnConversationUnpinned",a.OnConversationMuted="OnConversationMuted",a.OnConversationUnmuted="OnConversationUnmuted",a.OnPongConn="OnPongConn",a.OnPongReConn="OnPongReConn",a.OnPongIdle="OnPongIdle",a.OnError="OnError",a.OnWarning="OnWarning",a.OnLog="OnLog";var u,d,l,p,g,v,h,f,m,O,S,E,M,C,x,A,G,b,R,T,P,y,N=/*#__PURE__*/function(){function e(){var e;this.events=((e={})[exports.CbEvents.OnReceiveMessage]=[],e[exports.CbEvents.OnReceiveMessages]=[],e)}var t=e.prototype;return t.emit=function(e,t){var n=this.events[e];return n&&n.forEach(function(e){return e(t)}),this},t.on=function(e,t){var n;return this.events[e]||(this.events[e]=[]),null==(n=this.events[e])||n.push(t),this},t.off=function(e,t){var n=this.events[e];if(n){var o=n.indexOf(t);o>-1&&(n.splice(o,1),0===n.length&&delete this.events[e])}return this},e}();exports.MessageReceiveOptType=void 0,(u=exports.MessageReceiveOptType||(exports.MessageReceiveOptType={}))[u.Nomal=0]="Nomal",u[u.NotReceive=1]="NotReceive",u[u.NotNotify=2]="NotNotify",exports.AllowType=void 0,(d=exports.AllowType||(exports.AllowType={}))[d.Allowed=0]="Allowed",d[d.NotAllowed=1]="NotAllowed",exports.GroupType=void 0,(l=exports.GroupType||(exports.GroupType={}))[l.Group=2]="Group",l[l.WorkingGroup=2]="WorkingGroup",exports.GroupJoinSource=void 0,(p=exports.GroupJoinSource||(exports.GroupJoinSource={}))[p.Invitation=2]="Invitation",p[p.Search=3]="Search",p[p.QrCode=4]="QrCode",exports.GroupMemberRole=void 0,(g=exports.GroupMemberRole||(exports.GroupMemberRole={}))[g.Nomal=20]="Nomal",g[g.Admin=60]="Admin",g[g.Owner=100]="Owner",exports.GroupVerificationType=void 0,(v=exports.GroupVerificationType||(exports.GroupVerificationType={}))[v.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",v[v.AllNeed=1]="AllNeed",v[v.AllNot=2]="AllNot",exports.Platform=void 0,(h=exports.Platform||(exports.Platform={}))[h.iOS=1]="iOS",h[h.Android=2]="Android",h[h.Windows=3]="Windows",h[h.MacOSX=4]="MacOSX",h[h.Web=5]="Web",h[h.Linux=7]="Linux",h[h.AndroidPad=8]="AndroidPad",h[h.iPad=9]="iPad",exports.LogLevel=void 0,(f=exports.LogLevel||(exports.LogLevel={}))[f.Debug=5]="Debug",f[f.Info=4]="Info",f[f.Warn=3]="Warn",f[f.Error=2]="Error",f[f.Fatal=1]="Fatal",f[f.Panic=0]="Panic",exports.ApplicationHandleResult=void 0,(m=exports.ApplicationHandleResult||(exports.ApplicationHandleResult={}))[m.Unprocessed=0]="Unprocessed",m[m.Agree=1]="Agree",m[m.Reject=-1]="Reject",exports.MessageType=void 0,(O=exports.MessageType||(exports.MessageType={}))[O.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",O[O.TextMessage=101]="TextMessage",O[O.PictureMessage=102]="PictureMessage",O[O.VoiceMessage=103]="VoiceMessage",O[O.VideoMessage=104]="VideoMessage",O[O.FileMessage=105]="FileMessage",O[O.AtTextMessage=106]="AtTextMessage",O[O.MergeMessage=107]="MergeMessage",O[O.CardMessage=108]="CardMessage",O[O.LocationMessage=109]="LocationMessage",O[O.CustomMessage=110]="CustomMessage",O[O.TypingMessage=113]="TypingMessage",O[O.QuoteMessage=114]="QuoteMessage",O[O.FaceMessage=115]="FaceMessage",O[O.FriendAdded=1201]="FriendAdded",O[O.OANotification=1400]="OANotification",O[O.GroupCreated=1501]="GroupCreated",O[O.MemberQuit=1504]="MemberQuit",O[O.GroupOwnerTransferred=1507]="GroupOwnerTransferred",O[O.MemberKicked=1508]="MemberKicked",O[O.MemberInvited=1509]="MemberInvited",O[O.MemberEnter=1510]="MemberEnter",O[O.GroupDismissed=1511]="GroupDismissed",O[O.GroupMemberMuted=1512]="GroupMemberMuted",O[O.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",O[O.GroupMuted=1514]="GroupMuted",O[O.GroupCancelMuted=1515]="GroupCancelMuted",O[O.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",O[O.GroupNameUpdated=1520]="GroupNameUpdated",O[O.BurnMessageChange=1701]="BurnMessageChange",O[O.RevokeMessage=2101]="RevokeMessage",exports.SessionType=void 0,(S=exports.SessionType||(exports.SessionType={}))[S.Single=1]="Single",S[S.Group=3]="Group",S[S.WorkingGroup=3]="WorkingGroup",S[S.Notification=4]="Notification",exports.GroupStatus=void 0,(E=exports.GroupStatus||(exports.GroupStatus={}))[E.Nomal=0]="Nomal",E[E.Baned=1]="Baned",E[E.Dismissed=2]="Dismissed",E[E.Muted=3]="Muted",exports.GroupAtType=void 0,(M=exports.GroupAtType||(exports.GroupAtType={}))[M.AtNormal=0]="AtNormal",M[M.AtMe=1]="AtMe",M[M.AtAll=2]="AtAll",M[M.AtAllAtMe=3]="AtAllAtMe",M[M.AtGroupNotice=4]="AtGroupNotice",exports.GroupMemberFilter=void 0,(C=exports.GroupMemberFilter||(exports.GroupMemberFilter={}))[C.All=0]="All",C[C.Owner=1]="Owner",C[C.Admin=2]="Admin",C[C.Nomal=3]="Nomal",C[C.AdminAndNomal=4]="AdminAndNomal",C[C.AdminAndOwner=5]="AdminAndOwner",exports.Relationship=void 0,(x=exports.Relationship||(exports.Relationship={}))[x.isBlack=0]="isBlack",x[x.isFriend=1]="isFriend",exports.LoginStatus=void 0,(A=exports.LoginStatus||(exports.LoginStatus={}))[A.Logout=1]="Logout",A[A.Logging=2]="Logging",A[A.Logged=3]="Logged",exports.OnlineState=void 0,(G=exports.OnlineState||(exports.OnlineState={}))[G.Online=1]="Online",G[G.Offline=0]="Offline",exports.GroupMessageReaderFilter=void 0,(b=exports.GroupMessageReaderFilter||(exports.GroupMessageReaderFilter={}))[b.Readed=0]="Readed",b[b.UnRead=1]="UnRead",exports.GROUP_TYPE=void 0,(R=exports.GROUP_TYPE||(exports.GROUP_TYPE={}))[R.ONE_ON_ONE=0]="ONE_ON_ONE",R[R.GROUP_CHAT=1]="GROUP_CHAT",R[R.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE",exports.MSG_TYPE=void 0,(T=exports.MSG_TYPE||(exports.MSG_TYPE={}))[T.TEXT=0]="TEXT",T[T.IMAGE=1]="IMAGE",T[T.FILE=2]="FILE",T[T.VIDEO=3]="VIDEO",T[T.LINK=4]="LINK",T[T.GIF=5]="GIF",exports.SSE_RESPONSE_TYPE=void 0,(P=exports.SSE_RESPONSE_TYPE||(exports.SSE_RESPONSE_TYPE={}))[P.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",P[P.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",P[P.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",P[P.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH",exports.MessageSendStatus=void 0,(y=exports.MessageSendStatus||(exports.MessageSendStatus={}))[y.Sending=1]="Sending",y[y.Succeed=2]="Succeed",y[y.Failed=3]="Failed";var k="undefined"!=typeof uni,_="undefined"!=typeof window,w=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.login=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:exports.RequestApi.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},t.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:exports.RequestApi.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),L=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.sendMessage=function(e,t){try{var n=this;return Promise.resolve(function(o,r){try{var s=Promise.resolve(n.sdk.sendRequest({data:e,url:t,method:"POST"}))}catch(e){return r(e)}return s&&s.then?s.then(void 0,r):s}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},t.createMessage=function(e,t,o,r,s){var i;void 0===o&&(o={});var a=n({},o,((i={msgType:e})[r]=s,i.status=0,i));return this.sendMessage(a,t)},t.createTextMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(exports.MSG_TYPE.TEXT,exports.RequestApi.CreateTextMessage,t,"text",e))}catch(e){return Promise.reject(e)}},t.createImageMessage=function(e,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(exports.MSG_TYPE.IMAGE,exports.RequestApi.CreateTextMessage,t,"snapshot",e))}catch(e){return Promise.reject(e)}},t.getHistoryMessageList=function(e){var t=e.groupId,n=e.lastId,o=e.size,r=void 0===o?20:o;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:t,lastId:n,size:r},url:exports.RequestApi.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},e}(),U=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}return e.prototype.getConversations=function(){try{return Promise.resolve(this.sdk.sendRequest({data:void 0,url:exports.RequestApi.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),I=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.sdk=e}var t=e.prototype;return t.createGroup=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:e,url:exports.RequestApi.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},t.getGroupInfo=function(e){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:e},url:exports.RequestApi.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},e}(),F=/*#__PURE__*/function(){function e(e){this.sdk=void 0,this.services={},this.sdk=e}var t=e.prototype;return t.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},t.createService=function(e){switch(e){case exports.ServiceName.USER:return new w(this.sdk);case exports.ServiceName.MESSAGE:return new L(this.sdk);case exports.ServiceName.CONVERSATION:return new U(this.sdk);case exports.ServiceName.GROUP:return new I(this.sdk);default:throw new Error("Unknown service: "+e)}},t.reset=function(){this.services={}},e}();function H(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}var D=[exports.RequestApi.Logout,exports.CbEvents.OnKickedOffline,exports.CbEvents.OnUserTokenInvalid,exports.CbEvents.OnUserTokenExpired],j=/*#__PURE__*/function(e){function t(t){var n;return void 0===t&&(t=!1),(n=e.call(this)||this).config={debug:!1},n.internalState={isConnected:!1,isLoggedIn:!1,reconnectAttempts:0,lastActivity:Date.now()},n.sseClient=void 0,n.serviceManager=void 0,n.sendRequest=function(e){return n.internalState.lastActivity=Date.now(),n.config.debug&&n.logRequest(e),function(e){try{return Promise.resolve(k?new Promise(function(t,n){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return t(e.data)},fail:function(e){return n(e)}})}):function(){if(_)return console.log("isBrowser ",_),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:n.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:n.config.token?"Bearer "+n.config.token:""},data:e.data})},n.createRequestFunction=function(e,t){return function(o){return n.sendRequest({data:o,url:e,method:t})}},n.createRequestFunctionWithoutParams=function(e,t){return function(){return n.sendRequest({data:void 0,method:t,url:e})}},n.handleMessage=function(e){switch(n.config.debug&&console.log("handleMessage response",e),e.ev){case exports.SSE_RESPONSE_TYPE.EVENT_MESSAGE_PUSH:1===e.dt.length?n.emit(exports.CbEvents.OnReceiveMessage,e.dt[0]):n.emit(exports.CbEvents.OnReceiveMessages,e.dt);break;case exports.SSE_RESPONSE_TYPE.EVENT_PONG_CONN:n.internalState.isConnected=!0,n.emit(exports.CbEvents.OnConnected);break;case exports.SSE_RESPONSE_TYPE.EVENT_PONG_RE_CONN:n.internalState.isConnected=!0,n.emit(exports.CbEvents.OnReconnected);break;case exports.SSE_RESPONSE_TYPE.EVENT_PONG_IDLE:break;default:t=e.ev,Object.values(exports.CbEvents).includes(t)?(n.emit(e.ev,e.dt),D.includes(e.ev)&&(n.internalState.isLoggedIn=!1,n.internalState.isConnected=!1,n.sseClient&&(n.sseClient.close(),n.sseClient=void 0))):n.config.debug&&console.warn("Unknown SSE event type:",e.ev)}var t},n.handleReconnectSuccess=function(){n.config.username&&(n.internalState.isConnected=!0,n.internalState.reconnectAttempts=0,n.config.debug&&console.log("SSE reconnection successful"),n.emit(exports.CbEvents.OnReconnected))},n.handleConnectionClosed=function(){n.internalState.isConnected=!1,n.config.debug&&console.log("SSE connection closed"),n.emit(exports.CbEvents.OnDisconnected)},n.login=function(e){try{return n.sseClient?Promise.resolve("login repeat"):(n.config.apiAddr=e.apiAddr,n.config.token=e.token,n.config.debug&&(console.log("login params",e),console.log("apiAddr",n.config.apiAddr)),Promise.resolve(n.user.login(e)).then(function(t){var o=t.code,r=t.data;if(0!=o)return Promise.resolve("Login failed, Server error, error code is "+o);var s=n.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+r;return n.config.username=e.username,n.config.token=e.token,n.config.appKey=e.appKey,n.sseClient=new c({url:s,onMessage:n.handleMessage,onReconnectSuccess:n.handleReconnectSuccess,onConnectionClosed:n.handleConnectionClosed,token:e.token}),H(function(){return Promise.resolve(n.sseClient.connect()).then(function(e){return n.internalState.isLoggedIn=!0,e})},function(e){return n.internalState.isLoggedIn=!1,Promise.reject(e.message)})}))}catch(e){return Promise.reject(e)}},n.logout=function(){try{return n.sseClient&&(n.sseClient.close(),n.sseClient=void 0),Promise.resolve(n.user.logout()).then(function(e){return n.internalState.isLoggedIn=!1,n.internalState.isConnected=!1,n.config.username=void 0,n.config.token=void 0,e})}catch(e){return Promise.reject(e)}},n.internalUploadFile=function(e){try{return Promise.resolve(H(function(){var t=new FormData;return t.append("file",e),t.append("filename",e.name),Promise.resolve(fetch(""+n.config.apiAddr+exports.RequestApi.UploadFile,{method:"POST",headers:{Authorization:n.config.token?"Bearer "+n.config.token:""},body:t})).then(function(e){if(!e.ok)throw new Error("Upload failed with status: "+e.status);return Promise.resolve(e.json()).then(function(e){var t;return{url:(null==(t=e.data)?void 0:t.url)||""}})})},function(e){return console.error("Upload failed:",e),{error:e}}))}catch(e){return Promise.reject(e)}},n.uploadFile=function(e){var t=e.file;try{return Promise.resolve(n.internalUploadFile(t)).then(function(e){var t,n=e.url,o=e.error;return{data:{url:void 0===n?"":n},msg:null!=(t=null==o?void 0:o.message)?t:"",code:o?exports.ErrorCode.UnknownError:0}})}catch(e){return Promise.reject(e)}},n.createTextMessage=function(e){return n.message.createTextMessage(e)},n.createImageMessage=function(e){return n.message.createImageMessage(e)},n.getHistoryMessageList=function(e){return n.message.getHistoryMessageList(e)},n.getConversations=function(){return n.conversation.getConversations()},n.createGroup=function(e){return n.group.createGroup(e)},n.getGroupInfo=function(e){return n.group.getGroupInfo(e)},n.config.debug=t,n.serviceManager=new F(n),n}var n,s;s=e,(n=t).prototype=Object.create(s.prototype),n.prototype.constructor=n,o(n,s);var i,a,u=t.prototype;return u.configure=function(e){void 0!==e.debug&&(this.config.debug=e.debug),e.apiAddr&&(this.config.apiAddr=e.apiAddr),e.appKey&&(this.config.appKey=e.appKey)},u.setApiAddr=function(e){this.config.apiAddr=e},u.setAppKey=function(e){this.config.appKey=e},u.getService=function(e){return this.serviceManager.get(e)},u.isConnected=function(){return!!this.sseClient&&this.internalState.isConnected},u.isLoggedIn=function(){return this.internalState.isLoggedIn},u.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},u.onMessage=function(e){var t=this;return this.on(exports.CbEvents.OnReceiveMessage,e),function(){return t.off(exports.CbEvents.OnReceiveMessage,e)}},u.onMessages=function(e){var t=this;return this.on(exports.CbEvents.OnReceiveMessages,e),function(){return t.off(exports.CbEvents.OnReceiveMessages,e)}},u.onConnectionChange=function(e){var t=this,n=function(){return e(!0)},o=function(){return e(!1)};return this.on(exports.CbEvents.OnConnected,n),this.on(exports.CbEvents.OnDisconnected,o),function(){t.off(exports.CbEvents.OnConnected,n),t.off(exports.CbEvents.OnDisconnected,o)}},u.onKickedOffline=function(e){var t=this;return this.on(exports.CbEvents.OnKickedOffline,e),function(){return t.off(exports.CbEvents.OnKickedOffline,e)}},i=t,(a=[{key:"message",get:function(){return this.getService(exports.ServiceName.MESSAGE)}},{key:"conversation",get:function(){return this.getService(exports.ServiceName.CONVERSATION)}},{key:"group",get:function(){return this.getService(exports.ServiceName.GROUP)}},{key:"user",get:function(){return this.getService(exports.ServiceName.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}(i.prototype,a),Object.defineProperty(i,"prototype",{writable:!1}),i}(N);exports.MessageStatus={NORMAL:0,EDITED:1,DELETED:2},exports.SIMSDK=j;
|
package/lib/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("event-source-polyfill")):"function"==typeof define&&define.amd?define(["exports","event-source-polyfill"],t):t((e||self).simSdkWeb={},e.eventSourcePolyfill)}(this,function(e,t){function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},n.apply(null,arguments)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function r(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var s;e.ServiceName=void 0,(s=e.ServiceName||(e.ServiceName={})).MESSAGE="message",s.CONVERSATION="conversation",s.GROUP="group",s.USER="user";var i,c,a,u=/*#__PURE__*/function(){function e(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess}var n=e.prototype;return n.removeAllEventListeners=function(){var e=this;this.eventSource&&(this.eventSource.removeEventListener("open",this.onOpen),this.handlers.forEach(function(t,n){var o;null==(o=e.eventSource)||o.removeEventListener(n,t)}),this.eventSource.removeEventListener("error",this.onError))},n.subscribe=function(e,t){this.handlers.set(e,t),this.connect()},n.connect=function(){var e=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(n,o){try{e.eventSource=new t.EventSourcePolyfill(e.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+e.token}}),e.eventSource.addEventListener("open",function(t){e.onOpen(t),n("SSE connect successful!")}),e.eventSource.addEventListener("message",function(t){e.handleMessage(t.data)}),e.handlers.forEach(function(t,n){var o;null==(o=e.eventSource)||o.addEventListener(n,e.onMessage(t))}),e.eventSource.addEventListener("error",function(t){e.onError(t),e.connected||o("SSE connect error.")})}catch(t){console.error("Failed to create EventSource:",t),e.handleReconnect(),o(t)}})},n.onOpen=function(e){console.log("SSE connection established"),this.connected=!0,this.reconnectAttempts>0&&this.onReconnectSuccessCallback&&this.onReconnectSuccessCallback(),this.reconnectAttempts=0,this.reconnectTimeout=5e3},n.handleMessage=function(e){try{console.log("SSE handleMessage ",e);var t=JSON.parse(e);this.onMessageCallback&&this.onMessageCallback(t)}catch(e){console.error("数据解析错误:",e)}},n.onMessage=function(e){return function(t){try{var n=JSON.parse(t.data);console.log("Received SSE message:",n),"function"==typeof e&&e(n)}catch(e){console.error("Failed to parse SSE message:",e)}}},n.onError=function(e){console.error("SSE connection error:",e),this.connected=!1,401===e.status||e.statusText&&e.statusText.includes("Unauthorized")?this.cleanup():this.handleReconnect()},n.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect()},this.reconnectTimeout)}},n.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},n.unsubscribe=function(){this.cleanup(),this.handlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},n.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts},n.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},n.isConnected=function(){return this.connected},e}();e.ErrorCode=void 0,(i=e.ErrorCode||(e.ErrorCode={}))[i.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",i[i.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",i[i.UnknownError=10005]="UnknownError",i[i.LoginRepeatError=10102]="LoginRepeatError",e.RequestApi=void 0,(c=e.RequestApi||(e.RequestApi={})).Login="/chat/member/login",c.Logout="/chat/member/logout",c.CreateGroup="CreateGroup",c.GetGroupInfo="/chat/group/info",c.GetAllConversationList="/chat/group/list",c.CreateTextMessage="/chat/message/push",c.GetHistoryMessageList="/chat/message/pull",e.CbEvents=void 0,(a=e.CbEvents||(e.CbEvents={})).onReceiveMessage="onReceiveMessage",a.onReceiveMessages="onReceiveMessages",a.OnKickedOffline="OnKickedOffline",a.OnUserTokenInvalid="OnUserTokenInvalid",a.OnUserTokenExpired="OnUserTokenExpired";var d,l,g,p,v,h,f,m,S,E,M,T,A,y,P,G,N,R,O,b,k,C,_=/*#__PURE__*/function(){function t(){var t;this.events=((t={})[e.CbEvents.onReceiveMessage]=[],t[e.CbEvents.onReceiveMessages]=[],t)}var n=t.prototype;return n.emit=function(e,t){var n=this.events[e];return n&&n.forEach(function(e){return e(t)}),this},n.on=function(e,t){var n;return this.events[e]||(this.events[e]=[]),null==(n=this.events[e])||n.push(t),this},n.off=function(e,t){var n=this.events[e];if(n){var o=n.indexOf(t);o>-1&&(n.splice(o,1),0===n.length&&delete this.events[e])}return this},t}();e.MessageReceiveOptType=void 0,(d=e.MessageReceiveOptType||(e.MessageReceiveOptType={}))[d.Nomal=0]="Nomal",d[d.NotReceive=1]="NotReceive",d[d.NotNotify=2]="NotNotify",e.AllowType=void 0,(l=e.AllowType||(e.AllowType={}))[l.Allowed=0]="Allowed",l[l.NotAllowed=1]="NotAllowed",e.GroupType=void 0,(g=e.GroupType||(e.GroupType={}))[g.Group=2]="Group",g[g.WorkingGroup=2]="WorkingGroup",e.GroupJoinSource=void 0,(p=e.GroupJoinSource||(e.GroupJoinSource={}))[p.Invitation=2]="Invitation",p[p.Search=3]="Search",p[p.QrCode=4]="QrCode",e.GroupMemberRole=void 0,(v=e.GroupMemberRole||(e.GroupMemberRole={}))[v.Nomal=20]="Nomal",v[v.Admin=60]="Admin",v[v.Owner=100]="Owner",e.GroupVerificationType=void 0,(h=e.GroupVerificationType||(e.GroupVerificationType={}))[h.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",h[h.AllNeed=1]="AllNeed",h[h.AllNot=2]="AllNot",e.Platform=void 0,(f=e.Platform||(e.Platform={}))[f.iOS=1]="iOS",f[f.Android=2]="Android",f[f.Windows=3]="Windows",f[f.MacOSX=4]="MacOSX",f[f.Web=5]="Web",f[f.Linux=7]="Linux",f[f.AndroidPad=8]="AndroidPad",f[f.iPad=9]="iPad",e.LogLevel=void 0,(m=e.LogLevel||(e.LogLevel={}))[m.Debug=5]="Debug",m[m.Info=4]="Info",m[m.Warn=3]="Warn",m[m.Error=2]="Error",m[m.Fatal=1]="Fatal",m[m.Panic=0]="Panic",e.ApplicationHandleResult=void 0,(S=e.ApplicationHandleResult||(e.ApplicationHandleResult={}))[S.Unprocessed=0]="Unprocessed",S[S.Agree=1]="Agree",S[S.Reject=-1]="Reject",e.MessageType=void 0,(E=e.MessageType||(e.MessageType={}))[E.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",E[E.TextMessage=101]="TextMessage",E[E.PictureMessage=102]="PictureMessage",E[E.VoiceMessage=103]="VoiceMessage",E[E.VideoMessage=104]="VideoMessage",E[E.FileMessage=105]="FileMessage",E[E.AtTextMessage=106]="AtTextMessage",E[E.MergeMessage=107]="MergeMessage",E[E.CardMessage=108]="CardMessage",E[E.LocationMessage=109]="LocationMessage",E[E.CustomMessage=110]="CustomMessage",E[E.TypingMessage=113]="TypingMessage",E[E.QuoteMessage=114]="QuoteMessage",E[E.FaceMessage=115]="FaceMessage",E[E.FriendAdded=1201]="FriendAdded",E[E.OANotification=1400]="OANotification",E[E.GroupCreated=1501]="GroupCreated",E[E.MemberQuit=1504]="MemberQuit",E[E.GroupOwnerTransferred=1507]="GroupOwnerTransferred",E[E.MemberKicked=1508]="MemberKicked",E[E.MemberInvited=1509]="MemberInvited",E[E.MemberEnter=1510]="MemberEnter",E[E.GroupDismissed=1511]="GroupDismissed",E[E.GroupMemberMuted=1512]="GroupMemberMuted",E[E.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",E[E.GroupMuted=1514]="GroupMuted",E[E.GroupCancelMuted=1515]="GroupCancelMuted",E[E.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",E[E.GroupNameUpdated=1520]="GroupNameUpdated",E[E.BurnMessageChange=1701]="BurnMessageChange",E[E.RevokeMessage=2101]="RevokeMessage",e.SessionType=void 0,(M=e.SessionType||(e.SessionType={}))[M.Single=1]="Single",M[M.Group=3]="Group",M[M.WorkingGroup=3]="WorkingGroup",M[M.Notification=4]="Notification",e.GroupStatus=void 0,(T=e.GroupStatus||(e.GroupStatus={}))[T.Nomal=0]="Nomal",T[T.Baned=1]="Baned",T[T.Dismissed=2]="Dismissed",T[T.Muted=3]="Muted",e.GroupAtType=void 0,(A=e.GroupAtType||(e.GroupAtType={}))[A.AtNormal=0]="AtNormal",A[A.AtMe=1]="AtMe",A[A.AtAll=2]="AtAll",A[A.AtAllAtMe=3]="AtAllAtMe",A[A.AtGroupNotice=4]="AtGroupNotice",e.GroupMemberFilter=void 0,(y=e.GroupMemberFilter||(e.GroupMemberFilter={}))[y.All=0]="All",y[y.Owner=1]="Owner",y[y.Admin=2]="Admin",y[y.Nomal=3]="Nomal",y[y.AdminAndNomal=4]="AdminAndNomal",y[y.AdminAndOwner=5]="AdminAndOwner",e.Relationship=void 0,(P=e.Relationship||(e.Relationship={}))[P.isBlack=0]="isBlack",P[P.isFriend=1]="isFriend",e.LoginStatus=void 0,(G=e.LoginStatus||(e.LoginStatus={}))[G.Logout=1]="Logout",G[G.Logging=2]="Logging",G[G.Logged=3]="Logged",e.OnlineState=void 0,(N=e.OnlineState||(e.OnlineState={}))[N.Online=1]="Online",N[N.Offline=0]="Offline",e.GroupMessageReaderFilter=void 0,(R=e.GroupMessageReaderFilter||(e.GroupMessageReaderFilter={}))[R.Readed=0]="Readed",R[R.UnRead=1]="UnRead",e.GROUP_TYPE=void 0,(O=e.GROUP_TYPE||(e.GROUP_TYPE={}))[O.ONE_ON_ONE=0]="ONE_ON_ONE",O[O.GROUP_CHAT=1]="GROUP_CHAT",O[O.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE",e.MSG_TYPE=void 0,(b=e.MSG_TYPE||(e.MSG_TYPE={}))[b.TEXT=0]="TEXT",b[b.IMAGE=1]="IMAGE",b[b.FILE=2]="FILE",b[b.VIDEO=3]="VIDEO",b[b.LINK=4]="LINK",b[b.GIF=5]="GIF",e.SSE_RESPONSE_TYPE=void 0,(k=e.SSE_RESPONSE_TYPE||(e.SSE_RESPONSE_TYPE={}))[k.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",k[k.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",k[k.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",k[k.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH",e.MessageSendStatus=void 0,(C=e.MessageSendStatus||(e.MessageSendStatus={}))[C.Sending=1]="Sending",C[C.Succeed=2]="Succeed",C[C.Failed=3]="Failed";var w="undefined"!=typeof uni,L="undefined"!=typeof window,I=/*#__PURE__*/function(){function t(e){this.sdk=void 0,this.sdk=e}var n=t.prototype;return n.login=function(t){try{return Promise.resolve(this.sdk.sendRequest({data:t,url:e.RequestApi.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},n.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:e.RequestApi.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},t}(),x=/*#__PURE__*/function(){function t(e){this.sdk=void 0,this.sdk=e}var o=t.prototype;return o.sendMessage=function(e,t){try{var n=this;return Promise.resolve(function(o,r){try{var s=Promise.resolve(n.sdk.sendRequest({data:e,url:t,method:"POST"}))}catch(e){return r(e)}return s&&s.then?s.then(void 0,r):s}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},o.createMessage=function(e,t,o,r,s){var i;void 0===o&&(o={});var c=n({},o,((i={msgType:e})[r]=s,i.status=0,i));return this.sendMessage(c,t)},o.createTextMessage=function(t,n){void 0===n&&(n={});try{return Promise.resolve(this.createMessage(e.MSG_TYPE.TEXT,e.RequestApi.CreateTextMessage,n,"text",t))}catch(e){return Promise.reject(e)}},o.createImageMessage=function(t,n){void 0===n&&(n={});try{return Promise.resolve(this.createMessage(e.MSG_TYPE.IMAGE,e.RequestApi.CreateTextMessage,n,"snapshot",t))}catch(e){return Promise.reject(e)}},o.getHistoryMessageList=function(t){var n=t.groupId,o=t.lastId,r=t.size,s=void 0===r?20:r;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:n,lastId:o,size:s},url:e.RequestApi.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},t}(),U=/*#__PURE__*/function(){function t(e){this.sdk=void 0,this.sdk=e}return t.prototype.getConversations=function(t){try{return Promise.resolve(this.sdk.sendRequest({data:t,url:e.RequestApi.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},t}(),F=/*#__PURE__*/function(){function t(e){this.sdk=void 0,this.sdk=e}var n=t.prototype;return n.createGroup=function(t){try{return Promise.resolve(this.sdk.sendRequest({data:t,url:e.RequestApi.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},n.getGroupInfo=function(t){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:t},url:e.RequestApi.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},t}(),j=/*#__PURE__*/function(){function t(e){this.sdk=void 0,this.services={},this.sdk=e}var n=t.prototype;return n.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},n.createService=function(t){switch(t){case e.ServiceName.USER:return new I(this.sdk);case e.ServiceName.MESSAGE:return new x(this.sdk);case e.ServiceName.CONVERSATION:return new U(this.sdk);case e.ServiceName.GROUP:return new F(this.sdk);default:throw new Error("Unknown service: "+t)}},n.reset=function(){this.services={}},t}(),q=/*#__PURE__*/function(t){function n(n){var o;return void 0===n&&(n=!1),(o=t.call(this)||this).config={debug:!1},o.sseClient=void 0,o.serviceManager=void 0,o.sendRequest=function(e){return o.config.debug&&o.logRequest(e),function(e){try{return Promise.resolve(w?new Promise(function(t,n){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return t(e.data)},fail:function(e){return n(e)}})}):function(){if(L)return console.log("isBrowser ",L),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:o.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:o.config.token?"Bearer "+o.config.token:""},data:e.data})},o.createRequestFunction=function(e,t){return function(n){return o.sendRequest({data:n,url:e,method:t})}},o.createRequestFunctionWithoutParams=function(e,t){return function(){return o.sendRequest({data:void 0,method:t,url:e})}},o.handleMessage=function(t){switch(o.config.debug&&console.log("handleMessage response",t),t.ev){case e.SSE_RESPONSE_TYPE.EVENT_MESSAGE_PUSH:1===t.dt.length?o.emit(e.CbEvents.onReceiveMessage,t.dt[0]):o.emit(e.CbEvents.onReceiveMessages,t.dt);break;case e.SSE_RESPONSE_TYPE.EVENT_PONG_CONN:case e.SSE_RESPONSE_TYPE.EVENT_PONG_RE_CONN:case e.SSE_RESPONSE_TYPE.EVENT_PONG_IDLE:break;default:o.config.debug&&console.warn("Unknown SSE event type:",t.ev)}},o.handleReconnectSuccess=function(){o.config.username&&o.config.debug&&console.log("SSE reconnection successful")},o.login=function(e){try{return o.sseClient?Promise.resolve("login repeat"):(o.config.apiAddr=e.apiAddr,o.config.token=e.token,o.config.debug&&(console.log("login params",e),console.log("apiAddr",o.config.apiAddr)),Promise.resolve(o.user.login(e)).then(function(t){var n=t.code,r=t.data;if(0!=n)return Promise.resolve("Login failed, Server error, error code is "+n);var s=o.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+r;o.config.username=e.username,o.config.token=e.token,o.config.appKey=e.appKey,o.sseClient=new u({url:s,onMessage:o.handleMessage,onReconnectSuccess:o.handleReconnectSuccess,token:e.token});try{return o.sseClient.connect()}catch(e){return Promise.reject(e.message)}}))}catch(e){return Promise.reject(e)}},o.logout=function(){try{return o.sseClient&&(o.sseClient.close(),o.sseClient=void 0),Promise.resolve(o.user.logout()).then(function(e){return o.config.username=void 0,o.config.token=void 0,e})}catch(e){return Promise.reject(e)}},o.internalUploadFile=function(e){try{try{return Promise.resolve({})}catch(e){return console.error("Upload failed:",e),Promise.resolve({error:e})}}catch(e){return Promise.reject(e)}},o.uploadFile=function(t){var n=t.file;try{return Promise.resolve(o.internalUploadFile(n)).then(function(t){var n,o=t.url,r=t.error;return{data:{url:void 0===o?"":o},msg:null!=(n=null==r?void 0:r.message)?n:"",code:r?e.ErrorCode.UnknownError:0}})}catch(e){return Promise.reject(e)}},o.createTextMessage=function(e){return o.message.createTextMessage(e)},o.getHistoryMessageList=function(e){return o.message.getHistoryMessageList(e)},o.getConversations=function(e){return o.conversation.getConversations(e)},o.createGroup=function(e){return o.group.createGroup(e)},o.getGroupInfo=function(e){return o.group.getGroupInfo(e)},o.config.debug=n,o.serviceManager=new j(o),o}var s,i;i=t,(s=n).prototype=Object.create(i.prototype),s.prototype.constructor=s,o(s,i);var c,a,d=n.prototype;return d.getService=function(e){return this.serviceManager.get(e)},d.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},c=n,(a=[{key:"message",get:function(){return this.getService(e.ServiceName.MESSAGE)}},{key:"conversation",get:function(){return this.getService(e.ServiceName.CONVERSATION)}},{key:"group",get:function(){return this.getService(e.ServiceName.GROUP)}},{key:"user",get:function(){return this.getService(e.ServiceName.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}(c.prototype,a),Object.defineProperty(c,"prototype",{writable:!1}),c}(_);e.MessageStatus={NORMAL:0,EDITED:1,DELETED:2},e.SIMSDK=q});
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("event-source-polyfill")):"function"==typeof define&&define.amd?define(["exports","event-source-polyfill"],n):n((e||self).simSdkWeb={},e.eventSourcePolyfill)}(this,function(e,n){function t(){return t=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)({}).hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},t.apply(null,arguments)}function o(e,n){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,n){return e.__proto__=n,e},o(e,n)}function r(e){var n=function(e){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof n?n:n+""}var i;e.ServiceName=void 0,(i=e.ServiceName||(e.ServiceName={})).MESSAGE="message",i.CONVERSATION="conversation",i.GROUP="group",i.USER="user";var s,a,c,u=/*#__PURE__*/function(){function e(e){this.url=void 0,this.token=void 0,this.eventSource=null,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectTimeout=5e3,this.reconnectTimer=null,this.handlers=new Map,this.connected=!1,this.onMessageCallback=void 0,this.onReconnectSuccessCallback=void 0,this.onConnectionClosedCallback=void 0,this._openHandler=null,this._errorHandler=null,this._messageHandler=null,this._customHandlers=new Map,this.url=e.url,this.token=e.token,this.reconnectTimeout=e.retryInterval||5e3,this.maxReconnectAttempts=e.maxRetries||5,this.onMessageCallback=e.onMessage,this.onReconnectSuccessCallback=e.onReconnectSuccess,this.onConnectionClosedCallback=e.onConnectionClosed}var t=e.prototype;return t.removeAllEventListeners=function(){var e=this;this.eventSource&&(this._openHandler&&this.eventSource.removeEventListener("open",this._openHandler),this._errorHandler&&this.eventSource.removeEventListener("error",this._errorHandler),this._messageHandler&&this.eventSource.removeEventListener("message",this._messageHandler),this.handlers.forEach(function(n,t){var o=e._customHandlers.get(t);o&&e.eventSource&&e.eventSource.removeEventListener(t,o)}))},t.subscribe=function(e,n){this.handlers.set(e,n);var t=function(e){try{var t=JSON.parse(e.data);n(t)}catch(e){console.error("Error parsing message data:",e)}};this._customHandlers.set(e,t),this.eventSource?this.eventSource.addEventListener(e,t):this.connect()},t.connect=function(){var e=this;return this.connected&&this.eventSource?Promise.reject(new Error("SSE is already connected!")):new Promise(function(t,o){try{e.eventSource=new n.EventSourcePolyfill(e.url,{heartbeatTimeout:36e5,withCredentials:!1,headers:{Authorization:"Bearer "+e.token}}),e._openHandler=function(n){console.log("SSE connection established"),e.connected=!0,e.reconnectAttempts>0&&e.onReconnectSuccessCallback&&e.onReconnectSuccessCallback(),e.reconnectAttempts=0,e.reconnectTimeout=5e3,t("SSE connect successful!")},e._errorHandler=function(n){console.error("SSE connection error:",n),e.connected=!1,401===n.status||n.statusText&&n.statusText.includes("Unauthorized")?(e.cleanup(),e.notifyConnectionClosed(!0)):e.handleReconnect(),e.connected||o(new Error("SSE connect error"))},e._messageHandler=function(n){try{console.log("SSE received message:",n.data);var t=JSON.parse(n.data);e.onMessageCallback&&e.onMessageCallback(t)}catch(e){console.error("Error parsing message:",e)}},e.eventSource.addEventListener("open",e._openHandler),e.eventSource.addEventListener("error",e._errorHandler),e.eventSource.addEventListener("message",e._messageHandler),e.handlers.forEach(function(n,t){var o=e._customHandlers.get(t);o&&e.eventSource&&e.eventSource.addEventListener(t,o)});var r=setTimeout(function(){e.connected||(o(new Error("Connection timeout")),e.handleReconnect())},1e4),i=e._openHandler;e._openHandler=function(e){clearTimeout(r),i(e)}}catch(n){console.error("Failed to create EventSource:",n),e.handleReconnect(),o(n)}})},t.notifyConnectionClosed=function(e){void 0===e&&(e=!1),this.onConnectionClosedCallback&&this.onConnectionClosedCallback(),e?console.warn("SSE connection closed due to authentication error"):console.log("SSE connection closed")},t.handleReconnect=function(){var e=this;if(null===this.reconnectTimer){if(this.reconnectAttempts>=this.maxReconnectAttempts)return console.error("Max reconnection attempts reached"),void this.destroySse();console.log("Attempting to reconnect in "+this.reconnectTimeout/1e3+" seconds..."),this.cleanup(),this.reconnectTimer=window.setTimeout(function(){e.reconnectAttempts++,e.reconnectTimeout=Math.min(2*e.reconnectTimeout,3e4),e.reconnectTimer=null,e.connect().catch(function(){})},this.reconnectTimeout)}},t.cleanup=function(){this.eventSource&&(this.removeAllEventListeners(),this.eventSource.close(),this.eventSource=null),this.connected=!1},t.unsubscribe=function(){this.cleanup(),this.handlers.clear(),this._customHandlers.clear(),null!==this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)},t.destroySse=function(){this.unsubscribe(),this.reconnectAttempts=this.maxReconnectAttempts,this.notifyConnectionClosed()},t.close=function(){this.destroySse(),console.log("SSE 连接已关闭")},t.isConnected=function(){return this.connected},e}();e.ErrorCode=void 0,(s=e.ErrorCode||(e.ErrorCode={}))[s.ConnectionEstablishmentFailed=1e4]="ConnectionEstablishmentFailed",s[s.ResourceLoadNotCompleteError=10004]="ResourceLoadNotCompleteError",s[s.UnknownError=10005]="UnknownError",s[s.LoginRepeatError=10102]="LoginRepeatError",e.RequestApi=void 0,(a=e.RequestApi||(e.RequestApi={})).Login="/chat/member/login",a.Logout="/chat/member/logout",a.CreateGroup="CreateGroup",a.GetGroupInfo="/chat/group/info",a.GetAllConversationList="/chat/group/list",a.CreateTextMessage="/chat/message/push",a.GetHistoryMessageList="/chat/message/pull",a.UploadFile="/chat/member/upload",e.CbEvents=void 0,(c=e.CbEvents||(e.CbEvents={})).OnConnected="OnConnected",c.OnDisconnected="OnDisconnected",c.OnReconnecting="OnReconnecting",c.OnReconnected="OnReconnected",c.OnReconnectFailed="OnReconnectFailed",c.OnNetworkChange="OnNetworkChange",c.OnReceiveMessage="OnReceiveMessage",c.OnReceiveMessages="OnReceiveMessages",c.OnMessageSent="OnMessageSent",c.OnMessageFailed="OnMessageFailed",c.OnMessageRevoked="OnMessageRevoked",c.OnMessageDeleted="OnMessageDeleted",c.OnMessageRead="OnMessageRead",c.OnTypingStatusUpdate="OnTypingStatusUpdate",c.OnUserStatusChange="OnUserStatusChange",c.OnKickedOffline="OnKickedOffline",c.OnUserTokenInvalid="OnUserTokenInvalid",c.OnUserTokenExpired="OnUserTokenExpired",c.OnForceOffline="OnForceOffline",c.OnUserInfoUpdated="OnUserInfoUpdated",c.OnGroupCreated="OnGroupCreated",c.OnGroupInfoUpdated="OnGroupInfoUpdated",c.OnGroupDissolved="OnGroupDissolved",c.OnJoinGroup="OnJoinGroup",c.OnLeaveGroup="OnLeaveGroup",c.OnGroupMemberJoined="OnGroupMemberJoined",c.OnGroupMemberLeft="OnGroupMemberLeft",c.OnGroupMemberKicked="OnGroupMemberKicked",c.OnGroupOwnerChanged="OnGroupOwnerChanged",c.OnGroupAdminAdded="OnGroupAdminAdded",c.OnGroupAdminRemoved="OnGroupAdminRemoved",c.OnGroupMemberMuted="OnGroupMemberMuted",c.OnGroupMemberUnmuted="OnGroupMemberUnmuted",c.OnGroupAllMemberMuted="OnGroupAllMemberMuted",c.OnGroupAllMemberUnmuted="OnGroupAllMemberUnmuted",c.OnConversationCreated="OnConversationCreated",c.OnConversationDeleted="OnConversationDeleted",c.OnConversationUpdated="OnConversationUpdated",c.OnUnreadCountChanged="OnUnreadCountChanged",c.OnConversationPinned="OnConversationPinned",c.OnConversationUnpinned="OnConversationUnpinned",c.OnConversationMuted="OnConversationMuted",c.OnConversationUnmuted="OnConversationUnmuted",c.OnPongConn="OnPongConn",c.OnPongReConn="OnPongReConn",c.OnPongIdle="OnPongIdle",c.OnError="OnError",c.OnWarning="OnWarning",c.OnLog="OnLog";var d,l,g,p,v,f,h,m,O,S,E,M,C,A,G,b,R,T,y,P,N,k,_=/*#__PURE__*/function(){function n(){var n;this.events=((n={})[e.CbEvents.OnReceiveMessage]=[],n[e.CbEvents.OnReceiveMessages]=[],n)}var t=n.prototype;return t.emit=function(e,n){var t=this.events[e];return t&&t.forEach(function(e){return e(n)}),this},t.on=function(e,n){var t;return this.events[e]||(this.events[e]=[]),null==(t=this.events[e])||t.push(n),this},t.off=function(e,n){var t=this.events[e];if(t){var o=t.indexOf(n);o>-1&&(t.splice(o,1),0===t.length&&delete this.events[e])}return this},n}();e.MessageReceiveOptType=void 0,(d=e.MessageReceiveOptType||(e.MessageReceiveOptType={}))[d.Nomal=0]="Nomal",d[d.NotReceive=1]="NotReceive",d[d.NotNotify=2]="NotNotify",e.AllowType=void 0,(l=e.AllowType||(e.AllowType={}))[l.Allowed=0]="Allowed",l[l.NotAllowed=1]="NotAllowed",e.GroupType=void 0,(g=e.GroupType||(e.GroupType={}))[g.Group=2]="Group",g[g.WorkingGroup=2]="WorkingGroup",e.GroupJoinSource=void 0,(p=e.GroupJoinSource||(e.GroupJoinSource={}))[p.Invitation=2]="Invitation",p[p.Search=3]="Search",p[p.QrCode=4]="QrCode",e.GroupMemberRole=void 0,(v=e.GroupMemberRole||(e.GroupMemberRole={}))[v.Nomal=20]="Nomal",v[v.Admin=60]="Admin",v[v.Owner=100]="Owner",e.GroupVerificationType=void 0,(f=e.GroupVerificationType||(e.GroupVerificationType={}))[f.ApplyNeedInviteNot=0]="ApplyNeedInviteNot",f[f.AllNeed=1]="AllNeed",f[f.AllNot=2]="AllNot",e.Platform=void 0,(h=e.Platform||(e.Platform={}))[h.iOS=1]="iOS",h[h.Android=2]="Android",h[h.Windows=3]="Windows",h[h.MacOSX=4]="MacOSX",h[h.Web=5]="Web",h[h.Linux=7]="Linux",h[h.AndroidPad=8]="AndroidPad",h[h.iPad=9]="iPad",e.LogLevel=void 0,(m=e.LogLevel||(e.LogLevel={}))[m.Debug=5]="Debug",m[m.Info=4]="Info",m[m.Warn=3]="Warn",m[m.Error=2]="Error",m[m.Fatal=1]="Fatal",m[m.Panic=0]="Panic",e.ApplicationHandleResult=void 0,(O=e.ApplicationHandleResult||(e.ApplicationHandleResult={}))[O.Unprocessed=0]="Unprocessed",O[O.Agree=1]="Agree",O[O.Reject=-1]="Reject",e.MessageType=void 0,(S=e.MessageType||(e.MessageType={}))[S.MESSAGE_TYPE_TEXT=0]="MESSAGE_TYPE_TEXT",S[S.TextMessage=101]="TextMessage",S[S.PictureMessage=102]="PictureMessage",S[S.VoiceMessage=103]="VoiceMessage",S[S.VideoMessage=104]="VideoMessage",S[S.FileMessage=105]="FileMessage",S[S.AtTextMessage=106]="AtTextMessage",S[S.MergeMessage=107]="MergeMessage",S[S.CardMessage=108]="CardMessage",S[S.LocationMessage=109]="LocationMessage",S[S.CustomMessage=110]="CustomMessage",S[S.TypingMessage=113]="TypingMessage",S[S.QuoteMessage=114]="QuoteMessage",S[S.FaceMessage=115]="FaceMessage",S[S.FriendAdded=1201]="FriendAdded",S[S.OANotification=1400]="OANotification",S[S.GroupCreated=1501]="GroupCreated",S[S.MemberQuit=1504]="MemberQuit",S[S.GroupOwnerTransferred=1507]="GroupOwnerTransferred",S[S.MemberKicked=1508]="MemberKicked",S[S.MemberInvited=1509]="MemberInvited",S[S.MemberEnter=1510]="MemberEnter",S[S.GroupDismissed=1511]="GroupDismissed",S[S.GroupMemberMuted=1512]="GroupMemberMuted",S[S.GroupMemberCancelMuted=1513]="GroupMemberCancelMuted",S[S.GroupMuted=1514]="GroupMuted",S[S.GroupCancelMuted=1515]="GroupCancelMuted",S[S.GroupAnnouncementUpdated=1519]="GroupAnnouncementUpdated",S[S.GroupNameUpdated=1520]="GroupNameUpdated",S[S.BurnMessageChange=1701]="BurnMessageChange",S[S.RevokeMessage=2101]="RevokeMessage",e.SessionType=void 0,(E=e.SessionType||(e.SessionType={}))[E.Single=1]="Single",E[E.Group=3]="Group",E[E.WorkingGroup=3]="WorkingGroup",E[E.Notification=4]="Notification",e.GroupStatus=void 0,(M=e.GroupStatus||(e.GroupStatus={}))[M.Nomal=0]="Nomal",M[M.Baned=1]="Baned",M[M.Dismissed=2]="Dismissed",M[M.Muted=3]="Muted",e.GroupAtType=void 0,(C=e.GroupAtType||(e.GroupAtType={}))[C.AtNormal=0]="AtNormal",C[C.AtMe=1]="AtMe",C[C.AtAll=2]="AtAll",C[C.AtAllAtMe=3]="AtAllAtMe",C[C.AtGroupNotice=4]="AtGroupNotice",e.GroupMemberFilter=void 0,(A=e.GroupMemberFilter||(e.GroupMemberFilter={}))[A.All=0]="All",A[A.Owner=1]="Owner",A[A.Admin=2]="Admin",A[A.Nomal=3]="Nomal",A[A.AdminAndNomal=4]="AdminAndNomal",A[A.AdminAndOwner=5]="AdminAndOwner",e.Relationship=void 0,(G=e.Relationship||(e.Relationship={}))[G.isBlack=0]="isBlack",G[G.isFriend=1]="isFriend",e.LoginStatus=void 0,(b=e.LoginStatus||(e.LoginStatus={}))[b.Logout=1]="Logout",b[b.Logging=2]="Logging",b[b.Logged=3]="Logged",e.OnlineState=void 0,(R=e.OnlineState||(e.OnlineState={}))[R.Online=1]="Online",R[R.Offline=0]="Offline",e.GroupMessageReaderFilter=void 0,(T=e.GroupMessageReaderFilter||(e.GroupMessageReaderFilter={}))[T.Readed=0]="Readed",T[T.UnRead=1]="UnRead",e.GROUP_TYPE=void 0,(y=e.GROUP_TYPE||(e.GROUP_TYPE={}))[y.ONE_ON_ONE=0]="ONE_ON_ONE",y[y.GROUP_CHAT=1]="GROUP_CHAT",y[y.CUSTOMER_SERVICE=2]="CUSTOMER_SERVICE",e.MSG_TYPE=void 0,(P=e.MSG_TYPE||(e.MSG_TYPE={}))[P.TEXT=0]="TEXT",P[P.IMAGE=1]="IMAGE",P[P.FILE=2]="FILE",P[P.VIDEO=3]="VIDEO",P[P.LINK=4]="LINK",P[P.GIF=5]="GIF",e.SSE_RESPONSE_TYPE=void 0,(N=e.SSE_RESPONSE_TYPE||(e.SSE_RESPONSE_TYPE={}))[N.EVENT_PONG_CONN=0]="EVENT_PONG_CONN",N[N.EVENT_PONG_RE_CONN=1]="EVENT_PONG_RE_CONN",N[N.EVENT_PONG_IDLE=2]="EVENT_PONG_IDLE",N[N.EVENT_MESSAGE_PUSH=3]="EVENT_MESSAGE_PUSH",e.MessageSendStatus=void 0,(k=e.MessageSendStatus||(e.MessageSendStatus={}))[k.Sending=1]="Sending",k[k.Succeed=2]="Succeed",k[k.Failed=3]="Failed";var w="undefined"!=typeof uni,L="undefined"!=typeof window,U=/*#__PURE__*/function(){function n(e){this.sdk=void 0,this.sdk=e}var t=n.prototype;return t.login=function(n){try{return Promise.resolve(this.sdk.sendRequest({data:n,url:e.RequestApi.Login,method:"POST"}))}catch(e){return Promise.reject(e)}},t.logout=function(){try{return Promise.resolve(this.sdk.sendRequest({data:{},url:e.RequestApi.Logout,method:"POST"}))}catch(e){return Promise.reject(e)}},n}(),I=/*#__PURE__*/function(){function n(e){this.sdk=void 0,this.sdk=e}var o=n.prototype;return o.sendMessage=function(e,n){try{var t=this;return Promise.resolve(function(o,r){try{var i=Promise.resolve(t.sdk.sendRequest({data:e,url:n,method:"POST"}))}catch(e){return r(e)}return i&&i.then?i.then(void 0,r):i}(0,function(e){throw console.error("Failed to send message",e),e}))}catch(e){return Promise.reject(e)}},o.createMessage=function(e,n,o,r,i){var s;void 0===o&&(o={});var a=t({},o,((s={msgType:e})[r]=i,s.status=0,s));return this.sendMessage(a,n)},o.createTextMessage=function(n,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(e.MSG_TYPE.TEXT,e.RequestApi.CreateTextMessage,t,"text",n))}catch(e){return Promise.reject(e)}},o.createImageMessage=function(n,t){void 0===t&&(t={});try{return Promise.resolve(this.createMessage(e.MSG_TYPE.IMAGE,e.RequestApi.CreateTextMessage,t,"snapshot",n))}catch(e){return Promise.reject(e)}},o.getHistoryMessageList=function(n){var t=n.groupId,o=n.lastId,r=n.size,i=void 0===r?20:r;try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:t,lastId:o,size:i},url:e.RequestApi.GetHistoryMessageList,method:"POST"}))}catch(e){return Promise.reject(e)}},n}(),F=/*#__PURE__*/function(){function n(e){this.sdk=void 0,this.sdk=e}return n.prototype.getConversations=function(){try{return Promise.resolve(this.sdk.sendRequest({data:void 0,url:e.RequestApi.GetAllConversationList,method:"GET"}))}catch(e){return Promise.reject(e)}},n}(),x=/*#__PURE__*/function(){function n(e){this.sdk=void 0,this.sdk=e}var t=n.prototype;return t.createGroup=function(n){try{return Promise.resolve(this.sdk.sendRequest({data:n,url:e.RequestApi.CreateGroup,method:"POST"}))}catch(e){return Promise.reject(e)}},t.getGroupInfo=function(n){try{return Promise.resolve(this.sdk.sendRequest({data:{groupId:n},url:e.RequestApi.GetGroupInfo,method:"GET"}))}catch(e){return Promise.reject(e)}},n}(),H=/*#__PURE__*/function(){function n(e){this.sdk=void 0,this.services={},this.sdk=e}var t=n.prototype;return t.get=function(e){return this.services[e]||(this.services[e]=this.createService(e)),this.services[e]},t.createService=function(n){switch(n){case e.ServiceName.USER:return new U(this.sdk);case e.ServiceName.MESSAGE:return new I(this.sdk);case e.ServiceName.CONVERSATION:return new F(this.sdk);case e.ServiceName.GROUP:return new x(this.sdk);default:throw new Error("Unknown service: "+n)}},t.reset=function(){this.services={}},n}();function j(e,n){try{var t=e()}catch(e){return n(e)}return t&&t.then?t.then(void 0,n):t}var D=[e.RequestApi.Logout,e.CbEvents.OnKickedOffline,e.CbEvents.OnUserTokenInvalid,e.CbEvents.OnUserTokenExpired],q=/*#__PURE__*/function(n){function t(t){var o;return void 0===t&&(t=!1),(o=n.call(this)||this).config={debug:!1},o.internalState={isConnected:!1,isLoggedIn:!1,reconnectAttempts:0,lastActivity:Date.now()},o.sseClient=void 0,o.serviceManager=void 0,o.sendRequest=function(e){return o.internalState.lastActivity=Date.now(),o.config.debug&&o.logRequest(e),function(e){try{return Promise.resolve(w?new Promise(function(n,t){uni.request({url:e.url,method:e.method||"GET",header:e.headers,data:e.data,success:function(e){return n(e.data)},fail:function(e){return t(e)}})}):function(){if(L)return console.log("isBrowser ",L),console.log("options ",e),Promise.resolve(fetch(e.url,{method:e.method||"GET",headers:e.headers,body:e.data?JSON.stringify(e.data):null})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}}({url:o.config.apiAddr+e.url,method:e.method,headers:{"Content-Type":"application/json",Authorization:o.config.token?"Bearer "+o.config.token:""},data:e.data})},o.createRequestFunction=function(e,n){return function(t){return o.sendRequest({data:t,url:e,method:n})}},o.createRequestFunctionWithoutParams=function(e,n){return function(){return o.sendRequest({data:void 0,method:n,url:e})}},o.handleMessage=function(n){switch(o.config.debug&&console.log("handleMessage response",n),n.ev){case e.SSE_RESPONSE_TYPE.EVENT_MESSAGE_PUSH:1===n.dt.length?o.emit(e.CbEvents.OnReceiveMessage,n.dt[0]):o.emit(e.CbEvents.OnReceiveMessages,n.dt);break;case e.SSE_RESPONSE_TYPE.EVENT_PONG_CONN:o.internalState.isConnected=!0,o.emit(e.CbEvents.OnConnected);break;case e.SSE_RESPONSE_TYPE.EVENT_PONG_RE_CONN:o.internalState.isConnected=!0,o.emit(e.CbEvents.OnReconnected);break;case e.SSE_RESPONSE_TYPE.EVENT_PONG_IDLE:break;default:t=n.ev,Object.values(e.CbEvents).includes(t)?(o.emit(n.ev,n.dt),D.includes(n.ev)&&(o.internalState.isLoggedIn=!1,o.internalState.isConnected=!1,o.sseClient&&(o.sseClient.close(),o.sseClient=void 0))):o.config.debug&&console.warn("Unknown SSE event type:",n.ev)}var t},o.handleReconnectSuccess=function(){o.config.username&&(o.internalState.isConnected=!0,o.internalState.reconnectAttempts=0,o.config.debug&&console.log("SSE reconnection successful"),o.emit(e.CbEvents.OnReconnected))},o.handleConnectionClosed=function(){o.internalState.isConnected=!1,o.config.debug&&console.log("SSE connection closed"),o.emit(e.CbEvents.OnDisconnected)},o.login=function(e){try{return o.sseClient?Promise.resolve("login repeat"):(o.config.apiAddr=e.apiAddr,o.config.token=e.token,o.config.debug&&(console.log("login params",e),console.log("apiAddr",o.config.apiAddr)),Promise.resolve(o.user.login(e)).then(function(n){var t=n.code,r=n.data;if(0!=t)return Promise.resolve("Login failed, Server error, error code is "+t);var i=o.config.apiAddr+"/chat/sse/conn?username="+e.username+"&token="+e.token+"&appKey="+e.appKey+"&random="+r;return o.config.username=e.username,o.config.token=e.token,o.config.appKey=e.appKey,o.sseClient=new u({url:i,onMessage:o.handleMessage,onReconnectSuccess:o.handleReconnectSuccess,onConnectionClosed:o.handleConnectionClosed,token:e.token}),j(function(){return Promise.resolve(o.sseClient.connect()).then(function(e){return o.internalState.isLoggedIn=!0,e})},function(e){return o.internalState.isLoggedIn=!1,Promise.reject(e.message)})}))}catch(e){return Promise.reject(e)}},o.logout=function(){try{return o.sseClient&&(o.sseClient.close(),o.sseClient=void 0),Promise.resolve(o.user.logout()).then(function(e){return o.internalState.isLoggedIn=!1,o.internalState.isConnected=!1,o.config.username=void 0,o.config.token=void 0,e})}catch(e){return Promise.reject(e)}},o.internalUploadFile=function(n){try{return Promise.resolve(j(function(){var t=new FormData;return t.append("file",n),t.append("filename",n.name),Promise.resolve(fetch(""+o.config.apiAddr+e.RequestApi.UploadFile,{method:"POST",headers:{Authorization:o.config.token?"Bearer "+o.config.token:""},body:t})).then(function(e){if(!e.ok)throw new Error("Upload failed with status: "+e.status);return Promise.resolve(e.json()).then(function(e){var n;return{url:(null==(n=e.data)?void 0:n.url)||""}})})},function(e){return console.error("Upload failed:",e),{error:e}}))}catch(e){return Promise.reject(e)}},o.uploadFile=function(n){var t=n.file;try{return Promise.resolve(o.internalUploadFile(t)).then(function(n){var t,o=n.url,r=n.error;return{data:{url:void 0===o?"":o},msg:null!=(t=null==r?void 0:r.message)?t:"",code:r?e.ErrorCode.UnknownError:0}})}catch(e){return Promise.reject(e)}},o.createTextMessage=function(e){return o.message.createTextMessage(e)},o.createImageMessage=function(e){return o.message.createImageMessage(e)},o.getHistoryMessageList=function(e){return o.message.getHistoryMessageList(e)},o.getConversations=function(){return o.conversation.getConversations()},o.createGroup=function(e){return o.group.createGroup(e)},o.getGroupInfo=function(e){return o.group.getGroupInfo(e)},o.config.debug=t,o.serviceManager=new H(o),o}var i,s;s=n,(i=t).prototype=Object.create(s.prototype),i.prototype.constructor=i,o(i,s);var a,c,d=t.prototype;return d.configure=function(e){void 0!==e.debug&&(this.config.debug=e.debug),e.apiAddr&&(this.config.apiAddr=e.apiAddr),e.appKey&&(this.config.appKey=e.appKey)},d.setApiAddr=function(e){this.config.apiAddr=e},d.setAppKey=function(e){this.config.appKey=e},d.getService=function(e){return this.serviceManager.get(e)},d.isConnected=function(){return!!this.sseClient&&this.internalState.isConnected},d.isLoggedIn=function(){return this.internalState.isLoggedIn},d.logRequest=function(e){console.log("%c"+(new Date).toISOString().substring(11,19)+"%c SDK %c"+e.method+"%c "+e.url+"%c"+(e.data?"\n📦 Payload:":""),"color: #888; font-size: 11px;","background: #7CAEFF; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","background: #4CAF50; color: white; font-weight: bold; font-size: 12px; border-radius: 4px; padding: 2px 6px; margin-right: 6px;","color: #0066cc; font-weight: bold;","color: #888;"),e.data&&Object.keys(e.data).length>0&&console.log("%c%s","color: #555; background: #f5f5f5; padding: 4px; border-radius: 4px; font-family: monospace;",JSON.stringify(e.data,null,2))},d.onMessage=function(n){var t=this;return this.on(e.CbEvents.OnReceiveMessage,n),function(){return t.off(e.CbEvents.OnReceiveMessage,n)}},d.onMessages=function(n){var t=this;return this.on(e.CbEvents.OnReceiveMessages,n),function(){return t.off(e.CbEvents.OnReceiveMessages,n)}},d.onConnectionChange=function(n){var t=this,o=function(){return n(!0)},r=function(){return n(!1)};return this.on(e.CbEvents.OnConnected,o),this.on(e.CbEvents.OnDisconnected,r),function(){t.off(e.CbEvents.OnConnected,o),t.off(e.CbEvents.OnDisconnected,r)}},d.onKickedOffline=function(n){var t=this;return this.on(e.CbEvents.OnKickedOffline,n),function(){return t.off(e.CbEvents.OnKickedOffline,n)}},a=t,(c=[{key:"message",get:function(){return this.getService(e.ServiceName.MESSAGE)}},{key:"conversation",get:function(){return this.getService(e.ServiceName.CONVERSATION)}},{key:"group",get:function(){return this.getService(e.ServiceName.GROUP)}},{key:"user",get:function(){return this.getService(e.ServiceName.USER)}},{key:"username",get:function(){return this.config.username}},{key:"uuid",get:function(){return(36*Math.random()).toString(36).slice(2)+(new Date).getTime().toString()}}])&&function(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}(a.prototype,c),Object.defineProperty(a,"prototype",{writable:!1}),a}(_);e.MessageStatus={NORMAL:0,EDITED:1,DELETED:2},e.SIMSDK=q});
|
package/lib/utils/SseClient.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ interface SseOptions {
|
|
|
6
6
|
maxRetries?: number;
|
|
7
7
|
onMessage?: (response: SseData) => void;
|
|
8
8
|
onReconnectSuccess?: () => void;
|
|
9
|
+
onConnectionClosed?: () => void;
|
|
9
10
|
}
|
|
10
11
|
declare class SseClient {
|
|
11
12
|
private url;
|
|
@@ -19,14 +20,16 @@ declare class SseClient {
|
|
|
19
20
|
private connected;
|
|
20
21
|
private onMessageCallback?;
|
|
21
22
|
private onReconnectSuccessCallback?;
|
|
23
|
+
private onConnectionClosedCallback?;
|
|
22
24
|
constructor(options: SseOptions);
|
|
23
25
|
private removeAllEventListeners;
|
|
26
|
+
private _openHandler;
|
|
27
|
+
private _errorHandler;
|
|
28
|
+
private _messageHandler;
|
|
29
|
+
private _customHandlers;
|
|
24
30
|
subscribe(type: string, handler: Function): void;
|
|
25
31
|
connect(): Promise<string>;
|
|
26
|
-
private
|
|
27
|
-
private handleMessage;
|
|
28
|
-
private onMessage;
|
|
29
|
-
private onError;
|
|
32
|
+
private notifyConnectionClosed;
|
|
30
33
|
private handleReconnect;
|
|
31
34
|
private cleanup;
|
|
32
35
|
unsubscribe(): void;
|