index.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Stomp from "stompjs";
  2. import store from '../store'
  3. // ============================一般使用的变量============================
  4. let number = 0;
  5. export const dataAdapterInit = initialize;
  6. // ============================ 大函数体 ============================
  7. function initialize() {
  8. let adpClient = null;
  9. var url = "ws://192.168.2.3:8075/wisdom";
  10. adpClient = Stomp.client(url);
  11. adpClient.debug = null;
  12. adpClient.connect({}, adpClient => connectCallBackSubscribe(adpClient), error => reconnect(error, adpClient));
  13. }
  14. // 断线重连
  15. function reconnect(error, adpClient) {
  16. //连接失败时再次调用函数
  17. number++;
  18. adpClient.connected = false;
  19. clearTimeout(setTimeout(initialize(), 1000 * 5));
  20. debugX("DataAdapter reconnect:" + number + " 次");
  21. return;
  22. }
  23. // ============================ 订阅函数体 ============================
  24. function connectCallBackSubscribe(adpClient) {
  25. console.warn(adpClient);
  26. console.warn('订阅函数体');
  27. number = 0;
  28. adpClient.connected = true;
  29. adpClient.subscribe("/topic/one", stompMessage => reflexWindturbineBasicInformation(stompMessage));
  30. }
  31. // ============================ 解析函数体 ============================
  32. function reflexWindturbineBasicInformation(stompMessage) {
  33. var windturbineInformationArray = JSON.parse(stompMessage.body);
  34. store.dispatch('updateWindturbineArray', windturbineInformationArray);
  35. }
  36. // ============================ 其他 ============================
  37. function debugX(text) {
  38. // console.log(text);
  39. }