记一次利用vue连接rabbitMq

打印 上一主题 下一主题

主题 539|帖子 539|积分 1617


  • 连接rabbitMq必要利用stompjs
  • npm i stompjs
    下下面是连接代码
  1. import Stomp from 'stompjs'
  2.       onConnected(frame) {
  3.         // 绑定交换机exchange_pushmsg是交换机的名字rk_pushmsg是绑定的路由key
  4.         var exchange = this.rabbitMqexchange || 'queue.device.zzzz'
  5.         // 创建随机队列用上面的路由key绑定交换机,放入收到消息后的回调函数和失败的回调函数
  6.         this.client.subscribe(exchange, this.responseCallback, this.onFailed)
  7.       },
  8.       onFailed(frame) {
  9.         console.log(frame)
  10.       },
  11.       responseCallback(frame) {
  12.         if (frame.body != '' && frame.body != null) {
  13.           const formatter = (data, params) => {
  14.             this.dataOldChart = data;
  15.             if (typeof this.dataFormatter === 'function') {
  16.               try {
  17.                 data = this.dataFormatter(data, params, this.getItemRefs());
  18.               } catch (err) {
  19.                 console.log(new Error(err))
  20.                 data = err + ''
  21.               }
  22.             }
  23.             this.handleCommonBind(data, -1, 'dataAfterFormatter')
  24.             return data
  25.           }
  26.           console.log('-----[' + frame.body);
  27.           let result = typeof frame.body == 'string' ? JSON.parse(frame.body) : frame.body
  28.           this.dataChart = formatter(result, this.dataParams)
  29.           setTimeout(() => { this.updateChart() }, 100)
  30.         }
  31.       },
  32.       connect() {
  33.         this.client = Stomp.client(this.rabbitMqUrl || 'ws://172.16.0.97:15670')
  34.         // 填写你rabbitMQ登录的用户名和密码
  35.         var headers = {
  36.           'login': this.rabbitMqUser || '',
  37.           'passcode': this.rabbitMqPass || '',
  38.           // 虚拟主机,默认“/”
  39.           'host': this.rabbitMqHost || '/'
  40.         }
  41.         let safe = this
  42.         // 创建连接,放入连接成功和失败回调函数
  43.         this.client.connect(headers, this.onConnected, this.onFailed)
  44.         this.client.debug = (message) => {
  45.           console.log('对接:' + message)
  46.           this.mqDockingMessage = message
  47.         }
  48.       },
复制代码
  后端端口一搬都是15670或者15672 、我们这后端就因为端口问题搞啦很久 一直以为是我的问题
我这里得dataChart 就是页面想要的数据、基本上代码都在这啦 直接this.connect()接可以啦
之后在关闭页面时断开if (this.client !== null) { this.client.disconnect(); // 关闭连接 }
  固然都是复制粘贴 、但是也是创作不易、末端出给个小连接、如果你得后端不会rabbitMq抓紧让他看这个、-> 学学吧、别硬挺

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表