更新记录
1.0.3(2025-03-03)
下载此版本
去掉多余的注释;修改markdown;
1.0.1(2025-03-03)
下载此版本
修改README.md
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
app-vue |
× |
√ |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
鸿蒙元服务 |
× |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
√ |
√ |
√ |
√ |
√ |
× |
√ |
× |
× |
欢迎使用 c-websocket
注意事项 微信小程序需要wss开头的socket域名,需要配置socket合法域名,具体操作方法:https://mp.weixin.qq.com打开并登录 --->管理 --->开发管理 --->服务器域名 --->修改
安装
// npm安装方式,插件市场导入无需执行此命令。插件市场导入地址:https://ext.dcloud.net.cn/plugin?id=22423
npm install c-websocket
使用方法
// 以下导入方式按照安装方式导入,二选一
import Socket from "@/uni_modules/c-websocket"; // 插件市场导入方法
import Socket from "c-websocket"; // npm导入方法
const testSocket = new Socket("testSocket");
testSocket.setHeartbeatParams({
time: 10000, // 多少毫秒发送一次心跳
data: "心跳" // 心跳发送内容
});
testSocket.setReconnectParams({
count: 3, // 重连次数
time: 3000 // 多少毫秒重连
})
testSocket.connect({
url: "wss://...",
heartbeat: {
open: true,
time: 30000,
data: "心跳"
},
onOpen: (res) => {
// socket监听打开,需要处理的逻辑
testSocket.send("发送一条消息给后端");
},
onMessage: (res) => {
// socket接收服务端的消息,需要处理的逻辑
},
onClose: (res) => {
// socket监听关闭,需要处理的逻辑
},
onError: (err) => {
// socket监听错误,需要处理的逻辑
}
})
setTimeout(() => {
testSocket.close((res) => {
console.log("socket关闭情况:", res);
});
}, 10000)
API
new Socket(taskName, closeLog)的taskName和closeLog Props
创建对象
属性 |
类型 |
是否必填 |
说明 |
taskName |
String |
是 |
创建的socket任务名,唯一 |
closeLog |
Boolean |
否 |
关闭当前插件里所有的打印(console.log),默认false |
new Socket().setReconnectParams(params: object)的params Props
设置重连socket参数
属性 |
类型 |
是否必填 |
说明 |
isExecute |
Boolean |
否 |
是否可以重连,默认true |
count |
Number |
否 |
重连次数,默认10 |
time |
Number |
否 |
多少毫秒重连一次,默认10000 |
new Socket().setHeartbeatParams(params: object)的params Props
设置心跳的参数
属性 |
类型 |
是否必填 |
说明 |
open |
Boolean |
否 |
是否开启心跳,默认true |
time |
Number |
否 |
多少毫秒发送心跳,默认30000 |
data |
String/ArrayBuffer |
否 |
心跳发送的内容,默认"" |
new Socket().connect(params: object)的params Props
创建socket
属性 |
类型 |
是否必填 |
说明 |
url |
String |
是 |
uni.connectSocket的url参数 |
connectParams |
Object |
否 |
uni.connectSocket的参数对象,注:这个属性填写url会覆盖单独设置的url属性 |
onOpen |
Function |
否 |
SocketTask.onOpen,监听 WebSocket 连接打开事件 |
onMessage |
Function |
否 |
SocketTask.onMessage,监听 WebSocket 接受到服务器的消息事件 |
onClose |
Function |
否 |
SocketTask.onClose,监听 WebSocket 连接关闭事件 |
onError |
Function |
否 |
SocketTask.onError,监听 WebSocket 错误事件 |
new Socket().send(data, closeLog)的data和closeLog Props
给服务端发送的函数
属性 |
类型 |
是否必填 |
说明 |
data |
String/ArrayBuffer |
是 |
发送给服务端的内容 |
closeLog |
Boolean |
否 |
关闭当前这次发送内容的打印(console.log) |
new Socket().close(callback)的callback Props
关闭当前socket的函数
属性 |
类型 |
是否必填 |
说明 |
callback |
Function |
否 |
执行完的回调 |