记一次使用vue连接rabbitMq

  • 连接rabbitMq需要使用stompjs
  • npm i stompjs
    下下面是连接代码
import Stomp from 'stompjs'


      onConnected(frame) {
        // 绑定交换机exchange_pushmsg是交换机的名字rk_pushmsg是绑定的路由key
        var exchange = this.rabbitMqexchange || 'queue.device.zzzz'


        // 创建随机队列用上面的路由key绑定交换机,放入收到消息后的回调函数和失败的回调函数
        this.client.subscribe(exchange, this.responseCallback, this.onFailed)
      },
      onFailed(frame) {
        console.log(frame)
      },
      responseCallback(frame) {
        if (frame.body != '' && frame.body != null) {

          const formatter = (data, params) => {
            this.dataOldChart = data;
            if (typeof this.dataFormatter === 'function') {
              try {
                data = this.dataFormatter(data, params, this.getItemRefs());
              } catch (err) {
                console.log(new Error(err))
                data = err + ''
              }
            }
            this.handleCommonBind(data, -1, 'dataAfterFormatter')
            return data
          }
          console.log('-----[' + frame.body);
          let result = typeof frame.body == 'string' ? JSON.parse(frame.body) : frame.body
          this.dataChart = formatter(result, this.dataParams)
          setTimeout(() => { this.updateChart() }, 100)

        }
      },
      connect() {
        this.client = Stomp.client(this.rabbitMqUrl || 'ws://172.16.0.97:15670')
        // 填写你rabbitMQ登录的用户名和密码
        var headers = {
          'login': this.rabbitMqUser || '',
          'passcode': this.rabbitMqPass || '',
          // 虚拟主机,默认“/”
          'host': this.rabbitMqHost || '/'
        }
        let safe = this

        // 创建连接,放入连接成功和失败回调函数
        this.client.connect(headers, this.onConnected, this.onFailed)
        this.client.debug = (message) => {
          console.log('对接:' + message)
          this.mqDockingMessage = message
        }
      },

后端端口一搬都是15670或者15672 、我们这后端就因为端口问题搞啦好久 一直以为是我的问题
我这里得dataChart 就是页面想要的数据、基本上代码都在这啦 直接this.connect()接可以啦
之后在关闭页面时断开if (this.client !== null) { this.client.disconnect(); // 关闭连接 }

虽然都是复制粘贴 、但是也是创作不易、结尾出给个小连接、如果你得后端不会rabbitMq抓紧让他看这个、-> 学学吧、别硬挺

相关推荐

  1. 使用vue连接rabbitMq

    2024-07-16 05:16:06       29 阅读
  2. .Net6 RabbitMq消息订阅/发布优化

    2024-07-16 05:16:06       56 阅读
  3. 复杂左连接的优化之路

    2024-07-16 05:16:06       44 阅读
  4. Mysql连接失败的处理过程

    2024-07-16 05:16:06       28 阅读
  5. Python matplotlib使用ffmpeg和imagemagick错误

    2024-07-16 05:16:06       25 阅读
  6. 面试题

    2024-07-16 05:16:06       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 05:16:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 05:16:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 05:16:06       58 阅读
  4. Python语言-面向对象

    2024-07-16 05:16:06       69 阅读

热门阅读

  1. 蓝易云 - 美国云端服务器最低成本方案揭示!

    2024-07-16 05:16:06       24 阅读
  2. vue3 学习笔记10 -- 父子传参

    2024-07-16 05:16:06       26 阅读
  3. 《C++ 入门:第一个小程序》

    2024-07-16 05:16:06       25 阅读
  4. 实验五:图像傅里叶变换

    2024-07-16 05:16:06       21 阅读
  5. 【Rust练习】2.数值类型

    2024-07-16 05:16:06       25 阅读
  6. Go语言 切片slice

    2024-07-16 05:16:06       24 阅读
  7. Go语言 字符串和数组

    2024-07-16 05:16:06       24 阅读
  8. 分享一个无损AI图片放大【非网页,PC端】

    2024-07-16 05:16:06       24 阅读
  9. centos5离线安装git

    2024-07-16 05:16:06       28 阅读