webSocket.js 780 B

12345678910111213141516171819202122232425262728293031323334353637
  1. var socketOpen = false;
  2. var socketMsgQueue = [];
  3. const connectSocket = function(callback) {
  4. console.warn('connectSocket打开!');
  5. uni.connectSocket({
  6. url: 'wss://www.yuyekeji.cn/node/'
  7. });
  8. uni.onSocketOpen(function(res) {
  9. socketOpen = true;
  10. console.log('WebSocket连接已打开!');
  11. for (var i = 0; i < socketMsgQueue.length; i++) {
  12. sendSocketMessage(socketMsgQueue[i]);
  13. }
  14. socketMsgQueue = [];
  15. if (callback)
  16. callback();
  17. });
  18. uni.onSocketError(function(res) {
  19. console.log('WebSocket连接打开失败,请检查!');
  20. });
  21. }
  22. const sendSocketMessage = function sendSocketMessage(msg) {
  23. if (socketOpen) {
  24. uni.sendSocketMessage({
  25. data: msg
  26. });
  27. } else {
  28. socketMsgQueue.push(msg);
  29. }
  30. }
  31. export default {
  32. connectSocket,
  33. sendSocketMessage
  34. }