websock - 副本 (2).js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import config from "./config.js"
  2. import {
  3. axios
  4. } from '@/utils/request.js'
  5. let websock = ''; //webSocket使用
  6. let isConnect = false; //webSocket连接标识 避免重复连接
  7. let reConnectNum = 1; //断开后重新连接的次数 免得后台挂了,前端一直重连
  8. const conceal = () => {
  9. websockList.value = [];
  10. };
  11. const websocketonopen = () => {
  12. console.log("WebSocket连接成功------------");
  13. //连接建立后修改标识
  14. isConnect = true;
  15. };
  16. const websocketonerror = () => {
  17. console.log("WebSocket连接发生错误");
  18. //连接断开后修改标识
  19. isConnect = false;
  20. //连接错误 需要重连
  21. reConnect();
  22. };
  23. const websocketonmessage = (e) => {
  24. if (e != null) {
  25. console.log('websocketclose', e)
  26. }
  27. };
  28. // webSocket连接关闭
  29. const websocketclose = () => {
  30. // console.log("webSocket连接关闭");
  31. isConnect = false;
  32. websock = "";
  33. reConnect();
  34. };
  35. // 尝试重新连接
  36. const reConnect = () => {
  37. // if (reConnectNum > 6) {
  38. // // console.log("重连超过6次不再重连");
  39. // return false;
  40. // }
  41. // // console.log("isConnect", isConnect, $store.getters.userId);
  42. // //如果已经连上就不再重试了
  43. // if (isConnect && !$store.getters.userId) return;
  44. // initWebSocket($store.getters.userId);
  45. // reConnectNum = reConnectNum + 1;
  46. };
  47. const initWebSocket = (userId) => {
  48. console.log('getBaseUrl = ', config.getBaseUrl)
  49. // console.log("进入initWebSocket");
  50. // console.log("系统用户ID:" + userId);
  51. // if (userId != null && userId != "") {
  52. // // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
  53. console.log('a ', )
  54. const t = new Date().getTime()
  55. // const env = import.meta.env.VITE_API_BASEURL.split("://");
  56. // // console.info("location.protocol", wsServer);
  57. // //线上环境
  58. // //webSocket 前面加一个前缀xxx_websocket_ 区分后面其他项目的webSocket
  59. // // let wsServer = "wss://域名地址或ip加端口/ nginx配置的 xxx_websocket/" + userId;
  60. // let wsServer = `wss://doc.okenx.com:2000/socket.io/?EIO=3&transport=websocket&sid=edd3f94f1617d941024b1561`;
  61. let wsServer = "wss://houan.songlanyun.com/oa/socket/message/1543837863788879871";
  62. websock = new WebSocket(wsServer);
  63. // websock.onopen = websocketonopen;
  64. websock.onopen = () => {
  65. console.log('链接成功')
  66. };
  67. websock.onerror = websocketonerror;
  68. websock.onmessage = websocketonmessage;
  69. websock.onclose = websocketclose;
  70. // }
  71. };
  72. export const startWebSocket = (data) => {
  73. initWebSocket();
  74. // var socket_api = 'https://doc.okenx.com:2000'
  75. // var socket = s(socket_api);
  76. // socket.on('market_depth', function(msg) {
  77. // console.log('msg = ', msg)
  78. // if (msg.type == 'market_depth') {
  79. // if (3 == msg.legal_id && 1 == msg.currency_id) {
  80. // //btc 匹配
  81. // // var buyIn = JSON.parse(msg.bids);
  82. // // var out = JSON.parse(msg.asks).reverse();
  83. // var buyIn = msg.bids;
  84. // var out = msg.asks;
  85. // }
  86. // }
  87. // })
  88. // setTimeout(() => {
  89. // // 关闭
  90. // console.log('关闭 = ')
  91. // socket.close()
  92. // }, 3000)
  93. }
  94. export const startAjaxSocket = () => {
  95. // https://doc.okenx.com
  96. // https://doc.okenx.com
  97. const t = new Date().getTime()
  98. axios.post(`:2000`, {
  99. t: t
  100. }).then(res => {
  101. })
  102. }