博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue中websoket的使用
阅读量:5997 次
发布时间:2019-06-20

本文共 3918 字,大约阅读时间需要 13 分钟。

首先安装npm install --save  websocket-heartbeat-js@^1.0.7

在main.js中  引入并挂载全局方法

import WebsocketHeartbeatJs from 'websocket-heartbeat-js';if (JSON.parse(getStore('userInfo'))!= null) {    let userId = JSON.parse(getStore('userInfo')).id;    let websocketHeartbeatJs = new WebsocketHeartbeatJs({        // url: 'ws://192.168.0.68:8888/websocket/' + userId        url: 'ws://192.168.0.22:8888/websocket/' + userId    });    Vue.prototype.websocketHeartbeatJs = websocketHeartbeatJs;}

 在app.vue中 建立连接

mounted() {    // console.log(JSON.parse(this.getStore("userInfo")),'--------JSON.parse(this.getStore("userInfo"))-------')    if (JSON.parse(this.getStore("userInfo")).id != "") {      // console.log(JSON.parse(this.getStore("userInfo")).id);      if ("WebSocket" in window) {        this.websocketHeartbeatJs.onopen = function() {};        var that = this;        this.websocketHeartbeatJs.onmessage = function(e) {          // console.log(JSON.parse(e.data),'-------------JSON.parse(e.data)-----------------');          that.$store.state.websocketMsg = JSON.parse(e.data);         在store中存放webscoket信息          // console.log(that.$store.state.websocketMsg);        };        this.websocketHeartbeatJs.onreconnect = function() {};      } else {        alert("当前浏览器 Not support websocket");      }    }  },

  在vue组件中使用

computed: {            websocketInfo() {                return this.$store.state.websocketMsg;             //创建完成时存在store中的信息            }        },        watch: {            websocketInfo: function (nv, ov) {                console.log(nv);                this.websocketSuccess = nv.result.success;                this.websocketMsg = nv.result.message;                console.log(this.websocketSuccess, '-----------websocketSuccess----------');                console.log(this.websocketMsg, '----------websocketMsg-------------');                //   console.log(nv.result.result.error.code);                if (this.websocketSuccess == true && this.websocketMsg == "true") {                    // 创建云盘成功后挂载云主机                    if (nv.result.result.inventory != undefined) {                        this.diskid = nv.result.result.inventory.uuid;                        this.id = this.$store.state.vmId;                      }                    this.$Notice.destroy({                        name: "warning",                        duration: 1                    });                    var imageNames = this.vmName == "" ? "" : "'" + this.vmName + "'";                    this.$Notice.success({                        title: this.operation == "" ?                            this.$store.state.operationed : "云盘"+ imageNames + this.operation +"成功"                     });                    this.getImagesList(this.pageSize, this.pageNumber);                    this.$refs.child.getinfo();                    this.$refs.child.chishihua();                    this.value2 = true;                    // 创建完成挂载云主机                    if(this.operation == '' &&  this.$store.state.operationed == '创建镜像成功'){                        this.guazai();                    };                    this.operation == "" ;                } else if (                    this.websocketSuccess == true &&                    this.websocketMsg == "false"                ) {                    var str = nv.result.result.error.details;                    // str = str.split("不")[0];                    // console.log(str);                    this.$Notice.warning({                        title: str                    });                } else if (                    this.websocketSuccess == true &&                    this.websocketMsg == ""                ) {                    this.$Notice.warning({                        title: this.$store.state.operationed + "创建中",                        duration: 1                    });                }            },        },

  

转载于:https://www.cnblogs.com/xu-nian-qin/p/10918035.html

你可能感兴趣的文章
Sublime 官方安装方法
查看>>
Java内部类的使用小结
查看>>
【BZOJ】初级水题列表——献给那些想要进军BZOJ的OIers(自用,怕荒废了最后的六月考试月,刷刷水题,水水更健康)...
查看>>
一处 ADO.NET Entity Framework 的逻辑BUG
查看>>
【js】js数组置空的三种方式
查看>>
2.3. 命令工具
查看>>
在微信小程序的JS脚本中使用Promise来优化函数处理
查看>>
JS写的漂亮只是一方面,你可不要忽视浏览器的兼容性呀!:P
查看>>
批处理作业调度-回溯法
查看>>
12.4. 包含网页
查看>>
WebApi系列~dynamic让你的省了很多临时类
查看>>
GMF里实现editpolicyProviders扩展点
查看>>
Java RGB数组图像合成 ImageCombining (整理)
查看>>
第 16 章 JVM
查看>>
喝酒后的举动
查看>>
Jenkins实现Android自动化打包
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]4.5.9
查看>>
[数学故事]国王的重赏
查看>>
Selenium2+python自动化63-简易项目搭建
查看>>
Managed Debugging Assistant 'PInvokeStackImbalance' has detected a problem in 解决方案
查看>>