更新记录

1.0.6(2024-03-30)

新增取消订阅、监听连接丢失、自动重新连接等功能

1.0.5(2024-03-30)

删除class的export

1.0.4(2024-03-30)

删除android下的uts导出default

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.99,Android:4.4,iOS:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

使用说明

该插件可用于连接mqtt服务端,也可以用于连接rabbitMQ服务端

如果想连接rabbitMQ 请在rabbitMQ官网下开启mqtt插件并且添加对应配置即可

有关于该插件的疑问或者技术探讨可以微信联系作者(备注来源)

微信号:z1003975792y

API 介绍

连接函数connect

参数 类型 必填 备注
option object 连接参数
(res)=>{} function 连接回调(res.code 200是成功,500是失败)
import {
    connect
} from "@/uni_modules/zy-mqtt";

let option = {
    host: 'tcp://10.10.xx.xx:1883', // 主机ip
    clientId: 'xxxxx', // 客户端id
    userName: 'xxxx',  // 用户名
    password: 'xxxx',  // 密码
    cleanSession: false // 可选,默认false,是否开启持续会话
    automaticReconnect: true // 可选,默认true,是否自动重连
    heartBeat: 60 // 可选,默认60秒, 心跳
    timeOut: 30 // 可选,默认30秒,连接超时时间
}
// 先连接mqtt
connect(option, (res) => {
    uni.showToast({
        title: res.message
    })
)

订阅主题函数subscribe

参数 类型 必填 备注
topic string 订阅主题
qos string QoS(Quality of Service)是MQTT协议中用于确保消息传递质量的机制 0:最多一次传输、1至少一次传输、2仅一次传输
(res)=>{} function 客户端接收到该主题消息的回调(res:object)
import {
    subscribe
} from "@/uni_modules/zy-mqtt";

// 下面是其它客户端或者后端发布消息以json的格式
// 例如 {message:'你好,mqtt'}
subscribe('topic', 2, (res) => {
    uni.showToast({
        title: res.message // 你好,mqtt
    })
})

取消订阅函数unSubscribe

参数 类型 必填 备注
topic string 要取消订阅的主题
(res)=>{} function 取消订阅的回调(res.code 200是成功,500是失败)
import {
    unSubscribe
} from "@/uni_modules/zy-mqtt";

unSubscribe('topic', (res) => {
    uni.showToast({
        title: res.message
    })
})

发布消息函数publishMessage

参数 类型 必填 备注
topic string 主题
qos string QoS(Quality of Service)是MQTT协议中用于确保消息传递质量的机制 0:最多一次传输、1至少一次传输、2仅一次传输
message string 消息内容
(res)=>{} function 消息发送成功的回调(res.code 200是成功,500是失败)
import {
    publishMessage
} from "@/uni_modules/zy-mqtt";

var messages = JSON.stringify({
    message: '你好,mqtt',
    phone: '131xxxxxxxx'
})
publishMessage('your/topic', 2, messages, (res) => {
    uni.showToast({
        title: res.message // 发布消息结果的message
    })
})

监听连接丢失函数onConnectLost

参数 类型 必填 备注
(res)=>{} function 连接丢失回调函数 (res.message 丢失原因)
import {
    onConnectLost
} from "@/uni_modules/zy-mqtt";

onConnectLost((res) => {
    uni.showToast({
        title: res.message // 连接丢失的原因
    })
})

监听自动重新连接函数onReconnect

automaticReconnect:true的前提下生效
重新连接后,插件自己会将原来已经订阅的主题主动订阅,无需自己重新订阅
参数 类型 必填 备注
(res)=>{} function 自动重新连接回调函数 (res.code 200是重新连接成功,500是重新连接失败)
import {
    onReconnect
} from "@/uni_modules/zy-mqtt";

onReconnect((res) => {
    uni.showToast({
        title: res.message // 重新连接的结果
    })
})

断开连接函数disConnect

参数 类型 必填 备注
(res)=>{} function 断开连接的回调函数 (res.code 200是断开成功,500是断开失败)
import {
    disConnect
} from "@/uni_modules/zy-mqtt";

disconnectMqtt()

获取配置函数getConfig

import {
    getConfig
} from "@/uni_modules/zy-mqtt";

const config = getConfig()
console.log(getConfig) // 返回连接的所有配置信息

隐私、权限声明

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

网络

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

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

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