UNPKG

@cf-platform/cim

Version:

消息队列库

121 lines (97 loc) 4.23 kB
# @cf-platform/cim ## 一、初始化 ### 1. 初始化参数 `CIMOptions` #### *取值为`*`号的参数为必填参数* | 参数名 | 描述 | 类型 | 取值 | |-----------------|-------|----------------|--------| | url | 地址 | `string` | `*` | | restartInterval | 重启间隔 | `number` | `3000` | | loginParams | 登录参数 | `LoginParams` | `*` | | customEvents | 自定义事件 | `CustomEvents` | `null` | ### 2. 登录参数 `LoginParams` #### *取值为`*`号的字段为必填字段* | 名称 | 描述 | 类型 | 取值 | |-------------|--------|----------|-----------------------------| | uid | 用户ID | `string` | `*` | | channel | 通道 | `string` | `web` | | appVersion | 系统ID | `string` | `*` | | osVersion | 设备版本号 | `string` | `browser.version` | | packageName | 包名 | `string` | `com.farsunset.cim` | | language | 语言 | `string` | `window.navigator.language` | | deviceId | 设备唯一ID | `string` | `*` | | deviceName | 设备名称 | `string` | `browser.name` | | `custom` | 自定义参数 | `string` | | ### 3. 自定义事件 `CustomEvents` | 方法名 | 描述 | 类型 | 是否必须 | |------------------------|-----------------|--------------------------|------| | onSocketOpen | socket连接成功时触发方法 | `Function` | 否 | | onSocketConnect | socket连接时触发方法 | `Function(url: string)` | 否 | | onSocketClose | socket连接关闭时触发方法 | `Function` | 否 | | onSocketError | socket连接错误时触发方法 | `Function` | 否 | | onSendPong | 发送心跳时触发方法 | `Function` | 否 | | onMessage | 收到消息时触发方法 | `Function(message: any)` | 否 | | onReply | 收到回复时触发方法 | `Function(reply: any)` | 否 | | onLoginSuccess | 回复登录成功时触发方法 | `Function(reply: any)` | 否 | | onLoginDisconnected | 回复登录断开时触发方法 | `Function(reply: any)` | 否 | | onAuthenticationFailed | 回复鉴权失败时触发方法 | `Function(reply: any)` | 否 | ### 4. 初始化方法 ```ts new CIM(<CIMOptions>{ url: 'wss://127.0.0.1:8080', restartInterval: 0, loginParams: { uid: 'xxxxxxx', appVersion: 'xx', deviceId: 'xxxxxxxx' } }); ``` ## 二、发送消息 ### 1. 发送参数 `CIMMessage` | 参数名 | 描述 | 类型 | 可选值 | |----------|-------|----------|----------------------------------------------------| | key | 消息标识 | `string` | `client_closed``send_message``broadcast_message` | | `custom` | 自定义参数 | `any` | | ### 2. 发送方法 ```ts CIM.sendMessage(data: CIMMessage); ``` ## CIM ```ts export declare class CIM { /** * @param options CIM参数 */ constructor(options: CIMOptions); /** * 初始化 * @param options CIM初始化参数 */ initialize(options: CIMOptions): void; /** 连接 */ connect(): void; /** 重新连接 */ reconnect(): void; /** 关闭 */ close(): void; /** * 发送心跳 */ sendPong(): void; /** * 接收消息 * @param message 收到的消息 */ receiveMessage(message: any): void; /** * 接收回复 * @param reply */ receiveReply(reply: any): void; /** * 发送消息 * @param CIMMessage 消息Key */ sendMessage(data: CIMMessage): void; } ```