• vite@^4.5.0
  • vue@^3.3.6
  • mqtt@^4.3.7
import * as mqtt from 'mqtt/dist/mqtt.min';


let client = null;

export const MQTTSWebSocket = () => {
  const connectUrl = `ws://192.168.1.56:8083/mqtt`; //线上
  const storeMqtt = useMqttStore();

  client = mqtt.connect(connectUrl, {
    clean: true,
    connectTimeout: 8000, // 超时时间
    reconnectPeriod: 1000, // 重连时间间隔
    username: 'admin', //用户名
    password: 'public', //密码
  });

  // 需要订阅的主题
  const topic = 'RCT/State/#';

  //成功连接后触发的回调
  client.on('connect', () => {
    console.info('订阅成功');

    client.subscribe(topic);

    // 当客户端收到一个发布过来的消息时触发回调
    client.on('message', function (topic, message) {
      // 这里有可能拿到的数据格式是Uint8Array格式,所以可以直接用toString转成字符串

      let data = JSON.parse(message.toString());
      console.info('返回的数据:', message, data);
    });
  });

  // 连接断开后触发的回调
  client.on('close', function () {
    console.info('已断开连接');
  });
  // 断开发起重连
  client.on('reconnect', (error) => {
    console.info('正在重连:', error);
  });
  // 链接异常处理
  client.on('error', (error) => {
    console.info('连接失败:', error);
  });
};

// 断开连接
export const mqttDisconnect = () => {
  if (client) {
    client.end(() => {
      console.info('手动断开连接');
    });
  }
};

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐