|
@@ -217,6 +217,123 @@ export default{
|
|
|
|
|
|
return websocket;
|
|
|
},
|
|
|
+ websocket2: (url, callback, error, this_) => {
|
|
|
+ console.log(url)
|
|
|
+ // let isTrue = true;
|
|
|
+ // url = window.location.protocol == 'https:' ? url.replace('wss','wss') : url.replace('wss','ws');
|
|
|
+ let websocket = null
|
|
|
+ if ("WebSocket" in window) {
|
|
|
+ // websocket = new WebSocket("ws://"+url);
|
|
|
+ websocket = new WebSocket(url);
|
|
|
+ } else if ("MozWebSocket" in window) {
|
|
|
+ // websocket = new WebSocket("ws://"+url);
|
|
|
+ websocket = new WebSocket(url);
|
|
|
+ } else {
|
|
|
+ // console.error("'不支持 WebSocKet");
|
|
|
+ }
|
|
|
+ //连接发生错误的回调方法
|
|
|
+ websocket.onerror = () => {
|
|
|
+ onerror();
|
|
|
+ }
|
|
|
+ //接收到消息的回调方法
|
|
|
+ websocket.onopen = () => {
|
|
|
+ //接收到消息的回调方法
|
|
|
+ websocket.onmessage = event => {
|
|
|
+ if (callback) {
|
|
|
+ if (event.data) {
|
|
|
+ // console.log(event.data,'==============')
|
|
|
+ try {
|
|
|
+ // console.log(event.data)
|
|
|
+ let data = JSON.parse(event.data)
|
|
|
+ // console.log(data,'=------------')
|
|
|
+ if (data.code == '0000') {
|
|
|
+ callback(data,websocket);
|
|
|
+ } else {
|
|
|
+ // console.log(data,'=------------')
|
|
|
+ if (error) {
|
|
|
+ error(data)
|
|
|
+ }
|
|
|
+ this_.$alert(data.msg, 'System hints', {
|
|
|
+ confirmButtonText: 'Confirm',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // let res = JSON.parse(event.data)
|
|
|
+ // if (data.data.status == 2) {
|
|
|
+ // websocket.close();
|
|
|
+ // // console.log('websocket链接关闭')
|
|
|
+ // }
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ //连接关闭的回调方法
|
|
|
+ // websocket.onclose = () => console.log("close");
|
|
|
+ //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
|
|
|
+ window.onbeforeunload = () => websocket.close();
|
|
|
+ //return websocket;
|
|
|
+ };
|
|
|
+ function onerror(){
|
|
|
+ setTimeout(function(){
|
|
|
+ websocket = null
|
|
|
+ if ("WebSocket" in window) {
|
|
|
+ websocket = new WebSocket(url);
|
|
|
+ } else if ("MozWebSocket" in window) {
|
|
|
+ websocket = new WebSocket(url);
|
|
|
+ }
|
|
|
+ websocket.onerror = () => {
|
|
|
+ onerror();
|
|
|
+ }
|
|
|
+ //接收到消息的回调方法
|
|
|
+ websocket.onopen = () => {
|
|
|
+ //接收到消息的回调方法
|
|
|
+ websocket.onmessage = event => {
|
|
|
+ if (callback) {
|
|
|
+ if (event.data) {
|
|
|
+ // console.log(event.data,'==============')
|
|
|
+ try {
|
|
|
+ // console.log(event.data)
|
|
|
+ let data = JSON.parse(event.data)
|
|
|
+ console.log(data,'=------------')
|
|
|
+ if (data.code == '0000') {
|
|
|
+ callback(data,websocket);
|
|
|
+ } else {
|
|
|
+ console.log(data,'=------------')
|
|
|
+ if (error) {
|
|
|
+ error(data)
|
|
|
+ }
|
|
|
+ this_.$alert(data.msg, 'System hints', {
|
|
|
+ confirmButtonText: 'Confirm',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // let res = JSON.parse(event.data)
|
|
|
+ if (data.data.status == 2) {
|
|
|
+ websocket.close();
|
|
|
+ // console.log('websocket链接关闭')
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ //连接关闭的回调方法
|
|
|
+ // websocket.onclose = () => console.log("close");
|
|
|
+ //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
|
|
|
+ window.onbeforeunload = () => websocket.close();
|
|
|
+ //return websocket;
|
|
|
+ };
|
|
|
+ },1000)
|
|
|
+ console.log("error");
|
|
|
+ }
|
|
|
+
|
|
|
+ return websocket;
|
|
|
+ },
|
|
|
ajax_get:(url,param,callback,this_) => {
|
|
|
// console.log(url)
|
|
|
// console.log(param)
|