websocket.js 1.6 KB

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