@easyv/biz-components 0.0.43 → 0.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index.es2.js +2 -2
- package/dist/_virtual/index.es3.js +2 -2
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useSocketEvents/constant.d.ts +52 -0
- package/dist/hooks/useSocketEvents/constant.es.js +103 -0
- package/dist/hooks/useSocketEvents/constant.es.js.map +1 -0
- package/dist/hooks/useSocketEvents/index.d.ts +3 -0
- package/dist/hooks/useSocketEvents/types.d.ts +47 -0
- package/dist/hooks/useSocketEvents/useSocketEvents.d.ts +21 -0
- package/dist/hooks/useSocketEvents/useSocketEvents.es.js +128 -0
- package/dist/hooks/useSocketEvents/useSocketEvents.es.js.map +1 -0
- package/dist/index.es.js +14 -0
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
- package/dist/node_modules/.pnpm/co-web-worker@1.0.1/node_modules/co-web-worker/index.es.js +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
- package/package.json +1 -1
package/dist/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare const ROOM_PREFIX = "easyvMpsRoom";
|
|
2
|
+
export declare enum RoomType {
|
|
3
|
+
SPACE = "space",
|
|
4
|
+
TEAM = "team",
|
|
5
|
+
USER = "user",
|
|
6
|
+
PORTAL = "portal",
|
|
7
|
+
SCREEN = "screen",
|
|
8
|
+
MOBILE = "mobile",
|
|
9
|
+
AI_AGENT = "ai_agent",
|
|
10
|
+
AI_AGENT_COMPONENT = "ai_agent_component"
|
|
11
|
+
}
|
|
12
|
+
export declare enum SocketEventType {
|
|
13
|
+
CONNECT_TIMEOUT = "connect-timeout",
|
|
14
|
+
CONNECT = "connect",
|
|
15
|
+
CONNECT_ERROR = "connect-error",
|
|
16
|
+
RECONNECT = "reconnect",
|
|
17
|
+
/** 后端错误 */
|
|
18
|
+
EXCLUSIVE = "exception",
|
|
19
|
+
GET_ROOMS = "get-rooms",// 主动获取房间列表
|
|
20
|
+
GET_ROOM_USERS = "get-room-users",// 主动获取用户列表
|
|
21
|
+
ROOM_JOIN = "join-room",// 加入房间
|
|
22
|
+
ROOM_LEAVE = "leave-room",// 离开房间
|
|
23
|
+
EXCLUSIVE_MESSAGE_GET_ROOMS = "exclusive-message-get-rooms",// 监听房间信息
|
|
24
|
+
EXCLUSIVE_MESSAGE_GET_ROOM_USERS = "exclusive-message-get-room-users",// 获取房间成员
|
|
25
|
+
EXCLUSIVE_MESSAGE_JOIN_ROOM = "exclusive-message-join-room",
|
|
26
|
+
COLLAB_ADD = "broadcast-collab-add",// 协作消息-添加
|
|
27
|
+
COLLAB_DELETE = "broadcast-collab-delete",// 协作消息-删除
|
|
28
|
+
COLLAB_UPDATE = "broadcast-collab-update",// 协作消息-更新
|
|
29
|
+
MESSAGE_ROOM_JOIN = "broadcast-join-room",// 新成员加入房间
|
|
30
|
+
MESSAGE_ROOM_LEAVE = "broadcast-leave-room",// 成员离开房间
|
|
31
|
+
/** ai 智能体消息 */
|
|
32
|
+
AI_AGENT_MESSAGE = "broadcast-ai-agent-message"
|
|
33
|
+
}
|
|
34
|
+
export declare const MessageType: typeof SocketEventType;
|
|
35
|
+
export declare const RoomTypeIdMap: {
|
|
36
|
+
space: (spaceId: number) => string;
|
|
37
|
+
team: (teamId: number) => string;
|
|
38
|
+
user: (userId: number) => string;
|
|
39
|
+
portal: (portalId: number) => string;
|
|
40
|
+
screen: (screenId: number) => string;
|
|
41
|
+
mobile: (mobileId: number) => string;
|
|
42
|
+
};
|
|
43
|
+
export declare const MAX_TIMEOUT = 5000;
|
|
44
|
+
export declare const messageWindowByType: Record<string, string[]>;
|
|
45
|
+
export declare const EXPLICIT_DISCONNECT_REASON: Set<number>;
|
|
46
|
+
export declare const socketNormalMessageList: SocketEventType[];
|
|
47
|
+
export declare const socketBroadcastMessageList: SocketEventType[];
|
|
48
|
+
/** 消息推送的错误码 */
|
|
49
|
+
export declare enum MpsErrorCode {
|
|
50
|
+
GUEST_TOKEN_ERROR = 1000,
|
|
51
|
+
UNAUTH = 1001
|
|
52
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
const ROOM_PREFIX = "easyvMpsRoom";
|
|
2
|
+
var RoomType = /* @__PURE__ */ ((RoomType2) => {
|
|
3
|
+
RoomType2["SPACE"] = "space";
|
|
4
|
+
RoomType2["TEAM"] = "team";
|
|
5
|
+
RoomType2["USER"] = "user";
|
|
6
|
+
RoomType2["PORTAL"] = "portal";
|
|
7
|
+
RoomType2["SCREEN"] = "screen";
|
|
8
|
+
RoomType2["MOBILE"] = "mobile";
|
|
9
|
+
RoomType2["AI_AGENT"] = "ai_agent";
|
|
10
|
+
RoomType2["AI_AGENT_COMPONENT"] = "ai_agent_component";
|
|
11
|
+
return RoomType2;
|
|
12
|
+
})(RoomType || {});
|
|
13
|
+
var SocketEventType = /* @__PURE__ */ ((SocketEventType2) => {
|
|
14
|
+
SocketEventType2["CONNECT_TIMEOUT"] = "connect-timeout";
|
|
15
|
+
SocketEventType2["CONNECT"] = "connect";
|
|
16
|
+
SocketEventType2["CONNECT_ERROR"] = "connect-error";
|
|
17
|
+
SocketEventType2["RECONNECT"] = "reconnect";
|
|
18
|
+
SocketEventType2["EXCLUSIVE"] = "exception";
|
|
19
|
+
SocketEventType2["GET_ROOMS"] = "get-rooms";
|
|
20
|
+
SocketEventType2["GET_ROOM_USERS"] = "get-room-users";
|
|
21
|
+
SocketEventType2["ROOM_JOIN"] = "join-room";
|
|
22
|
+
SocketEventType2["ROOM_LEAVE"] = "leave-room";
|
|
23
|
+
SocketEventType2["EXCLUSIVE_MESSAGE_GET_ROOMS"] = "exclusive-message-get-rooms";
|
|
24
|
+
SocketEventType2["EXCLUSIVE_MESSAGE_GET_ROOM_USERS"] = "exclusive-message-get-room-users";
|
|
25
|
+
SocketEventType2["EXCLUSIVE_MESSAGE_JOIN_ROOM"] = "exclusive-message-join-room";
|
|
26
|
+
SocketEventType2["COLLAB_ADD"] = "broadcast-collab-add";
|
|
27
|
+
SocketEventType2["COLLAB_DELETE"] = "broadcast-collab-delete";
|
|
28
|
+
SocketEventType2["COLLAB_UPDATE"] = "broadcast-collab-update";
|
|
29
|
+
SocketEventType2["MESSAGE_ROOM_JOIN"] = "broadcast-join-room";
|
|
30
|
+
SocketEventType2["MESSAGE_ROOM_LEAVE"] = "broadcast-leave-room";
|
|
31
|
+
SocketEventType2["AI_AGENT_MESSAGE"] = "broadcast-ai-agent-message";
|
|
32
|
+
return SocketEventType2;
|
|
33
|
+
})(SocketEventType || {});
|
|
34
|
+
const MessageType = SocketEventType;
|
|
35
|
+
const RoomTypeIdMap = {
|
|
36
|
+
[
|
|
37
|
+
"space"
|
|
38
|
+
/* SPACE */
|
|
39
|
+
]: (spaceId) => `${ROOM_PREFIX}-${"space"}-${spaceId}`,
|
|
40
|
+
[
|
|
41
|
+
"team"
|
|
42
|
+
/* TEAM */
|
|
43
|
+
]: (teamId) => `${ROOM_PREFIX}-${"team"}-${teamId}`,
|
|
44
|
+
[
|
|
45
|
+
"user"
|
|
46
|
+
/* USER */
|
|
47
|
+
]: (userId) => `${ROOM_PREFIX}-${"user"}-${userId}`,
|
|
48
|
+
[
|
|
49
|
+
"portal"
|
|
50
|
+
/* PORTAL */
|
|
51
|
+
]: (portalId) => `${ROOM_PREFIX}-${"portal"}-${portalId}`,
|
|
52
|
+
[
|
|
53
|
+
"screen"
|
|
54
|
+
/* SCREEN */
|
|
55
|
+
]: (screenId) => `${ROOM_PREFIX}-${"screen"}-${screenId}`,
|
|
56
|
+
[
|
|
57
|
+
"mobile"
|
|
58
|
+
/* MOBILE */
|
|
59
|
+
]: (mobileId) => `${ROOM_PREFIX}-${"mobile"}-${mobileId}`
|
|
60
|
+
};
|
|
61
|
+
const MAX_TIMEOUT = 5e3;
|
|
62
|
+
const messageWindowByType = {};
|
|
63
|
+
const EXPLICIT_DISCONNECT_REASON = /* @__PURE__ */ new Set([
|
|
64
|
+
1,
|
|
65
|
+
// 'io server disconnect',
|
|
66
|
+
2
|
|
67
|
+
// 'io client disconnect',
|
|
68
|
+
]);
|
|
69
|
+
const socketNormalMessageList = [
|
|
70
|
+
"exception",
|
|
71
|
+
"exclusive-message-get-rooms",
|
|
72
|
+
"exclusive-message-join-room",
|
|
73
|
+
"exclusive-message-get-room-users",
|
|
74
|
+
"broadcast-collab-update",
|
|
75
|
+
"broadcast-collab-delete",
|
|
76
|
+
"broadcast-collab-add"
|
|
77
|
+
/* COLLAB_ADD */
|
|
78
|
+
];
|
|
79
|
+
const socketBroadcastMessageList = [
|
|
80
|
+
"broadcast-join-room",
|
|
81
|
+
"broadcast-leave-room",
|
|
82
|
+
"broadcast-ai-agent-message"
|
|
83
|
+
/* AI_AGENT_MESSAGE */
|
|
84
|
+
];
|
|
85
|
+
var MpsErrorCode = /* @__PURE__ */ ((MpsErrorCode2) => {
|
|
86
|
+
MpsErrorCode2[MpsErrorCode2["GUEST_TOKEN_ERROR"] = 1e3] = "GUEST_TOKEN_ERROR";
|
|
87
|
+
MpsErrorCode2[MpsErrorCode2["UNAUTH"] = 1001] = "UNAUTH";
|
|
88
|
+
return MpsErrorCode2;
|
|
89
|
+
})(MpsErrorCode || {});
|
|
90
|
+
export {
|
|
91
|
+
EXPLICIT_DISCONNECT_REASON,
|
|
92
|
+
MAX_TIMEOUT,
|
|
93
|
+
MessageType,
|
|
94
|
+
MpsErrorCode,
|
|
95
|
+
ROOM_PREFIX,
|
|
96
|
+
RoomType,
|
|
97
|
+
RoomTypeIdMap,
|
|
98
|
+
SocketEventType,
|
|
99
|
+
messageWindowByType,
|
|
100
|
+
socketBroadcastMessageList,
|
|
101
|
+
socketNormalMessageList
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=constant.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.es.js","sources":["../../../src/hooks/useSocketEvents/constant.ts"],"sourcesContent":["// 前缀\nexport const ROOM_PREFIX = 'easyvMpsRoom';\n\n// 房间类型\nexport enum RoomType {\n SPACE = 'space',\n TEAM = 'team',\n USER = 'user',\n PORTAL = 'portal',\n SCREEN = 'screen',\n MOBILE = 'mobile',\n AI_AGENT = 'ai_agent',\n AI_AGENT_COMPONENT = 'ai_agent_component',\n // ... 后续视业务而定\n}\n\nexport enum SocketEventType {\n // NoReturnEvents\n CONNECT_TIMEOUT = 'connect-timeout',\n CONNECT = 'connect',\n CONNECT_ERROR = 'connect-error',\n RECONNECT = 'reconnect',\n /** 后端错误 */\n EXCLUSIVE = 'exception',\n\n // EmitEvents\n GET_ROOMS = 'get-rooms', // 主动获取房间列表\n GET_ROOM_USERS = 'get-room-users', // 主动获取用户列表\n ROOM_JOIN = 'join-room', // 加入房间\n ROOM_LEAVE = 'leave-room', // 离开房间\n\n // ExclusiveEvents\n EXCLUSIVE_MESSAGE_GET_ROOMS = 'exclusive-message-get-rooms', // 监听房间信息\n EXCLUSIVE_MESSAGE_GET_ROOM_USERS = 'exclusive-message-get-room-users', // 获取房间成员\n EXCLUSIVE_MESSAGE_JOIN_ROOM = 'exclusive-message-join-room',\n\n // BroadcastingEvents\n COLLAB_ADD = 'broadcast-collab-add', // 协作消息-添加\n COLLAB_DELETE = 'broadcast-collab-delete', // 协作消息-删除\n COLLAB_UPDATE = 'broadcast-collab-update', // 协作消息-更新\n MESSAGE_ROOM_JOIN = 'broadcast-join-room', // 新成员加入房间\n MESSAGE_ROOM_LEAVE = 'broadcast-leave-room', // 成员离开房间\n /** ai 智能体消息 */\n AI_AGENT_MESSAGE = 'broadcast-ai-agent-message',\n}\n\nexport const MessageType = SocketEventType;\n\n// 房间类型与房间id的映射\nexport const RoomTypeIdMap = {\n [RoomType.SPACE]: (spaceId: number): string => `${ROOM_PREFIX}-${RoomType.SPACE}-${spaceId}`,\n [RoomType.TEAM]: (teamId: number): string => `${ROOM_PREFIX}-${RoomType.TEAM}-${teamId}`,\n [RoomType.USER]: (userId: number): string => `${ROOM_PREFIX}-${RoomType.USER}-${userId}`,\n [RoomType.PORTAL]: (portalId: number): string => `${ROOM_PREFIX}-${RoomType.PORTAL}-${portalId}`,\n [RoomType.SCREEN]: (screenId: number): string => `${ROOM_PREFIX}-${RoomType.SCREEN}-${screenId}`,\n [RoomType.MOBILE]: (mobileId: number): string => `${ROOM_PREFIX}-${RoomType.MOBILE}-${mobileId}`,\n};\n\nexport const MAX_TIMEOUT = 5000;\nexport const messageWindowByType = {} as Record<string, string[]>; // 主动断开连接的原因,用于区分是客户端主动断开还是服务端主动断开\nexport const EXPLICIT_DISCONNECT_REASON = new Set<number>([\n 1, // 'io server disconnect',\n 2, // 'io client disconnect',\n]);\n\nexport const socketNormalMessageList: SocketEventType[] = [\n SocketEventType.EXCLUSIVE,\n SocketEventType.EXCLUSIVE_MESSAGE_GET_ROOMS,\n SocketEventType.EXCLUSIVE_MESSAGE_JOIN_ROOM,\n SocketEventType.EXCLUSIVE_MESSAGE_GET_ROOM_USERS,\n SocketEventType.COLLAB_UPDATE,\n SocketEventType.COLLAB_DELETE,\n SocketEventType.COLLAB_ADD,\n];\nexport const socketBroadcastMessageList: SocketEventType[] = [\n SocketEventType.MESSAGE_ROOM_JOIN,\n SocketEventType.MESSAGE_ROOM_LEAVE,\n SocketEventType.AI_AGENT_MESSAGE,\n];\n\n/** 消息推送的错误码 */\nexport enum MpsErrorCode {\n GUEST_TOKEN_ERROR = 1000,\n UNAUTH = 1001,\n}\n"],"names":["RoomType","SocketEventType","MpsErrorCode"],"mappings":"AACO,MAAM,cAAc;AAGf,IAAA,6BAAAA,cAAL;AACLA,YAAA,OAAQ,IAAA;AACRA,YAAA,MAAO,IAAA;AACPA,YAAA,MAAO,IAAA;AACPA,YAAA,QAAS,IAAA;AACTA,YAAA,QAAS,IAAA;AACTA,YAAA,QAAS,IAAA;AACTA,YAAA,UAAW,IAAA;AACXA,YAAA,oBAAqB,IAAA;AARXA,SAAAA;AAAA,GAAA,YAAA,CAAA,CAAA;AAYA,IAAA,oCAAAC,qBAAL;AAELA,mBAAA,iBAAkB,IAAA;AAClBA,mBAAA,SAAU,IAAA;AACVA,mBAAA,eAAgB,IAAA;AAChBA,mBAAA,WAAY,IAAA;AAEZA,mBAAA,WAAY,IAAA;AAGZA,mBAAA,WAAY,IAAA;AACZA,mBAAA,gBAAiB,IAAA;AACjBA,mBAAA,WAAY,IAAA;AACZA,mBAAA,YAAa,IAAA;AAGbA,mBAAA,6BAA8B,IAAA;AAC9BA,mBAAA,kCAAmC,IAAA;AACnCA,mBAAA,6BAA8B,IAAA;AAG9BA,mBAAA,YAAa,IAAA;AACbA,mBAAA,eAAgB,IAAA;AAChBA,mBAAA,eAAgB,IAAA;AAChBA,mBAAA,mBAAoB,IAAA;AACpBA,mBAAA,oBAAqB,IAAA;AAErBA,mBAAA,kBAAmB,IAAA;AA3BTA,SAAAA;AAAA,GAAA,mBAAA,CAAA,CAAA;AA8BL,MAAM,cAAc;AAGpB,MAAM,gBAAgB;AAAA,EAC3B;AAAA,IAAC;AAAA;AAAA,EAAc,GAAG,CAAC,YAA4B,GAAG,WAAW,IAAI,OAAc,IAAI,OAAO;AAAA,EAC1F;AAAA,IAAC;AAAA;AAAA,EAAa,GAAG,CAAC,WAA2B,GAAG,WAAW,IAAI,MAAa,IAAI,MAAM;AAAA,EACtF;AAAA,IAAC;AAAA;AAAA,EAAa,GAAG,CAAC,WAA2B,GAAG,WAAW,IAAI,MAAa,IAAI,MAAM;AAAA,EACtF;AAAA,IAAC;AAAA;AAAA,EAAe,GAAG,CAAC,aAA6B,GAAG,WAAW,IAAI,QAAe,IAAI,QAAQ;AAAA,EAC9F;AAAA,IAAC;AAAA;AAAA,EAAe,GAAG,CAAC,aAA6B,GAAG,WAAW,IAAI,QAAe,IAAI,QAAQ;AAAA,EAC9F;AAAA,IAAC;AAAA;AAAA,EAAe,GAAG,CAAC,aAA6B,GAAG,WAAW,IAAI,YAAmB,QAAQ;AAChG;AAEO,MAAM,cAAc;AACpB,MAAM,sBAAsB,CAAA;AACtB,MAAA,iDAAiC,IAAY;AAAA,EACxD;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAEM,MAAM,0BAA6C;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AACF;AACO,MAAM,6BAAgD;AAAA,EAC3D;AAAA,EACA;AAAA,EACA;AAAA;AACF;AAGY,IAAA,iCAAAC,kBAAL;AACLA,gBAAAA,cAAA,uBAAoB,GAApB,IAAA;AACAA,gBAAAA,cAAA,YAAS,IAAT,IAAA;AAFUA,SAAAA;AAAA,GAAA,gBAAA,CAAA,CAAA;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { MpsErrorCode, SocketEventType } from './constant';
|
|
2
|
+
|
|
3
|
+
export interface BroadcastData {
|
|
4
|
+
data: BroadcastingEventsDataType | ErrorDataType;
|
|
5
|
+
eventType: SocketEventType;
|
|
6
|
+
}
|
|
7
|
+
export interface SocketEventData {
|
|
8
|
+
data?: ExclusiveEventsDataType;
|
|
9
|
+
eventType: SocketEventType;
|
|
10
|
+
}
|
|
11
|
+
export interface SocketOnErrorData {
|
|
12
|
+
type: 'connectError';
|
|
13
|
+
errorMsg: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BroadcastDataType {
|
|
16
|
+
id: string;
|
|
17
|
+
origin: string;
|
|
18
|
+
roomId: string;
|
|
19
|
+
payload: string;
|
|
20
|
+
}
|
|
21
|
+
export interface AynergyData {
|
|
22
|
+
type?: SocketEventType;
|
|
23
|
+
data?: unknown;
|
|
24
|
+
}
|
|
25
|
+
export interface ExclusiveEventsDataType {
|
|
26
|
+
success: boolean;
|
|
27
|
+
data: unknown;
|
|
28
|
+
}
|
|
29
|
+
export interface BroadcastingEventsDataType {
|
|
30
|
+
/** 消息 id, 断开重联后,可以通过这个id来获取miss的消息 */
|
|
31
|
+
id: string;
|
|
32
|
+
origin: 'server' | 'client';
|
|
33
|
+
/** JSON.parse 后得到结构化数据 */
|
|
34
|
+
payload: string;
|
|
35
|
+
/** 房间 id,从会话id 派生出来 */
|
|
36
|
+
roomId: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ErrorDataType {
|
|
39
|
+
status: string;
|
|
40
|
+
message: string;
|
|
41
|
+
errorCode: MpsErrorCode;
|
|
42
|
+
}
|
|
43
|
+
export interface AuthConfig {
|
|
44
|
+
'custom-socket-id': string;
|
|
45
|
+
'space-id': string;
|
|
46
|
+
'room-offset-map': Record<string, string>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Manager, Socket } from 'socket.io-client';
|
|
2
|
+
import { BroadcastData, SocketEventData, SocketOnErrorData } from './types';
|
|
3
|
+
|
|
4
|
+
interface UseSocketDataCommonProps {
|
|
5
|
+
basename: string;
|
|
6
|
+
SocketManager: typeof Manager;
|
|
7
|
+
host?: string;
|
|
8
|
+
onBroadcast?: (dataAndType: BroadcastData) => void;
|
|
9
|
+
onSocketEvent?: (dataAndType: SocketEventData) => void;
|
|
10
|
+
onError?: (data: SocketOnErrorData) => void;
|
|
11
|
+
}
|
|
12
|
+
interface UserIdProps {
|
|
13
|
+
spaceId: number;
|
|
14
|
+
userId?: number;
|
|
15
|
+
}
|
|
16
|
+
interface GuestSocketIdProps {
|
|
17
|
+
guestToken: string;
|
|
18
|
+
}
|
|
19
|
+
type UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);
|
|
20
|
+
export declare function useSocketEvents(props: UseSocketDataProps): Socket | null;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { useRef, useEffect } from "react";
|
|
2
|
+
import useMemoizedFn from "../../node_modules/.pnpm/ahooks@3.8.5_react@18.2.0/node_modules/ahooks/es/useMemoizedFn/index.es.js";
|
|
3
|
+
import { messageWindowByType, socketNormalMessageList, socketBroadcastMessageList, SocketEventType, EXPLICIT_DISCONNECT_REASON, MAX_TIMEOUT } from "./constant.es.js";
|
|
4
|
+
import isNil from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isNil.es.js";
|
|
5
|
+
const generateId = () => {
|
|
6
|
+
return Math.random().toString().slice(2, 20);
|
|
7
|
+
};
|
|
8
|
+
function useSocketEvents(props) {
|
|
9
|
+
const {
|
|
10
|
+
basename,
|
|
11
|
+
host,
|
|
12
|
+
SocketManager,
|
|
13
|
+
onBroadcast: propsOnBroadcast,
|
|
14
|
+
onSocketEvent: propsOnSocketEvent,
|
|
15
|
+
onError: propsOnError
|
|
16
|
+
} = props;
|
|
17
|
+
const userId = props.userId;
|
|
18
|
+
const spaceId = props.spaceId;
|
|
19
|
+
const guestToken = props.guestToken;
|
|
20
|
+
const refTimeout = useRef(null);
|
|
21
|
+
const onBroadcast = useMemoizedFn((data) => propsOnBroadcast == null ? void 0 : propsOnBroadcast(data));
|
|
22
|
+
const onSocketEvent = useMemoizedFn((data) => propsOnSocketEvent == null ? void 0 : propsOnSocketEvent(data));
|
|
23
|
+
const onError = useMemoizedFn((data) => propsOnError == null ? void 0 : propsOnError(data));
|
|
24
|
+
const socketRef = useRef(null);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
var _a;
|
|
27
|
+
if (guestToken === "") {
|
|
28
|
+
onError == null ? void 0 : onError({
|
|
29
|
+
type: "connectError",
|
|
30
|
+
errorMsg: "guestToken 为空字符串,无法连接进入会话房间!"
|
|
31
|
+
});
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (isNil(userId) && !guestToken) {
|
|
35
|
+
onError == null ? void 0 : onError({
|
|
36
|
+
type: "connectError",
|
|
37
|
+
errorMsg: "userId 为空,无法连接进入会话房间!"
|
|
38
|
+
});
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;
|
|
42
|
+
(_a = socketRef.current) == null ? void 0 : _a.disconnect();
|
|
43
|
+
socketRef.current = new SocketManager(host || window.location.origin, {
|
|
44
|
+
transports: ["websocket"],
|
|
45
|
+
forceNew: false,
|
|
46
|
+
path: `${basename}/socket/easyv-mps`,
|
|
47
|
+
reconnectionDelay: 5e3,
|
|
48
|
+
reconnectionDelayMax: 1e4
|
|
49
|
+
}).socket("/easyv-mps", {
|
|
50
|
+
auth: {
|
|
51
|
+
"custom-socket-id": customSocketId,
|
|
52
|
+
"space-id": spaceId || 0,
|
|
53
|
+
"guest-token": guestToken || "",
|
|
54
|
+
"room-offset-map": messageWindowByType
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);
|
|
58
|
+
const socket = socketRef.current;
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
function broadcastCallback(data) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const roomId = (_a = data == null ? void 0 : data.data) == null ? void 0 : _a.roomId;
|
|
63
|
+
if (roomId) {
|
|
64
|
+
const id = (socket == null ? void 0 : socket.auth)["custom-socket-id"];
|
|
65
|
+
if (!messageWindowByType[roomId]) {
|
|
66
|
+
messageWindowByType[roomId] = [];
|
|
67
|
+
}
|
|
68
|
+
if (!((_b = messageWindowByType[roomId]) == null ? void 0 : _b.includes(id))) {
|
|
69
|
+
messageWindowByType[roomId].push(id);
|
|
70
|
+
(socket == null ? void 0 : socket.auth)["room-offset-map"][roomId] = id;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
socketNormalMessageList.forEach((item) => {
|
|
75
|
+
socket == null ? void 0 : socket.on(item, (data) => {
|
|
76
|
+
onBroadcast == null ? void 0 : onBroadcast({ data, eventType: item });
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
socketBroadcastMessageList.forEach((item) => {
|
|
80
|
+
socket == null ? void 0 : socket.on(item, (data) => {
|
|
81
|
+
broadcastCallback({
|
|
82
|
+
data
|
|
83
|
+
});
|
|
84
|
+
onBroadcast == null ? void 0 : onBroadcast({ data, eventType: item });
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
socket == null ? void 0 : socket.on("connect", () => {
|
|
88
|
+
if (socket == null ? void 0 : socket.connected) {
|
|
89
|
+
onSocketEvent == null ? void 0 : onSocketEvent({ data: void 0, eventType: SocketEventType.CONNECT });
|
|
90
|
+
clearDelayer(refTimeout.current);
|
|
91
|
+
} else {
|
|
92
|
+
onSocketEvent == null ? void 0 : onSocketEvent({ data: void 0, eventType: SocketEventType.CONNECT_ERROR });
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
socket == null ? void 0 : socket.on("reconnect", (reason) => {
|
|
96
|
+
onSocketEvent == null ? void 0 : onSocketEvent({ data: void 0, eventType: SocketEventType.RECONNECT });
|
|
97
|
+
if (EXPLICIT_DISCONNECT_REASON.has(reason)) {
|
|
98
|
+
clearDelayer(refTimeout.current);
|
|
99
|
+
refTimeout.current = setTimeout(() => {
|
|
100
|
+
onSocketEvent == null ? void 0 : onSocketEvent({ data: void 0, eventType: SocketEventType.CONNECT_TIMEOUT });
|
|
101
|
+
}, MAX_TIMEOUT);
|
|
102
|
+
}
|
|
103
|
+
console.log("重连成功");
|
|
104
|
+
});
|
|
105
|
+
socket == null ? void 0 : socket.on("connect_error", (error) => {
|
|
106
|
+
onSocketEvent == null ? void 0 : onSocketEvent({
|
|
107
|
+
data: { success: false, data: error },
|
|
108
|
+
eventType: SocketEventType.CONNECT_ERROR
|
|
109
|
+
});
|
|
110
|
+
onError == null ? void 0 : onError({ type: "connectError", errorMsg: error.message });
|
|
111
|
+
});
|
|
112
|
+
return () => {
|
|
113
|
+
if (socket == null ? void 0 : socket.connected) {
|
|
114
|
+
socket == null ? void 0 : socket.close();
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}, [onBroadcast, onError, onSocketEvent, socket]);
|
|
118
|
+
return socket;
|
|
119
|
+
}
|
|
120
|
+
function clearDelayer(timeoutId) {
|
|
121
|
+
if (timeoutId) {
|
|
122
|
+
clearTimeout(timeoutId);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
useSocketEvents
|
|
127
|
+
};
|
|
128
|
+
//# sourceMappingURL=useSocketEvents.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSocketEvents.es.js","sources":["../../../src/hooks/useSocketEvents/useSocketEvents.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { isNil } from 'lodash-es';\nimport { type Manager, type Socket } from 'socket.io-client';\nimport {\n EXPLICIT_DISCONNECT_REASON,\n MAX_TIMEOUT,\n messageWindowByType,\n socketBroadcastMessageList,\n SocketEventType,\n socketNormalMessageList,\n} from './constant';\nimport { AuthConfig, BroadcastData, SocketEventData, SocketOnErrorData } from './types';\n\nconst generateId = () => {\n return Math.random().toString().slice(2, 20);\n};\n\ninterface UseSocketDataCommonProps {\n basename: string;\n SocketManager: typeof Manager;\n host?: string;\n onBroadcast?: (dataAndType: BroadcastData) => void;\n onSocketEvent?: (dataAndType: SocketEventData) => void;\n onError?: (data: SocketOnErrorData) => void;\n}\ninterface UserIdProps {\n spaceId: number;\n userId?: number;\n}\ninterface GuestSocketIdProps {\n guestToken: string;\n}\ntype UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);\n\nexport function useSocketEvents(props: UseSocketDataProps): Socket | null {\n const {\n basename,\n host,\n SocketManager,\n onBroadcast: propsOnBroadcast,\n onSocketEvent: propsOnSocketEvent,\n onError: propsOnError,\n } = props;\n const userId = (props as UserIdProps).userId;\n const spaceId = (props as UserIdProps).spaceId;\n const guestToken = (props as GuestSocketIdProps).guestToken;\n\n const refTimeout = useRef<NodeJS.Timeout | null>(null);\n const onBroadcast = useMemoizedFn((data: BroadcastData) => propsOnBroadcast?.(data));\n const onSocketEvent = useMemoizedFn((data: SocketEventData) => propsOnSocketEvent?.(data));\n const onError = useMemoizedFn((data: SocketOnErrorData) => propsOnError?.(data));\n const socketRef = useRef<Socket | null>(null);\n\n useEffect(() => {\n if (guestToken === '') {\n onError?.({\n type: 'connectError',\n errorMsg: 'guestToken 为空字符串,无法连接进入会话房间!',\n });\n return;\n }\n if (isNil(userId) && !guestToken) {\n onError?.({\n type: 'connectError',\n errorMsg: 'userId 为空,无法连接进入会话房间!',\n });\n return;\n }\n\n const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;\n socketRef.current?.disconnect();\n socketRef.current = new SocketManager(host || window.location.origin, {\n transports: ['websocket'],\n forceNew: false,\n path: `${basename}/socket/easyv-mps`,\n reconnectionDelay: 5000,\n reconnectionDelayMax: 10000,\n }).socket('/easyv-mps', {\n auth: {\n 'custom-socket-id': customSocketId,\n 'space-id': spaceId || 0,\n 'guest-token': guestToken || '',\n 'room-offset-map': messageWindowByType,\n },\n });\n }, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);\n\n const socket = socketRef.current;\n\n useEffect(() => {\n function broadcastCallback(data: { data: { roomId: string } }) {\n const roomId = data?.data?.roomId;\n if (roomId) {\n const id = (socket?.auth as AuthConfig)['custom-socket-id'];\n if (!messageWindowByType[roomId]) {\n messageWindowByType[roomId] = [];\n }\n if (!messageWindowByType[roomId]?.includes(id)) {\n // 重复消息过滤\n messageWindowByType[roomId].push(id);\n (socket?.auth as AuthConfig)['room-offset-map'][roomId] = id;\n }\n }\n }\n\n socketNormalMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n onBroadcast?.({ data, eventType: item });\n });\n });\n socketBroadcastMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n broadcastCallback({\n data,\n });\n onBroadcast?.({ data, eventType: item });\n });\n });\n\n socket?.on('connect', () => {\n if (socket?.connected) {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT });\n // 清理定时任务\n clearDelayer(refTimeout.current);\n } else {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_ERROR });\n }\n });\n\n socket?.on('reconnect', (reason) => {\n // 断开\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.RECONNECT });\n if (EXPLICIT_DISCONNECT_REASON.has(reason)) {\n // 意外断开,启动一个定时器,规定时间内没重新连上就弹框,要求客户刷新页面\n clearDelayer(refTimeout.current);\n refTimeout.current = setTimeout(() => {\n // 连接超时\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_TIMEOUT });\n }, MAX_TIMEOUT);\n }\n console.log('重连成功');\n });\n socket?.on('connect_error', (error) => {\n onSocketEvent?.({\n data: { success: false, data: error },\n eventType: SocketEventType.CONNECT_ERROR,\n });\n onError?.({ type: 'connectError', errorMsg: error.message });\n });\n return () => {\n // 主动断开\n if (socket?.connected) {\n socket?.close();\n }\n };\n }, [onBroadcast, onError, onSocketEvent, socket]);\n\n return socket;\n}\n\n/**\n * clear timeout util\n * */\nfunction clearDelayer(timeoutId: NodeJS.Timeout | null) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/dist/index.es.js
CHANGED
|
@@ -9,25 +9,39 @@ import { useDivAutoScroll } from "./hooks/useDivAutoScroll.es.js";
|
|
|
9
9
|
import { useXunFeiSteamVoiceManager } from "./hooks/useXunFeiSteamVoiceManager.es.js";
|
|
10
10
|
import { useInitialized } from "./hooks/useInitialized.es.js";
|
|
11
11
|
import { useWatchValue } from "./hooks/useWatchValue/useWatchValue.es.js";
|
|
12
|
+
import { useSocketEvents } from "./hooks/useSocketEvents/useSocketEvents.es.js";
|
|
13
|
+
import { EXPLICIT_DISCONNECT_REASON, MAX_TIMEOUT, MessageType, MpsErrorCode, ROOM_PREFIX, RoomType, RoomTypeIdMap, SocketEventType, messageWindowByType, socketBroadcastMessageList, socketNormalMessageList } from "./hooks/useSocketEvents/constant.es.js";
|
|
12
14
|
import { FunASRManager, getWebSocketConnectForFunASR } from "./utils/funASR/funASRManager.es.js";
|
|
13
15
|
import { XFStreamVoiceManager } from "./utils/xunFeiVoice/XFStreamVoiceManager.es.js";
|
|
14
16
|
import { RecorderManager } from "./utils/xunFeiVoice/RecorderManager/RecorderManager.es.js";
|
|
15
17
|
export {
|
|
16
18
|
AiAgentMessageType,
|
|
17
19
|
AiMessageRender,
|
|
20
|
+
EXPLICIT_DISCONNECT_REASON,
|
|
18
21
|
EchartsRender,
|
|
19
22
|
FunASRManager,
|
|
23
|
+
MAX_TIMEOUT,
|
|
24
|
+
MessageType,
|
|
25
|
+
MpsErrorCode,
|
|
26
|
+
ROOM_PREFIX,
|
|
20
27
|
RecorderManager,
|
|
28
|
+
RoomType,
|
|
29
|
+
RoomTypeIdMap,
|
|
21
30
|
ScrollController,
|
|
22
31
|
ShadowDom,
|
|
32
|
+
SocketEventType,
|
|
23
33
|
VoiceAnimation,
|
|
24
34
|
XFStreamVoiceManager,
|
|
25
35
|
generateAiChatMessageFromAiChatDetail,
|
|
26
36
|
generateAiChatMessageFromSocketMessage,
|
|
27
37
|
generateDefaultAiMsg,
|
|
28
38
|
getWebSocketConnectForFunASR,
|
|
39
|
+
messageWindowByType,
|
|
40
|
+
socketBroadcastMessageList,
|
|
41
|
+
socketNormalMessageList,
|
|
29
42
|
useDivAutoScroll,
|
|
30
43
|
useInitialized,
|
|
44
|
+
useSocketEvents,
|
|
31
45
|
useWatchValue,
|
|
32
46
|
useXunFeiSteamVoiceManager
|
|
33
47
|
};
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as classnames$1 } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as classnames$1 } from "../../../../../_virtual/index.es3.js";
|
|
3
3
|
/*!
|
|
4
4
|
Copyright (c) 2018 Jed Watson.
|
|
5
5
|
Licensed under the MIT License (MIT), see
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as coWebWorker } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as coWebWorker } from "../../../../../_virtual/index.es4.js";
|
|
3
3
|
class CrossOriginWorker extends Worker {
|
|
4
4
|
constructor(scriptUrl) {
|
|
5
5
|
const b = new Blob([`importScripts('${new URL(scriptUrl).toString()}')`], { type: "application/javascript" });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as propTypes } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as propTypes } from "../../../../../_virtual/index.es2.js";
|
|
3
3
|
import { __require as requireReactIs } from "../../../react-is@16.13.1/node_modules/react-is/index.es.js";
|
|
4
4
|
import { __require as requireFactoryWithTypeCheckers } from "./factoryWithTypeCheckers.es.js";
|
|
5
5
|
import { __require as requireFactoryWithThrowingShims } from "./factoryWithThrowingShims.es.js";
|