更新记录

1.0.3(2025-03-03) 下载此版本

去掉多余的注释;修改markdown;

1.0.1(2025-03-03) 下载此版本

修改README.md


平台兼容性

Vue2 Vue3
×
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 执行完的回调

隐私、权限声明

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

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

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

许可协议

MIT协议

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