|
@@ -3,80 +3,79 @@ var parameters = GetRequest();
|
|
|
var ip = parameters["ip"];
|
|
|
var appletPushAddress = parameters["appletPushAddress"];
|
|
|
var cardToken = parameters["token"];
|
|
|
-cardToken = cardToken && cardToken.replace(/@/g,"=");
|
|
|
-cardToken = cardToken.replace(/\$/g, "+");
|
|
|
+cardToken = cardToken && cardToken.replace(/@/g, "=");
|
|
|
var isWSS = true;
|
|
|
var errorTime = 0;
|
|
|
-var socketURL = isWSS ? "wss://" + appletPushAddress + "?cardIp=" + ip + "&token=" + cardToken : "ws://" + appletPushAddress + "?cardIp=" + ip + "&token=" + cardToken;
|
|
|
+var socketURL = isWSS ? "wss://" + appletPushAddress + "?cardIp=" + ip + "&token=" + cardToken + "&type=business" : "ws://" + appletPushAddress + "?cardIp=" + ip + "&token=" + cardToken + "&type=business";
|
|
|
var intervaler;
|
|
|
doConnect();
|
|
|
|
|
|
function throttle(fn, delay) {
|
|
|
- var flag = true;
|
|
|
- errorTime += delay;
|
|
|
- return () => {
|
|
|
- if (!flag) return;
|
|
|
- flag = false;
|
|
|
- timer = setTimeout(() => {
|
|
|
- fn();
|
|
|
- flag = true;
|
|
|
- }, delay);
|
|
|
- };
|
|
|
+ var flag = true;
|
|
|
+ errorTime += delay;
|
|
|
+ return () => {
|
|
|
+ if (!flag) return;
|
|
|
+ flag = false;
|
|
|
+ timer = setTimeout(() => {
|
|
|
+ fn();
|
|
|
+ flag = true;
|
|
|
+ }, delay);
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
function doConnect() {
|
|
|
- var ws = new WebSocket(socketURL);
|
|
|
- ws.binaryType = 'arraybuffer';
|
|
|
- intervaler = setInterval(() => {
|
|
|
- if (ws.readyState === 1) {
|
|
|
- ws.send("ping");
|
|
|
- } else {
|
|
|
- clearInterval(intervaler);
|
|
|
- self.postMessage('close');
|
|
|
- }
|
|
|
- }, 3000);
|
|
|
- ws.onerror = function () {
|
|
|
- ws.close();
|
|
|
- clearInterval(intervaler);
|
|
|
- throttle(doConnect, 100);
|
|
|
- if (errorTime > 1000) {
|
|
|
- self.postMessage('close');
|
|
|
- }
|
|
|
- }
|
|
|
+ var ws = new WebSocket(socketURL);
|
|
|
+ ws.binaryType = 'arraybuffer';
|
|
|
+ intervaler = setInterval(() => {
|
|
|
+ if (ws.readyState === 1) {
|
|
|
+ ws.send("ping");
|
|
|
+ } else {
|
|
|
+ clearInterval(intervaler);
|
|
|
+ self.postMessage('close');
|
|
|
+ }
|
|
|
+ }, 3000);
|
|
|
+ ws.onerror = function () {
|
|
|
+ ws.close();
|
|
|
+ clearInterval(intervaler);
|
|
|
+ throttle(doConnect, 100);
|
|
|
+ if (errorTime > 1000) {
|
|
|
+ self.postMessage('close');
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- ws.addEventListener('open', function (event) {
|
|
|
- var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
|
|
|
- ws.send(verifyBuffer);
|
|
|
- });
|
|
|
+ ws.addEventListener('open', function (event) {
|
|
|
+ var verifyBuffer = VerifyCode('RK3923C1201900139', cardToken);
|
|
|
+ ws.send(verifyBuffer);
|
|
|
+ });
|
|
|
|
|
|
- ws.addEventListener('message', function (event) {
|
|
|
- var input = new Uint8Array(event.data);
|
|
|
- if (input[0] == 0xff) {
|
|
|
- self.postMessage(input);
|
|
|
- } else {
|
|
|
- self.postMessage(input);
|
|
|
- }
|
|
|
- });
|
|
|
+ ws.addEventListener('message', function (event) {
|
|
|
+ var input = new Uint8Array(event.data);
|
|
|
+ if (input[0] == 0xff) {
|
|
|
+ self.postMessage(input);
|
|
|
+ } else {
|
|
|
+ self.postMessage(input);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- self.addEventListener('message', function (e) {
|
|
|
- if (e === 'close') {
|
|
|
- clearInterval(intervaler);
|
|
|
- ws.close();
|
|
|
- } else {
|
|
|
- ws.send(e.data);
|
|
|
- }
|
|
|
- }, false);
|
|
|
+ self.addEventListener('message', function (e) {
|
|
|
+ if (e === 'close') {
|
|
|
+ clearInterval(intervaler);
|
|
|
+ ws.close();
|
|
|
+ } else {
|
|
|
+ ws.send(e.data);
|
|
|
+ }
|
|
|
+ }, false);
|
|
|
}
|
|
|
|
|
|
function GetRequest() {
|
|
|
- var url = location.search; // 获取url中"?"符后的字串
|
|
|
- var obj = new Object();
|
|
|
- if (url.indexOf("?") != -1) {
|
|
|
- var str = url.substr(1);
|
|
|
- strs = str.split("&");
|
|
|
- for (var i = 0; i < strs.length; i++) {
|
|
|
- obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
|
|
|
- }
|
|
|
- }
|
|
|
- return obj;
|
|
|
+ var url = location.search; // 获取url中"?"符后的字串
|
|
|
+ var obj = new Object();
|
|
|
+ if (url.indexOf("?") != -1) {
|
|
|
+ var str = url.substr(1);
|
|
|
+ strs = str.split("&");
|
|
|
+ for (var i = 0; i < strs.length; i++) {
|
|
|
+ obj[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return obj;
|
|
|
}
|