@ichaingo/web-socket 1.3.72 → 1.3.74
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/index.d.ts +119 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +235 -1497
- package/dist/useSocket.d.ts +57 -0
- package/dist/useSocket.d.ts.map +1 -0
- package/dist/useSocket.js +203 -0
- package/package.json +1 -1
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket连接状态枚举
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ConnectionStatus {
|
|
5
|
+
CONNECTING = "connecting",
|
|
6
|
+
CONNECTED = "connected",
|
|
7
|
+
DISCONNECTED = "disconnected",
|
|
8
|
+
RECONNECTING = "reconnecting",
|
|
9
|
+
ERROR = "error"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* WebSocket事件类型
|
|
13
|
+
*/
|
|
14
|
+
export interface WebSocketEvents {
|
|
15
|
+
open: () => void;
|
|
16
|
+
message: (data: string | ArrayBuffer | Blob) => void;
|
|
17
|
+
close: (event: CloseEvent) => void;
|
|
18
|
+
error: (error: Event) => void;
|
|
19
|
+
statusChange: (status: ConnectionStatus) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* WebSocket配置选项
|
|
23
|
+
*/
|
|
24
|
+
export interface WebSocketConfig {
|
|
25
|
+
url: string;
|
|
26
|
+
params?: Record<string, string>;
|
|
27
|
+
protocols?: string | string[];
|
|
28
|
+
reconnectInterval?: number;
|
|
29
|
+
maxReconnectAttempts?: number;
|
|
30
|
+
heartbeatInterval?: number;
|
|
31
|
+
debug?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* WebSocket单例连接类
|
|
35
|
+
* 提供WebSocket连接的创建、管理、重连等功能
|
|
36
|
+
*/
|
|
37
|
+
declare class SocketConnection {
|
|
38
|
+
private static instance;
|
|
39
|
+
private socket;
|
|
40
|
+
private config;
|
|
41
|
+
private status;
|
|
42
|
+
private reconnectAttempts;
|
|
43
|
+
private reconnectTimer;
|
|
44
|
+
private heartbeatTimer;
|
|
45
|
+
private eventListeners;
|
|
46
|
+
private constructor();
|
|
47
|
+
/**
|
|
48
|
+
* 获取单例实例
|
|
49
|
+
*/
|
|
50
|
+
static getInstance(config?: WebSocketConfig): SocketConnection;
|
|
51
|
+
/**
|
|
52
|
+
* 连接WebSocket
|
|
53
|
+
*/
|
|
54
|
+
connect(config?: WebSocketConfig): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* 断开连接
|
|
57
|
+
*/
|
|
58
|
+
disconnect(): void;
|
|
59
|
+
/**
|
|
60
|
+
* 发送消息
|
|
61
|
+
*/
|
|
62
|
+
send(data: string | ArrayBuffer | Blob): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* 发送JSON消息
|
|
65
|
+
*/
|
|
66
|
+
sendJSON(data: unknown): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* 添加事件监听器
|
|
69
|
+
*/
|
|
70
|
+
on<K extends keyof WebSocketEvents>(event: K, listener: WebSocketEvents[K]): void;
|
|
71
|
+
/**
|
|
72
|
+
* 移除事件监听器
|
|
73
|
+
*/
|
|
74
|
+
off<K extends keyof WebSocketEvents>(event: K): void;
|
|
75
|
+
/**
|
|
76
|
+
* 获取连接状态
|
|
77
|
+
*/
|
|
78
|
+
getStatus(): ConnectionStatus;
|
|
79
|
+
/**
|
|
80
|
+
* 检查是否已连接
|
|
81
|
+
*/
|
|
82
|
+
isConnected(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* 设置事件监听器
|
|
85
|
+
*/
|
|
86
|
+
private setupEventListeners;
|
|
87
|
+
/**
|
|
88
|
+
* 设置连接状态
|
|
89
|
+
*/
|
|
90
|
+
private setStatus;
|
|
91
|
+
/**
|
|
92
|
+
* 安排重连
|
|
93
|
+
*/
|
|
94
|
+
private scheduleReconnect;
|
|
95
|
+
/**
|
|
96
|
+
* 清除重连定时器
|
|
97
|
+
*/
|
|
98
|
+
private clearReconnectTimer;
|
|
99
|
+
/**
|
|
100
|
+
* 开始心跳检测
|
|
101
|
+
*/
|
|
102
|
+
private startHeartbeat;
|
|
103
|
+
/**
|
|
104
|
+
* 停止心跳检测
|
|
105
|
+
*/
|
|
106
|
+
private stopHeartbeat;
|
|
107
|
+
/**
|
|
108
|
+
* 日志输出
|
|
109
|
+
*/
|
|
110
|
+
private log;
|
|
111
|
+
/**
|
|
112
|
+
* 销毁实例
|
|
113
|
+
*/
|
|
114
|
+
destroy(): void;
|
|
115
|
+
}
|
|
116
|
+
export default SocketConnection;
|
|
117
|
+
export { useSocket, useSocketMessage, useSocketStatus } from './useSocket.js';
|
|
118
|
+
export type { UseSocketConfig, UseSocketReturn } from './useSocket.js';
|
|
119
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAmD;IACjE,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAgC;IAEtD,OAAO;IAUP;;OAEG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,gBAAgB;IAoBrE;;OAEG;IACI,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCvD;;OAEG;IACI,UAAU,IAAI,IAAI;IAazB;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,OAAO;IAWvD;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIvC;;OAEG;IACI,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxF;;OAEG;IACI,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAI3D;;OAEG;IACI,SAAS,IAAI,gBAAgB;IAIpC;;OAEG;IACI,WAAW,IAAI,OAAO;IAI7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACI,OAAO,IAAI,IAAI;CAKvB;AAED,eAAe,gBAAgB,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|