更新记录

0.2.0(2025-07-01)

  • fix:修复ios无法清空回调问题

0.1.9(2025-07-01)

  • fix:修复ios断开状态和多次回调的问题

0.1.8(2025-07-01)

  • fix:修复ios状态无法切换的问题
查看更多

平台兼容性

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)

隐私、权限声明

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

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

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

暂无用户评论。

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