websocket.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 () {
  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 () {
  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. if (input[0] == 0xff) {
  50. self.postMessage(input);
  51. } else {
  52. self.postMessage(input);
  53. }
  54. });
  55. }
  56. function GetRequest() {
  57. var url = location.search; // 获取url中"?"符后的字串
  58. var obj = new Object();
  59. if (url.indexOf("?") != -1) {
  60. var str = url.substr(1);
  61. strs = str.split("&");
  62. for (var i = 0; i < strs.length; i++) {
  63. obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
  64. }
  65. }
  66. return obj;
  67. }