websocket.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. self.importScripts("helper.js");
  2. var parameters = GetRequest();
  3. var ip = parameters["ip"];
  4. var socketURL = "ws://192.168.198.82:9100/card?cardIp=" + ip;
  5. doConnect();
  6. function doConnect() {
  7. var ws = new WebSocket(socketURL);
  8. ws.binaryType = 'arraybuffer';
  9. ws.onclose = function (e) {
  10. $.confirm({
  11. title: '提示',
  12. text: '连接断开,是否准备重连?',
  13. onOK: function () {
  14. doConnect();
  15. },
  16. onCancel: function () {
  17. wx.miniProgram.switchTab({
  18. url: '/pages/home/home'
  19. })
  20. }
  21. });
  22. }
  23. ws.addEventListener('error', function (event) {
  24. $.confirm({
  25. title: '提示',
  26. text: '连接失败,是否准备重连?',
  27. onOK: function () {
  28. doConnect();
  29. },
  30. onCancel: function () {
  31. wx.miniProgram.switchTab({
  32. url: '/pages/home/home'
  33. })
  34. }
  35. });
  36. });
  37. ws.addEventListener('open', function (event) {
  38. ws.send(ConfigChannel("RK3923C1201900139"));
  39. var buffer = RequestIFrame();
  40. ws.send(buffer);
  41. });
  42. self.addEventListener('message', function (e) {
  43. ws.send(e.data);
  44. }, false);
  45. ws.addEventListener('message', function (event) {
  46. var input = new Uint8Array(event.data);
  47. $('.weui-mask_transparent').hide()
  48. $('.weui-toast').hide()
  49. $('.loading').hide()
  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. }