内网uni-app使用RabbitMQ 实现推送关照栏信息(不使用uni-push使用第三方服 ...

打印 上一主题 下一主题

主题 1644|帖子 1644|积分 4932

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.在 uni-app 中,直接通过 uni.request() 获取消息队列的数据(如 RabbitMQ)并举行处理并不直接支持,因为 RabbitMQ 是一个消息队列服务,必要通过服务器中介与其交互。因此,您通常必要一个中间层后端(比如 Node.js 或其他后端技术),通过该后端从 RabbitMQ 获取消息,再将这些消息传递给 uni-app 前端。



  • 配置 Node.js 服务与 RabbitMQ 的毗连:在 Node.js 服务中设置 RabbitMQ 的毗连,声明队列并监听队列中的消息。
  • 让 UniApp 前端哀求 Node.js 服务:UniApp 向 Node.js 后端发送 HTTP 哀求,Node.js 后端从 RabbitMQ 队列中获取并返回消息。
  • Node.js 处理消息并发送到前端:Node.js 服务消耗消息并通过 HTTP 相应返回给 UniApp。
Node.js 为例,使用 amqplib 库来与 RabbitMQ 举行通信。
安装须要的依赖

  1. npm install amqplib express
复制代码
创建后端服务(Node.js)

  1. // server.js
  2. const express = require('express');
  3. const amqp = require('amqplib');
  4. const app = express();
  5. const port = 3000;
  6. // 连接 RabbitMQ 的设置
  7. const RABBITMQ_URL = 'amqp://admin:admin@192.***.**.**:5672'; // //格式为 amqp://用户名:密码@主机地址:端口 (端口一般默认为5672)
  8. const QUEUE_NAME = 'your_queue_name'; // 替换为您的队列名称
  9. // 中间件:解析 JSON 请求
  10. app.use(express.json());
  11. // 连接到 RabbitMQ 并设置队列监听
  12. async function connectToRabbitMQ() {
  13.   try {
  14.     const connection = await amqp.connect(RABBITMQ_URL);
  15.     const channel = await connection.createChannel();
  16.     await c
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

渣渣兔

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表