UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

86 lines (85 loc) 1.99 kB
/** * Socket配置选项 */ export interface SocketOptions { /** 是否自动连接 */ autoConnect?: boolean; /** 是否启用重连功能 */ reconnection?: boolean; /** 最大重连尝试次数,默认无限 */ reconnectionAttempts?: number; /** 重连延迟时间(毫秒) */ reconnectionDelay?: number; /** 最大重连延迟时间(毫秒) */ reconnectionDelayMax?: number; /** 是否启用心跳检测 */ heartbeat?: boolean; /** 心跳间隔时间(毫秒) */ heartbeatInterval?: number; /** 请求超时时间(毫秒) */ timeout?: number; /** 心跳超时时间(毫秒) */ heartbeatTimeout?: number; /** 自定义协议 */ protocols?: string | string[]; /** 连接URL */ url: string; } /** * Socket连接状态 */ export declare enum SocketStatus { CONNECTING = 0, OPEN = 1, CLOSING = 2, CLOSED = 3, RECONNECTING = 4 } /** * Socket消息格式 */ export interface SocketMessage<T = any> { /** 事件类型 */ type: string; /** 消息数据 */ data?: T; /** 消息ID */ id?: string; event?: any; } /** * 心跳配置选项 */ export interface HeartbeatOptions { /** 心跳间隔时间(毫秒) */ interval: number; /** 心跳超时时间(毫秒) */ timeout: number; /** 心跳探测消息 */ message?: SocketMessage; } /** * 重连配置选项 */ export interface ReconnectOptions { /** 是否启用重连 */ enabled: boolean; /** 最大重连尝试次数 */ attempts?: number; /** 重连延迟时间(毫秒) */ delay: number; /** 最大重连延迟时间(毫秒) */ delayMax?: number; /** 是否使用指数退避算法 */ jitter?: boolean; } /** * 事件处理函数类型 */ export type EventHandler = (...args: any[]) => void; /** * 事件处理函数映射 */ export interface EventHandlerMap { [event: string]: EventHandler[]; }