更新记录
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
: 当前重连次数
注意事项
- 建议在组件销毁时调用 close() 方法清理连接
- 自动重连功能可以通过 autoReconnect 选项关闭