当前位置: 首页 > news >正文

Vue前端项目接收webSocket信息

(1)package.js安装websocket包

{"name": "aihelperv1.0.1","version": "0.1.0","private": true,"scripts": {},"dependencies": {"sockjs-client": "^1.5.2","stompjs": "^2.3.3"}

(2)vue.config.js配置webSocket访问接口

module.exports = {devServer: {host: '0.0.0.0',       // 允许外部访问,例如局域网内的其他设备通过 IP 访问port: 5300,            // 指定端口open: true,            // 自动打开浏览器https: false,          // 不使用 httpsproxy: {// 本地==================='/diagnosis': {target: 'http://192.168.0.18:5100', // 后端接口地址changeOrigin: true,logLevel: "debug", //是否改变源地址ws: true, //是否支持websocket协议pathRewrite: {//路径重写'^/diagnosis': ''}},}};

(3)页面配置websocket


<script>
import SockJS from 'sockjs-client';
import Stomp from 'stompjs'; // 也需要安装 stomp.js 库export default {
created() {this.getDiagWebSocket();},
// 定义该组件的响应式状态变量data(){return {diagStatus: 0,                  //诊断进行的状态,默认未进行 }},
methods: {
getDiagWebSocket(){const socket = new SockJS('/diagnosis/diagnosis-websocket');const stompClient = Stomp.over(socket);stompClient.connect({}, (frame)  => {console.log('WebSocket connected:', frame);stompClient.subscribe('/topic/diagConsump', (message) => {// 处理消息const payload = JSON.parse(message.body);if (payload.data.code === 200) {console.log("111111223", payload.data.code);this.diagStatus = 2;  // 根据返回的 code 值来更新状态console.log("999999",this.diagStatus)} else {console.log("诊断失败:", payload.data.msg);this.diagStatus = 3;  // 诊断失败,更新状态}});});},}
</script>

测试:

http://www.xdnf.cn/news/1081909.html

相关文章:

  • Linux网络配置与故障排除完全指南
  • 介绍electron
  • 【ES6】Latex总结笔记生成器(网页版)
  • TailWind CSS Intellisense 插件在VSCode 上不生效
  • LESS/SCSS 高效主题换肤方案
  • 基于 LangChain 实现通义千问 + Tavily 搜索 Agent 的简单实践
  • 在VMware虚拟机中安装Windows 98时,Explorer提示“该程序执行了非法操作,即将关闭”的解决办法
  • 虚拟机与容器技术详解:VM、LXC、LXD与Docker
  • php协程
  • MySQL 数据库传统方式部署主从架构的实现很详细
  • React Native 亲切的组件们(函数式组件/class组件)和陌生的样式
  • 若 VSCode 添加到文件夹内右键菜单中显示(通过reg文件方式)
  • 盘式制动器的设计+说明书和CAD)【6张】+绛重
  • Redis性能优化
  • 权电阻网络DAC实现电压输出型数模转换Multisim电路仿真——硬件工程师笔记
  • 前端捕获异常的全面场景及方法
  • Linux操作系统之文件(三):缓冲区
  • 每天一个前端小知识 Day 21 - 浏览器兼容性与 Polyfill 策略
  • 【每天一个知识点】动态知识库
  • JxBrowser 8.9.0 版本发布啦!
  • chrome插件合集
  • vue/微信小程序/h5 实现react的boundary
  • 智能电动汽车系列 --- 车载软件开发思想与已有OEM现状碰撞
  • vue-39(为复杂 Vue 组件编写单元测试)
  • 设计模式(十)
  • 区块链技术核心组件及应用架构的全面解析
  • Dash 安装使用教程
  • 程序计数器(PC)是什么?
  • Linux入门篇学习——Linux 帮助手册
  • 版本控制器SVN