更新记录
0.2.0(2025-07-01)
0.1.9(2025-07-01)
0.1.8(2025-07-01)
查看更多
平台兼容性
uni-app(4.45)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
√ |
- |
- |
- |
- |
- |
- |
- |
- |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(4.61)
Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
- |
- |
- |
- |
- |
- |
lime-mqtt
- 提供跨平台的 MQTT 协议通信能力,支持连接、订阅、发布、断开等基础操作,支持安卓、Web、微信小程序、(iOS未测)
文档
🚀 mqtt【站点1】
🌍 mqtt【站点2】
🔥 mqtt【站点3】
安装
插件市场导入,引入页面后,APP需要自定义基座
演示代码
初始化客户端
import { useMQTT } from '@/uni_modules/lime-mqtt'
const mqttClient = useMQTT()
1. 连接 MQTT 服务器
import type { MQTTConnectOptions } from '@/uni_modules/lime-mqtt'
mqttClient.connect({
host: "broker.example.com",
port: 8083,
clientId: "myClient_123", // 可选,默认自动生成
username: "user", // 可选
password: "pass", // 可选
usessl: true, // 默认 true
keepalive: 60, // 默认 60秒
timeout: 30, // 默认 30秒
success: (res) => {
console.log("连接成功:", res.data.errmsg)
},
fail: (err) => {
console.error("连接失败:", err.errorCode)
}
} as MQTTConnectOptions)
2. 断开连接
import type { MQTTDisconnectOptions } from '@/uni_modules/lime-mqtt'
mqttClient.disconnect({
success: () => {
console.log("已断开连接")
}
} as MQTTDisconnectOptions)
3. 订阅主题
import type { MQTTSubscribeOptions } from '@/uni_modules/lime-mqtt'
mqttClient.subscribe({
topic: "home/sensor/temperature",
qos: 1,
success: (res) => {
console.log(`订阅成功: ${res.data.topic}`)
}
} as MQTTSubscribeOptions)
4. 取消订阅
import type { MQTTUnSubscribeOptions } from '@/uni_modules/lime-mqtt'
mqttClient.unsubscribe({
topic: "home/sensor/temperature",
success: () => {
console.log("已取消订阅")
}
} as MQTTUnSubscribeOptions)
5. 发布消息
import type { MQTTPublishOptions } from '@/uni_modules/lime-mqtt'
mqttClient.publish({
topic: "home/light/control",
payload: "turn_on",
qos: 1
} as MQTTPublishOptions)
6. 消息监听
import type { MqttMessage } from '@/uni_modules/lime-mqtt'
const messageHandler = (msg: MqttMessage) => {
console.log(`收到消息 [${msg.topic}]: ${msg.payloadString}`)
}
mqttClient.onMessage(messageHandler)
// 移除监听
mqttClient.offMessage(messageHandler)
7. 状态监听
const stateHandler = (res) => {
console.log(`状态变化 [${res.state}]: ${res.timestamp}`)
}
mqttClient.onStateChange(stateHandler)
// 移除监听
mqttClient.offStateChange(stateHandler)
错误代码参考
错误码 |
说明 |
910001 |
连接异常 |
910005 |
缺少 host 或 port 参数 |
9010002 |
订阅/取消订阅失败 |
常见问题
- ios offMessage和offStateChange暂时无法清空指定函数。必须全部清空。(hbx4.74)