更新记录

1.0.2(2025-05-13) 下载此版本

更新说明文件

1.0.1(2025-05-13) 下载此版本

添加说明文件

1.0.0(2025-05-13) 下载此版本

uniapp WebSocket 二次封装,支持自动重连、事件监听等功能。

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue app-nvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × ×

lu-socket

uniapp WebSocket 二次封装,支持自动重连、事件监听等功能。

特性

  • 自动重连机制
  • 完整的事件监听系统
  • 简单易用的 API

安装

导入到你的项目中即可。

基础用法

import WebSocketClient from "@/uni_modules/lu-socket/js_sdk/socket.js";

// 创建实例
const ws = new WebSocketClient("wss://your-websocket-server", {
  reconnectInterval: 3000, // 重连间隔(ms)
  maxReconnectAttempts: 5, // 最大重连次数
  autoReconnect: true, // 是否自动重连
});

// 监听连接打开
ws.onOpen(() => {
  console.log("连接已打开");
});

// 监听消息
ws.onMessage((data) => {
  console.log("收到消息:", data);
});

// 连接
ws.connect(
  () => console.log("连接成功"),
  (error) => console.error("连接失败:", error)
);

// 发送消息
ws.send(
  "hello",
  () => console.log("发送成功"),
  (error) => console.log("发送失败:", error)
);

// 关闭连接
ws.close();

API 文档

构造函数选项

{
  reconnectInterval: number,    // 重连间隔时间(ms),默认3000
  maxReconnectAttempts: number, // 最大重连次数,默认-1(无限重连)
  autoReconnect: boolean,       // 是否自动重连,默认true
  timeout: number,              // 连接超时时间(ms),默认10000
  header: object,               // 请求头
  protocols: string[]           // 子协议数组
}

事件监听

  • onOpen(callback): 监听连接打开
  • onClose(callback): 监听连接关闭
  • onError(callback): 监听连接错误
  • onMessage(callback): 监听收到消息
  • onReconnect(callback): 监听重连尝试
  • onMaxReconnectAttemptsReached(callback): 监听达到最大重连次数

方法

  • connect(onSuccess, onError): 建立连接
  • close(skipReconnect = true): 关闭连接
  • send(message, onSuccess, onError): 发送消息
  • reconnect(onSuccess, onError): 手动触发重连

属性

  • isConnected: 当前连接状态
  • reconnecting: 是否正在重连
  • reconnectAttempts: 当前重连次数

注意事项

  1. 建议在组件销毁时调用 close() 方法清理连接
  2. 自动重连功能可以通过 autoReconnect 选项关闭

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问