websocket.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. self.importScripts("helper.js");
  2. self.importScripts("workerFakeDom.js");
  3. self.importScripts("jquery-1.11.0.min.js");
  4. self.importScripts("jquery-weui.min.js");
  5. var parameters = GetRequest();
  6. var ip = parameters["ip"];
  7. var socketURL = "ws://192.168.198.82:9100/card?cardIp=" + ip;
  8. doConnect();
  9. function doConnect() {
  10. var ws = new WebSocket(socketURL);
  11. ws.binaryType = 'arraybuffer';
  12. ws.onclose = function (e) {
  13. $.confirm({
  14. title: '提示',
  15. text: '连接断开,是否准备重连?',
  16. onOK: function () {
  17. doConnect();
  18. },
  19. onCancel: function () {
  20. wx.miniProgram.switchTab({
  21. url: '/pages/home/home'
  22. })
  23. }
  24. });
  25. }
  26. ws.addEventListener('error', function () {
  27. $.confirm({
  28. title: '提示',
  29. text: '连接失败,是否准备重连?',
  30. onOK: function () {
  31. doConnect();
  32. },
  33. onCancel: function () {
  34. wx.miniProgram.switchTab({
  35. url: '/pages/home/home'
  36. })
  37. }
  38. });
  39. });
  40. ws.addEventListener('open', function () {
  41. ws.send(ConfigChannel("RK3923C1201900139"));
  42. var buffer = RequestIFrame();
  43. ws.send(buffer);
  44. });
  45. self.addEventListener('message', function (e) {
  46. ws.send(e.data);
  47. }, false);
  48. ws.addEventListener('message', function (event) {
  49. var input = new Uint8Array(event.data);
  50. if (input[0] == 0xff) {
  51. self.postMessage(input);
  52. } else {
  53. self.postMessage(input);
  54. }
  55. });
  56. }
  57. function GetRequest() {
  58. var url = location.search; // 获取url中"?"符后的字串
  59. var obj = new Object();
  60. if (url.indexOf("?") != -1) {
  61. var str = url.substr(1);
  62. strs = str.split("&");
  63. for (var i = 0; i < strs.length; i++) {
  64. obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
  65. }
  66. }
  67. return obj;
  68. }