websocket.js 1.7 KB

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