Options
All
  • Public
  • Public/Protected
  • All
Menu

Class WeChatSocket

兼容微信小程序的StompSocket实现

Hierarchy

  • EventTarget
    • WeChatSocket

Implements

Index

Constructors

constructor

Properties

cacheDataQueue

cacheDataQueue: Array<[SocketSendDataType, string]>

connectUrl

connectUrl: string

headers

headers: StompSocketHeader

heartbeatUrl

heartbeatUrl: string

interval

interval: number = WeChatSocket.HEARTBEAT_INTERVAL

lastConsumeId

lastConsumeId: string

maxReconnectCount

maxReconnectCount: number = WeChatSocket.MAX_RECONNECT_COUNT

missingHeartbeat

missingHeartbeat: number

receiveUrl

receiveUrl: string

reconnectCount

reconnectCount: number

reconnectInterval

reconnectInterval: number = WeChatSocket.HEARTBEAT_INTERVAL

reporter

reporter: Reporter = new Reporter('WeChatSocket')

sendUrl

sendUrl: string

socket

socket: any

state

timeout

timeout: number = WeChatSocket.TIMEOUT

unheartbeat

unheartbeat: SocketUnheartbeatType

wsInst

wsInst: WebSocket

Static HEARTBEAT_INTERVAL

HEARTBEAT_INTERVAL: number = 10 * 1000

默认的心跳间隔

Static MAX_RECONNECT_COUNT

MAX_RECONNECT_COUNT: number = 10

默认最大重连次数

Static TIMEOUT

TIMEOUT: number = 20 * 1000

默认心跳超时时间

Static reporter

reporter: Reporter = new Reporter('WeChatSocket')

Methods

_dispatchMessage

  • _dispatchMessage(data: any): void
  • Parameters

    • data: any

    Returns void

_reconnect

  • _reconnect(): void
  • Returns void

_socketInit

  • _socketInit(headers: StompSocketHeader): Promise<unknown>
  • Parameters

    • headers: StompSocketHeader

    Returns Promise<unknown>

addEventListener

  • addEventListener(type: EventTargetType, func: EventListenerType, options?: EventListenerOptions): () => void
  • 添加事件监听器

    Parameters

    • type: EventTargetType

      要监听的事件类型

    • func: EventListenerType

      事件监听回调

    • Optional options: EventListenerOptions

    Returns () => void

    若添加成功则返回一个函数, 用于移除事件监听

      • (): void
      • Returns void

addEventListeners

  • addEventListeners(types: Array<EventTargetType>, func: EventListenerType, options?: EventListenerOptions): false | (Anonymous function)
  • 对多个事件添加同一个事件监听器

    Parameters

    • types: Array<EventTargetType>

      要监听的事件类型

    • func: EventListenerType

      事件监听回调

    • Optional options: EventListenerOptions

      设置监听器参数

    Returns false | (Anonymous function)

    若添加成功则返回一个函数, 用于移除事件监听

clearListener

  • clearListener(): void
  • 清空所有绑定的事件

    Returns void

close

  • close(): Promise<unknown>

dispatchEvent

  • dispatchEvent(event: Event): boolean
  • 分发事件

    Parameters

    • event: Event

      分发的事件对象

    Returns boolean

    事件是否发送成功

dispatchEventLite

  • dispatchEventLite(type: EventTargetType, message?: EventTargetData, error?: string | number): void
  • 简化分发事件接口, 如需要分发的是错误事件, error参数传入具体错误类型

    Parameters

    • type: EventTargetType

      事件类型

    • Optional message: EventTargetData

      消息

    • Optional error: string | number

      错误类型

    Returns void

hasListener

  • hasListener(type: EventTargetType): boolean
  • 指定类型的事件是否被监听

    Parameters

    • type: EventTargetType

    Returns boolean

heartbeat

  • heartbeat(): SocketUnheartbeatType

removeEventListener

  • removeEventListener(type: EventTargetType, func: EventListenerType): boolean
  • 移除事件监听器, 要提供与调用addEventListeneraddEventListeners时相同的参数

    Parameters

    • type: EventTargetType

      要移除的事件监听器类型

    • func: EventListenerType

      要移除的事件监听器

    Returns boolean

    返回true表示有该fun监听器并且移除成功

send

  • send(data: SocketSendDataType): Promise<any>

sendTo

  • sendTo(data: SocketSendDataType, destination: string, options?: SocketSendOptions): Promise<any>

Object literals

Static DEFAULT_SOCKET_CONFIG

DEFAULT_SOCKET_CONFIG: object

默认的StompSocketConfig配置

connectUrl

connectUrl: null = null

headers

headers: null = null

heartbeatUrl

heartbeatUrl: string = "/acd/heartbeat"

interval

interval: number = WeChatSocket.HEARTBEAT_INTERVAL

maxReconnectCount

maxReconnectCount: number = WeChatSocket.MAX_RECONNECT_COUNT

receiveUrl

receiveUrl: null = null

reconnectInterval

reconnectInterval: number = WeChatSocket.HEARTBEAT_INTERVAL

sendUrl

sendUrl: string = "/acd/set/data"

timeout

timeout: number = WeChatSocket.TIMEOUT

Generated using TypeDoc