{"version":3,"file":"script.js","names":["SelectedLang","JSAllDictionaryItems","kioskNumBoxNum","BoxesStatus","OperationMode","CustomerCredentials","helpModal","collectModal","hotlineModal","collectModalTimer","hotlineModalTimer","KioskId","TotalKiosks","TotalBoxes","CourierPassword","ViewBagDebug","ViewBagTestMode","ViewBagUpdateMode","CurrentPage","MaxDoorCheckTime","CountDown","csLockControlResponse","kioskName","keylist","VisitorMobile","port","CountDownTimer","focusInputActive","UmbracoGetDictionaryValue","doorAlertCancel","collectCheckIfDoorCloseCount","collectCheckIfDoorCloseTime","performance","now","checkIfDoorOpenCount","checkIfDoorOpenTime","checkIfDoorCloseCount","checkIfDoorCloseTime","courierStep","doorChecking","ReservedTotal","ExpiredTotal","MonitorData","ReOpenMode","HandicappedMode","QrcodeRunMode","QrcodeText","SelectedBox","Token","UserId","LockerId","Location","BoxNumbber","Passcode","Recipients","WMSAPIIP","collectBoxList","CollectBoxList","doorAlertIndex","doorStatus","helpModalTimer","CourierReservedState","CourierExpiredState","CustomerCollectCount","expiredTimerId","countdownTimerId","pcfocusInputTimerId","doQrcodeTimerId","init_script","kioskId","courierPw","vdebug","vtestmode","vupdatemode","kioskNo","totalBoxes","console","log","kiosk_id","status","temperature","control_status","alarm","dotnetJSConsole","clearTimeout","setTimeout","doExpireTimer","delay","goHomePage","init_language","PleaseDeliverParcel","IncorrectBarcodePleaseScanTheBarcodeAgain","CollectParcelCompletedTapHereToContinue","PleaseCollectParcel","RemainingDeliverItemsAndTotalDeliverItems","PleaseScanDeliverParcelBarcode","DeliverParcelCompletedTapHereToExit","NoParcelNeededToCollectOrDeliver","NoParcelNeededToCollect","boxNum","num","boxesStatuslist","split","localStorage","setItem","join","doOpenBox","dispBoxStatus","_invokeCSharpAction","hex","Math","floor","random","invokeCSharpAction","heatcrc16","buffer","crc","odd","i","length","j","myTest","_kiosk","_box","data","crc1","crc2","data2","map","i2hex","kb","crc16","doOpenAllBox","doQrcodeTest","doQrcode","updateQrcode","text","qrcode","document","getElementById","innerHTML","doCollect","slice","clearBoxStatus","boxStatusText","readLockStatus","Uint8Array","from","Array","readDoorStatus","readDoorAlert","readDoorLED","readRefriCommStatus","readBoardCommStatus","readTempSensor","_sensor","readDoorLock","readSingleDoorStatus","boxNo","wait","state","substr","parseInt","readSingleDoorLED","readSingleDoorLock","readSingleControlTempSensor","temp","readSingleDefrostTempSensor","readSingleCompressorTempSensor","readSingleDisplayTempSensor","readSingleLoopTempSensor","readSingleStatusTempSensor","readSingleAlarmTempSensor","readAllDoorStatus","totalBox","style","backgroundColor","msg","networkTest22","url","Promise","resolve","xhttp","XMLHttpRequest","onreadystatechange","readyState","responseText","open","send","getAccessToken","res","JSON","parse","err","code","setRequestHeader","qrcodeVerify","token","qrCode","body","stringify","lockerCallback","qrcodeCheck","staffQrCode","response","response2","networkTest","visitorExpiredCallback","timeout","error","rightRotate","value","amount","sha256","ascii","mathPow","pow","maxWord","lengthProperty","result","words","asciiBitLength","hash","h","k","primeCounter","isComposite","candidate","charCodeAt","w","oldHash","i2","w15","w2","a","e","temp1","temp2","concat","b","toString","visitorCheck","visitorId","timestamp","Date","ClientSecret","api","sign","visitorCheckCSharp","emailCheck","email","xxvisitorCheck","fetch","method","headers","ok","json","checkIfDoorOpen","ledoff","timeElapsed","BoxNo","actDoorState","ledState","doCourierModeRemoveBlink","doCourier","checkIfDoorClose","handleExpired","statusList","tno","credList","expiredIndex","docourierModeBlink","handleReserved","validTrackingNo","trackingNo","toUpperCase","selLang","visibility","expiredCount","reservedTotalCount","reservedCount","ImportNewOrders","init_BoxesStatus","doReopen","collectInit","customerCollectCountExceed","credlist","collectedTotalCount","collectCheckIfDoorClose","boxno","goThankYouPage","goReopenPage","xxxcollectedTotalCount","count","pos1","indexOf","pos2","cred","replace","pngFile","backgroundImage","push","deliveredTotalCount","order1","order2","idx","rnd","boxMobile","getItem","boxMobileList","complete","totalNo","closeNo","doCollectRemoveBlink","proceedOpenbox","template","rendered","Mustache","render","collectPage","selBox","doCollect2","boxStatus","img","src","window","location","reload","href","controlPage","courierModePage","courierInit","keyPad","reopenPage","init_keyboard","GetBoxesStatusAndCredentials","deliverTest","collectTest","doLogin","mode","loginPage","name","init_LoginPage","setAndRunQrcode","hifitest","networkFailOver","reloadTest","clickPress","event","keyCode","focusInput","focus","expiredTotalCount","courierModeBoxNum","innerText","cmBlink","ctCount","cCount","_data","thankYouPage","ExpireTime","isoString","toISOString","today","hour","getHours","pre_today","rec","message","homePage","Credentials","pcfocusInput","redefine_console","_log","_error","_warning","warning","errMessage","apply","arguments","logMessage","isObject","warnMessage","pcClickPress","pc","keylist_len","clearKeyPad","elem","collectBoxNum","doCollectBlink","cb","doCountdown","countDownObj","monitorTemperature","val41","val42","monitorControlStatus","val1","val2","monitorAlarm","monitorBoxStatus","statuslist","UpdateMonitorData","checkDoorAlert","___dotnetJSConsole","header","arg1","arg2","arg3","arg4","arg5","xx","reloadPage","renderHello1","doMyTest1","doMyTest2","doMyTest3","doMyTest4","readRefriCommStatusTest","readBoardCommStatusTest","doTempTest1","doTempTest2","doTempTest3","doTempTest4","doTempTest5","start","duration","goHotline","display","enableClearAuto","eca","toggleHandicapped","hc","keyboard","Keyboard","SimpleKeyboard","onChange","input","onKeyPress","button","querySelector","addEventListener","setInput","target","handleShift","currentLayout","options","layoutName","shiftToggle","setOptions"],"sources":["../../../Scripts/src/script.ts"],"sourcesContent":["//@ts-nocheck\r\n\r\n//nvm use 18.13.0\r\n//build\r\n//cd Scripts\r\n//yarn build:watch\r\n\r\n//import scope from 'babel-plugin-console/scope.macro'\r\n\r\nvar SelectedLang;\r\nvar JSAllDictionaryItems = {};\r\nvar kioskNumBoxNum;\r\nvar BoxesStatus;\r\nvar OperationMode='';\r\nvar CustomerCredentials;\r\nvar helpModal;\r\nvar collectModal;\r\nvar hotlineModal;\r\nvar collectModalTimer;\r\nvar hotlineModalTimer;\r\nvar KioskId;\r\nvar TotalKiosks;\r\nvar TotalBoxes;\r\nvar CourierPassword;\r\nvar ViewBagDebug;\r\nvar ViewBagTestMode;\r\nvar ViewBagUpdateMode;\r\nvar CurrentPage = '';\r\nconst MaxDoorCheckTime = 60; //60sec\r\nvar CountDown = 0;\r\nvar csLockControlResponse;\r\nvar kioskName;\r\nvar keylist = '';\r\nvar VisitorMobile = '';\r\nvar port;\r\nvar CountDownTimer;\r\nvar focusInputActive = true;\r\nvar UmbracoGetDictionaryValue = {};\r\nvar doorAlertCancel = true;\r\nvar collectCheckIfDoorCloseCount = 0;\r\nvar collectCheckIfDoorCloseTime = performance.now();\r\nvar checkIfDoorOpenCount = 0;\r\nvar checkIfDoorOpenTime = performance.now();\r\nvar checkIfDoorCloseCount = 0;\r\nvar checkIfDoorCloseTime = performance.now();\r\nvar courierStep = 10;\r\nvar doorChecking = false;\r\nvar ReservedTotal = 0;\r\nvar ExpiredTotal = 0;\r\nvar MonitorData = {};\r\nvar ReOpenMode = false;\r\nvar HandicappedMode = false;\r\nvar QrcodeRunMode = false;\r\nvar QrcodeText = '';\r\nvar SelectedBox = 0;\r\nvar Token='';\r\nvar UserId = 3;\r\nvar LockerId = '1';\r\nvar Location = '大厅';\r\nvar BoxNumbber = '1';\r\nvar Passcode = '';\r\nvar Recipients = '';\r\n//@hf:use private IP for production\r\n//var WMSAPIIP = 'https://ricoh2023.rd.virsical.cn';\r\nvar WMSAPIIP = 'http://172.28.54.67';\r\n\r\nvar collectBoxList = [];\r\nvar CollectBoxList = [];\r\nvar doorAlertIndex = 0;\r\nvar doorStatus = {};\r\nvar helpModalTimer = null;\r\nvar CourierReservedState = [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false];\r\nvar CourierExpiredState = [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false];\r\nvar CustomerCollectCount = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\nvar expiredTimerId = null;\r\nvar countdownTimerId = null;\r\nvar pcfocusInputTimerId = null;\r\nvar doQrcodeTimerId = null;\r\n\r\nasync function init_script(kioskId, courierPw, vdebug, vtestmode, vupdatemode, kioskNo, totalBoxes) {\r\n console.log('init_script', kioskId, courierPw, vdebug, vtestmode, vupdatemode, kioskNo, totalBoxes);\r\n //@hfa\r\n if (kioskId == 'OFFICE2') {\r\n //WMSAPIIP = 'https://uat.rd.virsical.cn';\r\n WMSAPIIP = 'https://cloud.virsical.cn';\r\n }\r\n console.log('WMSAPIIP', WMSAPIIP);\r\n KioskId = kioskId;\r\n CourierPassword = courierPw;\r\n ViewBagDebug = vdebug == 'True';\r\n ViewBagTestMode = vtestmode == 'True';\r\n ViewBagUpdateMode = vupdatemode == 'True';\r\n TotalKiosks = kioskNo;\r\n TotalBoxes = totalBoxes;\r\n\r\n MonitorData.kiosk_id = KioskId;\r\n MonitorData.status = '';\r\n MonitorData.temperature = '';\r\n MonitorData.control_status = '';\r\n MonitorData.alarm = '';\r\n\r\n await dotnetJSConsole('JsConsole:' + KioskId, 'Smart Office version 3', KioskId, null, null, null)\r\n\r\n if (expiredTimerId != null) clearTimeout(expiredTimerId);\r\n expiredTimerId = setTimeout(() => {\r\n doExpireTimer();\r\n }, 5000);\r\n\r\n await delay(3000);\r\n await goHomePage();\r\n\r\n}\r\n\r\nfunction init_language(PleaseDeliverParcel,\r\n IncorrectBarcodePleaseScanTheBarcodeAgain,\r\n CollectParcelCompletedTapHereToContinue,\r\n PleaseCollectParcel,\r\n RemainingDeliverItemsAndTotalDeliverItems,\r\n PleaseScanDeliverParcelBarcode,\r\n DeliverParcelCompletedTapHereToExit,\r\n NoParcelNeededToCollectOrDeliver,\r\n NoParcelNeededToCollect\r\n) {\r\n UmbracoGetDictionaryValue['PleaseDeliverParcel'] = PleaseDeliverParcel;\r\n UmbracoGetDictionaryValue['IncorrectBarcodePleaseScanTheBarcodeAgain'] = IncorrectBarcodePleaseScanTheBarcodeAgain;\r\n UmbracoGetDictionaryValue['CollectParcelCompletedTapHereToContinue'] = CollectParcelCompletedTapHereToContinue;\r\n UmbracoGetDictionaryValue['PleaseCollectParcel'] = PleaseCollectParcel;\r\n UmbracoGetDictionaryValue['RemainingDeliverItemsAndTotalDeliverItems'] = RemainingDeliverItemsAndTotalDeliverItems;\r\n UmbracoGetDictionaryValue['PleaseScanDeliverParcelBarcode'] = PleaseScanDeliverParcelBarcode;\r\n UmbracoGetDictionaryValue['DeliverParcelCompletedTapHereToExit'] = DeliverParcelCompletedTapHereToExit;\r\n UmbracoGetDictionaryValue['NoParcelNeededToCollectOrDeliver'] = NoParcelNeededToCollectOrDeliver;\r\n UmbracoGetDictionaryValue['NoParcelNeededToCollect'] = NoParcelNeededToCollect;\r\n}\r\n\r\n//@hf:control box clicked\r\nasync function boxNum(num) {\r\n console.log('boxNum', num);\r\n\r\n let boxesStatuslist = BoxesStatus.split(',');\r\n boxesStatuslist[num-1] = '';\r\n localStorage.setItem('boxStatus', boxesStatuslist.join(','));\r\n //@hfa\r\n BoxesStatus = boxesStatuslist.join(',');\r\n\r\n await doOpenBox(num);\r\n\r\n dispBoxStatus();\r\n}\r\n\r\n//actual invoke here\r\nasync function _invokeCSharpAction(hex) {\r\n //@@hf: you may add false & for actual testing\r\n if (ViewBagTestMode == true || ViewBagDebug == true) {\r\n console.log('invokeCSharpAction simulation', hex);\r\n let num = Math.floor(Math.random() * 10); //0-9\r\n if (num < 3) //reserved:1, expired:8\r\n csLockControlResponse = '010402000178f0';\r\n else\r\n csLockControlResponse = '010402000078f0';\r\n await delay(250);\r\n } else {\r\n csLockControlResponse = '';\r\n await delay(10);\r\n await invokeCSharpAction(hex);\r\n await delay(250);\r\n }\r\n}\r\n\r\nfunction heatcrc16(buffer) {\r\n var crc = 0xFFFF;\r\n var odd;\r\n\r\n for (var i = 0; i < buffer.length; i++) {\r\n //console.log(i,buffer[i].toString(16))\r\n crc = crc ^ buffer[i];\r\n\r\n for (var j = 0; j < 8; j++) {\r\n odd = crc & 0x0001;\r\n crc = crc >> 1;\r\n if (odd) {\r\n crc = crc ^ 0xA001;\r\n }\r\n }\r\n }\r\n\r\n return crc;\r\n};\r\n\r\n\r\nasync function myTest() {\r\n let _kiosk = 1;\r\n let _box = 1;\r\n // console.log('doOpenBox kioskNumBoxNum', kioskNumBoxNum)\r\n console.log('doOpenBox num,kiosk,box', num, _kiosk, _box)\r\n //let unitNum = parseInt((num - 1) / 8) + 1;\r\n try {\r\n //let data = [0x01, 0x04, 0x9c, 0x58, 0x00, 0x01];\r\n let data = [0x01, 0x06, 0x75, 0x9b, 0x00, 0x00];\r\n let crc = heatcrc16(data);\r\n console.log('crc16', crc);\r\n const crc1 = crc & 0xff;\r\n const crc2 = crc >>8;\r\n let data2 = [0x01, 0x04, 0x9c, 0x58, 0x00, 0x01, crc1,crc2];\r\n console.log('doOpenBox', num, data2);\r\n\r\n let hex = data2.map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n console.log('after doOpenBox', hex)\r\n }\r\n catch (ex) {\r\n console.log('doOpenBox ex', ex);\r\n }\r\n}\r\n\r\nasync function doOpenBox(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n// console.log('doOpenBox kioskNumBoxNum', kioskNumBoxNum)\r\n console.log('doOpenBox num,kiosk,box', num,_kiosk, _box)\r\n //let unitNum = parseInt((num - 1) / 8) + 1;\r\n try {\r\n //let data = Uint8Array.from([1, 6, 0, 0x3B + num - 1, 00, 01])\r\n let data = [0x8a, _kiosk, _box, 0x11];\r\n let crc = crc16(data);\r\n console.log('crc', crc);\r\n let data2 = [0x8a, _kiosk, _box, 0x11, crc];\r\n console.log('doOpenBox', num, data2);\r\n\r\n let hex = data2.map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n console.log('after doOpenBox',hex)\r\n }\r\n catch (ex) {\r\n console.log('doOpenBox ex',ex);\r\n }\r\n}\r\n\r\nasync function doOpenAllBox() {\r\n console.log('doOpenAllBox12')\r\n //let unitNum = parseInt((num - 1) / 8) + 1;\r\n try {\r\n //let data = Uint8Array.from([1, 6, 0, 0x3B + num - 1, 00, 01])\r\n let data = [0x8a, 1, 0, 0x11];\r\n let crc = crc16(data);\r\n console.log('crc', crc);\r\n let data2 = [0x8a, 1, 0, 0x11, crc];\r\n console.log('doOpenAllBox1', data2);\r\n\r\n let hex = data2.map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n console.log('after doOpenAllBox1', hex)\r\n }\r\n catch (ex) {\r\n console.log('doOpenAllBox1 ex', ex);\r\n }\r\n try {\r\n //let data = Uint8Array.from([1, 6, 0, 0x3B + num - 1, 00, 01])\r\n let data = [0x8a, 2, 0, 0x11];\r\n let crc = crc16(data);\r\n console.log('crc', crc);\r\n let data2 = [0x8a, 2, 0, 0x11, crc];\r\n console.log('doOpenAllBox2', data2);\r\n\r\n let hex = data2.map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n console.log('after doOpenAllBox2', hex)\r\n }\r\n catch (ex) {\r\n console.log('doOpenAllBox2 ex', ex);\r\n }\r\n}\r\n\r\nasync function doQrcodeTest() {\r\n QrcodeRunMode = true;\r\n await doQrcode();\r\n}\r\n\r\nasync function doQrcode() {\r\n //@hf\r\n //console.log('doQrcode', QrcodeRunMode);\r\n if (!QrcodeRunMode) return;\r\n if (KioskId == \"TEST_KIOSK\" || KioskId == \"test_kiosk\") {\r\n try {\r\n let hex = 'Qrcode:get'\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n //console.log('doQrcode ex', ex);\r\n }\r\n\r\n if (doQrcodeTimerId != null) clearTimeout(doQrcodeTimerId);\r\n doQrcodeTimerId = setTimeout(doQrcode, 400);\r\n // await delay(333);\r\n // await doQrcode();\r\n }\r\n\r\n}\r\n\r\nasync function updateQrcode(text) {\r\n if (text != '') {\r\n console.log('updateQrcode:', text);\r\n QrcodeText = text;\r\n keylist = text;\r\n let qrcode = document.getElementById(\"qrCodeText\");\r\n if (qrcode != null) qrcode.innerHTML = text;\r\n\r\n doCollect();\r\n }\r\n}\r\n\r\nfunction dispBoxStatus() {\r\n //let boxStatusText = document.getElementById(\"boxStatusText\");\r\n //if (boxStatusText != null) boxStatusText.innerHTML = '(' + BoxesStatus + ')';\r\n let status = BoxesStatus.split(',');\r\n\r\n for (let i = 1; i <= 10; i++) {\r\n document.getElementById(\"ctrMsgBox\" + i).innerHTML = status[i-1].slice(-10);\r\n }\r\n}\r\n\r\nfunction clearBoxStatus() {\r\n console.log('clearBoxStatus:', BoxesStatus);\r\n const status = ',,,,,,,,,'\r\n localStorage.setItem('boxStatus', status);\r\n BoxesStatus = status;\r\n let boxStatusText = document.getElementById(\"boxStatusText\");\r\n if (boxStatusText != null) boxStatusText.innerHTML = '';\r\n dispBoxStatus();\r\n}\r\n\r\n//not use\r\nasync function readLockStatus(num) {\r\n try {\r\n let data = Uint8Array.from([1, 4, 0, 0x13 + num - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([1, 4, 0, 0x13 + num - 1, 0, 1, crc]);\r\n //console.log('readLockStatus', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readLockStatus ex:', ex);\r\n }\r\n\r\n}\r\n\r\n//Door actual status: 0:open, 1:closed\r\nasync function readDoorStatus(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readDoorStatus kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x27 + _box - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x27 + _box - 1, 0, 1, crc]);\r\n //console.log('readDoorStatus', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readDoorStatus ex:', ex);\r\n }\r\n\r\n}\r\n\r\n//Door alert status: 00:normal, else:error\r\nasync function readDoorAlert(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readDoorAlert kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x3B + _box - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x3B + _box - 1, 0, 1, crc]);\r\n //console.log('readDoorAlert', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readDoorAlert ex:', ex);\r\n }\r\n\r\n}\r\n\r\n//LED status: 0:off, 1:on\r\nasync function readDoorLED(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readDoorLED kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x4F + _box - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x4F + _box - 1, 0, 1, crc]);\r\n //console.log('readDoorLED', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readDoorLED ex:', ex);\r\n }\r\n\r\n}\r\n\r\n//0:normal, 1:abnormal\r\n//eg 0104020000b930\r\nasync function readRefriCommStatus(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readRefriCommStatus kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x68, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x68, 0, 1, crc]);\r\n //console.log('readRefriCommStatus', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readRefriCommStatus ex:', ex);\r\n }\r\n\r\n}\r\n\r\n//0:normal, 1:abnormal\r\nasync function readBoardCommStatus(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readBoardCommStatus kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x69, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x69, 0, 1, crc]);\r\n //console.log('readBoardCommStatus', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readBoardCommStatus ex:', ex);\r\n }\r\n\r\n}\r\n\r\nasync function readTempSensor(_kiosk, _sensor) {\r\n //let kb = kioskNumBoxNum[num - 1].split(',');\r\n //let _kiosk = +kb[0];\r\n //let _box = +kb[1];\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, _sensor - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, _sensor - 1, 0, 1, crc]);\r\n console.log('readTempSensor', _kiosk, _sensor);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readTempSensor ex:', ex);\r\n }\r\n\r\n}\r\n\r\n\r\n//lock status: 0:closed, 1:open, 2:error\r\nasync function readDoorLock(num) {\r\n let kb = kioskNumBoxNum[num - 1].split(',');\r\n let _kiosk = +kb[0];\r\n let _box = +kb[1];\r\n console.log('readDoorLock kiosk,box', _kiosk, _box)\r\n try {\r\n let data = Uint8Array.from([_kiosk, 4, 0, 0x13 + _box - 1, 0, 1]);\r\n let crc = crc16(data);\r\n let data2 = new Uint8Array([_kiosk, 4, 0, 0x13 + _box - 1, 0, 1, crc]);\r\n //console.log('readDoorLock', data2);\r\n let hex = Array.from(data2).map(i2hex).join('');\r\n csLockControlResponse = '';\r\n await _invokeCSharpAction(hex);\r\n }\r\n catch (ex) {\r\n console.log('readDoorLock ex:', ex);\r\n }\r\n}\r\n\r\nasync function readSingleDoorStatus(boxNo) {\r\n await readDoorStatus(boxNo);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleDoorStatus1', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n //e.g. 010402000178f0\r\n let state = csLockControlResponse.substr(8, 2);\r\n //0:open, 1:closed actually\r\n if (parseInt(state, 16) == 0x00) {\r\n console.log('readSingleDoorStatus opened', state);\r\n csLockControlResponse = '';\r\n return 'opened';\r\n } else if (parseInt(state, 16) == 0x01) {\r\n console.log('readSingleDoorStatus closed', state);\r\n csLockControlResponse = '';\r\n return 'closed';\r\n }\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleDoorLED(boxNo) {\r\n await readDoorLED(boxNo);\r\n for (let j = 0; j <= 20; j++) {\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n console.log('readSingleDoorLED1', csLockControlResponse);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n //e.g. 010402000178f0\r\n let state = csLockControlResponse.substr(8, 2);\r\n //0:off, 1:on\r\n if (parseInt(state, 16) == 0x00) {\r\n console.log('readSingleDoorLED off', state);\r\n csLockControlResponse = '';\r\n return 'off';\r\n } else if (parseInt(state, 16) == 0x01) {\r\n console.log('readSingleDoorLED on', state);\r\n csLockControlResponse = '';\r\n return 'on';\r\n }\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleDoorLock(boxNo) {\r\n await readDoorLock(boxNo);\r\n for (let j = 0; j <= 20; j++) {\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n console.log('readSingleDoorLock', csLockControlResponse);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n //e.g. 010402000178f0\r\n let state = csLockControlResponse.substr(8, 2);\r\n //0:off, 1:on\r\n if (parseInt(state, 16) == 0x00) {\r\n console.log('readSingleDoorLock off', state);\r\n csLockControlResponse = '';\r\n return 'off';\r\n } else if (parseInt(state, 16) == 0x01) {\r\n console.log('readSingleDoorLock on', state);\r\n csLockControlResponse = '';\r\n return 'on';\r\n }\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleControlTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 1);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleControlTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleControlTempSensor state', state);\r\n let temp = parseInt(state, 16);\r\n if (temp >= 128) {\r\n temp = temp - 256;\r\n }\r\n console.log('readSingleControlTempSensor temp', temp);\r\n return temp;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleDefrostTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 2);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleDefrostTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleDefrostTempSensor state', state);\r\n let temp = parseInt(state, 16);\r\n if (temp >= 128) {\r\n temp = temp - 256;\r\n }\r\n console.log('readSingleDefrostTempSensor temp', temp);\r\n return temp;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleCompressorTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 3);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleCompressorTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleCompressorTempSensor state', state);\r\n let temp = parseInt(state, 16);\r\n if (temp >= 128) {\r\n temp = temp - 256;\r\n }\r\n console.log('readSingleCompressorTempSensor temp', temp);\r\n return temp;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleDisplayTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 4);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleDisplayTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleDisplayTempSensor state', state);\r\n let temp = parseInt(state, 16);\r\n if (temp >= 128) {\r\n temp = temp - 256;\r\n }\r\n console.log('readSingleDisplayTempSensor temp', temp);\r\n return temp;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleLoopTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 5);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleLoopTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleLoopTempSensor state', state);\r\n let temp = parseInt(state, 16);\r\n if (temp >= 128) {\r\n temp = temp - 256;\r\n }\r\n console.log('readSingleLoopTempSensor temp', temp);\r\n return temp;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleStatusTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 6);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleStatusTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleStatusTempSensor state', state);\r\n return state;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\nasync function readSingleAlarmTempSensor(_kiosk) {\r\n await readTempSensor(_kiosk, 8);\r\n for (let j = 0; j <= 20; j++) {\r\n console.log('readSingleAlarmTempSensor', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(30);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('readSingleAlarmTempSensor state', state);\r\n return state;\r\n }\r\n\r\n csLockControlResponse = '';\r\n return '';\r\n}\r\n\r\n\r\nasync function readAllDoorStatus() {\r\n const totalBox = 24;\r\n document.getElementById(\"errorTextBox\").innerHTML = '';\r\n document.getElementById(\"errorTextBox2\").innerHTML = '';\r\n\r\n for (let i = 1; i <= totalBox; i++) {\r\n await readDoorStatus(i);\r\n for (let j = 0; j <= 40; j++) {\r\n if (csLockControlResponse != '') break;\r\n await wait(60);\r\n console.log('readAllDoorStatus1', csLockControlResponse);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n //e.g. 010402000178f0\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('state1', state);\r\n //0:open, 1:closed actually\r\n if ((parseInt(state, 16) & 0x01) == 0x00)\r\n document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'yellow';\r\n else\r\n document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'grey';\r\n }\r\n else {\r\n document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'orange';\r\n }\r\n }\r\n\r\n for (let i = 1; i <= totalBox; i++) {\r\n await readDoorAlert(i);\r\n for (let j = 0; j <= 40; j++) {\r\n console.log('readAllDoorStatus2', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n await wait(60);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n //console.log('state2', state);\r\n //0:normal\r\n if (parseInt(state, 16) != 0x00)\r\n document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'red';\r\n }\r\n else {\r\n document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'orange';\r\n }\r\n }\r\n\r\n let msg = 'readDoorLED\\n';\r\n for (let i = 1; i <= totalBox; i++) {\r\n await readDoorLED(i);\r\n for (let j = 0; j <= 40; j++) {\r\n if (csLockControlResponse != '') break;\r\n await wait(60);\r\n console.log('readAllDoorStatus3', csLockControlResponse);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('state3', state);\r\n //0:normal\r\n // if (parseInt(state, 16) != 0x00)\r\n // document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'red';\r\n\r\n msg += csLockControlResponse.substr(8, 2) + '\\n';\r\n }\r\n }\r\n document.getElementById(\"errorTextBox\").innerHTML = msg;\r\n\r\n msg = 'readDoorLock\\n';\r\n for (let i = 1; i <= totalBox; i++) {\r\n await readDoorLock(i);\r\n for (let j = 0; j <= 40; j++) {\r\n if (csLockControlResponse != '') break;\r\n await wait(60);\r\n console.log('readAllDoorStatus4', csLockControlResponse);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n console.log('state4', state);\r\n //0:normal\r\n // if (parseInt(state, 16) != 0x00)\r\n // document.getElementById(\"ctrBox\" + i).style.backgroundColor = 'red';\r\n\r\n msg += csLockControlResponse.substr(8, 2) + '\\n';\r\n }\r\n }\r\n document.getElementById(\"errorTextBox2\").innerHTML = msg;\r\n\r\n}\r\n//-----\r\n//https://linuxhint.com/send-post-request-xmlhttprequest-javascript/\r\nfunction networkTest22() {\r\n console.log('networktest2');\r\n const url = `${WMSAPIIP}/vsk/vst-visitor/api/whiteList/lockerScanCodeCallback?qrCodeContent=INVITA_358478`;\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.onreadystatechange = function () {\r\n console.log('networktest3', this.readyState,this.status);\r\n if (this.readyState == 4 && this.status == 200) {\r\n console.log('responseText', this.responseText);\r\n resolve(this.responseText);\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n xhttp.send();\r\n });\r\n\r\n}\r\n\r\n//NOTE: get access token\r\nfunction getAccessToken() {\r\n const url = `${WMSAPIIP}/vsk/virsical-auth/oauth/token?grant_type=client_credentials`;\r\n console.log('getAccessToken',url);\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.onreadystatechange = function () {\r\n console.log('getAccessToken', this.readyState, this.status);\r\n if (this.readyState == 4 && this.status == 200) {\r\n console.log('responseText', this.responseText);\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({code:-1,msg:'Network issue1'});\r\n }\r\n }\r\n };\r\n xhttp.open(\"GET\", url);\r\n if (KioskId == 'OFFICE2') {\r\n// xhttp.setRequestHeader(\"Authorization\", \"Basic Y2xpZW50MTcwNTg5MjU0ODU0NTg3NTQxMTc3OjM3OTQyMDcwLTJhMDAtNGI4Mi04NDE1LTcyOTU5ODNiMGFlOA==\");\r\n //production \r\n xhttp.setRequestHeader(\"Authorization\", \"Basic Y2xpZW50MTcwODMyODI3OTkwMzI5NjUyNjY0OjE5YzQwYjE5LThmNTktNDNiNy05ZGVmLTkwZGNiODI0NDMwNg==\");\r\n } else {\r\n xhttp.setRequestHeader(\"Authorization\", \"Basic Y2xpZW50MTY4NTQxODQwOTkzMTU4NTY5Nzk1OjhlMmRjMWMyLTIyYzYtNDc0Ny04MDYzLTY4ODQ1MGUzYTAyNg==\");\r\n }\r\n xhttp.send();\r\n });\r\n\r\n}\r\n\r\n//NOTE: qrcodeVerify\r\nfunction qrcodeVerify(token, qrCode) {\r\n console.log('qrcodeVerify');\r\n const url = `${WMSAPIIP}/vsk/smartaccess/third/thirdQrCode/validateQrCode`;\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.onreadystatechange = function () {\r\n console.log('qrcodeVerify', this.readyState, this.status);\r\n if (this.readyState == 4 && this.status == 200) {\r\n console.log('responseText', this.responseText);\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue2' });\r\n }\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n xhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n xhttp.setRequestHeader(\"Authorization\", \"bearer \" + token);\r\n const body = {\r\n \"qrCode\": qrCode\r\n };\r\n xhttp.send(JSON.stringify(body));\r\n });\r\n\r\n}\r\n\r\nfunction lockerCallback(token) {\r\n console.log('lockerCallback',token);\r\n const url = `${WMSAPIIP}/vsk/vst-visitor/api/third/lockerCallback`;\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.onreadystatechange = function () {\r\n console.log('lockerCallback', this.readyState, this.status);\r\n if (this.readyState == 4 && this.status == 200) {\r\n console.log('responseText', this.responseText);\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue3' });\r\n }\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n xhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n xhttp.setRequestHeader(\"Authorization\", \"bearer \" + token);\r\n const body = {\r\n \"userId\": UserId,\r\n \"lockerId\": LockerId,\r\n \"location\": Location,\r\n \"boxNumber\": BoxNumbber,\r\n \"passcode\": Passcode,\r\n \"recipients\": Recipients,\r\n };\r\n console.log('body', body);\r\n xhttp.send(JSON.stringify(body));\r\n });\r\n\r\n}\r\n\r\nasync function qrcodeCheck(staffQrCode) {\r\n console.log('qrcodeCheck', staffQrCode);\r\n try {\r\n let data = {\r\n };\r\n const response = await getAccessToken();\r\n console.log('response1', response, typeof (response));\r\n Token = response['access_token'];\r\n console.log('access_token', Token);\r\n const response2 = await qrcodeVerify(Token, staffQrCode);\r\n console.log('response2', response2,typeof(response2));\r\n return response2;\r\n }\r\n catch (ex) {\r\n console.log('qrcodeCheck ex', ex);\r\n }\r\n\r\n}\r\n\r\nasync function networkTest() {\r\n await qrcodeCheck(\"VIRSICAL.3.PqKoN4cMDt7vtXYZEHoegw*1685072699401\");\r\n await lockerCallback(Token);\r\n}\r\n\r\n//https://javascript.info/xmlhttprequest\r\nfunction visitorExpiredCallback(body) {\r\n const url = `${WMSAPIIP}/vsk/vst-visitor/api/whiteList/lockerNoticeCallback`;\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.timeout = 5000;\r\n\r\n xhttp.onreadystatechange = function () {\r\n console.log('networktest14', this.readyState, this.status);\r\n if (this.readyState == 4) { // && this.status == 200\r\n try {\r\n console.log('responseText', this.responseText, typeof (this.responseText));\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue4' });\r\n }\r\n } catch(error) {\r\n resolve({code:1,msg:'Error! Please retry.'});\r\n }\r\n }\r\n };\r\n\r\n xhttp.open(\"POST\", url);\r\n xhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\r\n //xhttp.setRequestHeader(\"Authorization\", \"bearer \" + token);\r\n xhttp.send(JSON.stringify(body));\r\n\r\n });\r\n\r\n}\r\n\r\nfunction rightRotate(value, amount) {\r\n return (value >>> amount) | (value << (32 - amount));\r\n};\r\n\r\nfunction sha256(ascii) {\r\n try {\r\n var mathPow = Math.pow;\r\n var maxWord = mathPow(2, 32);\r\n var lengthProperty = 'length'\r\n var i, j; // Used as a counter across the whole file\r\n var result = ''\r\n\r\n var words = [];\r\n var asciiBitLength = ascii[lengthProperty] * 8;\r\n\r\n //* caching results is optional - remove/add slash from front of this line to toggle\r\n // Initial hash value: first 32 bits of the fractional parts of the square roots of the first 8 primes\r\n // (we actually calculate the first 64, but extra values are just ignored)\r\n var hash = sha256.h = sha256.h || [];\r\n // Round constants: first 32 bits of the fractional parts of the cube roots of the first 64 primes\r\n var k = sha256.k = sha256.k || [];\r\n var primeCounter = k[lengthProperty];\r\n /*/\r\n var hash = [], k = [];\r\n var primeCounter = 0;\r\n //*/\r\n\r\n var isComposite = {};\r\n for (var candidate = 2; primeCounter < 64; candidate++) {\r\n if (!isComposite[candidate]) {\r\n for (i = 0; i < 313; i += candidate) {\r\n isComposite[i] = candidate;\r\n }\r\n hash[primeCounter] = (mathPow(candidate, .5) * maxWord) | 0;\r\n k[primeCounter++] = (mathPow(candidate, 1 / 3) * maxWord) | 0;\r\n }\r\n }\r\n\r\n ascii += '\\x80' // Append Ƈ' bit (plus zero padding)\r\n while (ascii[lengthProperty] % 64 - 56) ascii += '\\x00' // More zero padding\r\n for (i = 0; i < ascii[lengthProperty]; i++) {\r\n j = ascii.charCodeAt(i);\r\n if (j >> 8) return; // ASCII check: only accept characters in range 0-255\r\n words[i >> 2] |= j << ((3 - i) % 4) * 8;\r\n }\r\n words[words[lengthProperty]] = ((asciiBitLength / maxWord) | 0);\r\n words[words[lengthProperty]] = (asciiBitLength)\r\n\r\n // process each chunk\r\n for (j = 0; j < words[lengthProperty];) {\r\n var w = words.slice(j, j += 16); // The message is expanded into 64 words as part of the iteration\r\n var oldHash = hash;\r\n // This is now the undefinedworking hash\", often labelled as variables a...g\r\n // (we have to truncate as well, otherwise extra entries at the end accumulate\r\n hash = hash.slice(0, 8);\r\n\r\n for (i = 0; i < 64; i++) {\r\n var i2 = i + j;\r\n // Expand the message into 64 words\r\n // Used below if \r\n var w15 = w[i - 15], w2 = w[i - 2];\r\n\r\n // Iterate\r\n var a = hash[0], e = hash[4];\r\n var temp1 = hash[7]\r\n + (rightRotate(e, 6) ^ rightRotate(e, 11) ^ rightRotate(e, 25)) // S1\r\n + ((e & hash[5]) ^ ((~e) & hash[6])) // ch\r\n + k[i]\r\n // Expand the message schedule if needed\r\n + (w[i] = (i < 16) ? w[i] : (\r\n w[i - 16]\r\n + (rightRotate(w15, 7) ^ rightRotate(w15, 18) ^ (w15 >>> 3)) // s0\r\n + w[i - 7]\r\n + (rightRotate(w2, 17) ^ rightRotate(w2, 19) ^ (w2 >>> 10)) // s1\r\n ) | 0\r\n );\r\n // This is only used once, so *could* be moved below, but it only saves 4 bytes and makes things unreadble\r\n var temp2 = (rightRotate(a, 2) ^ rightRotate(a, 13) ^ rightRotate(a, 22)) // S0\r\n + ((a & hash[1]) ^ (a & hash[2]) ^ (hash[1] & hash[2])); // maj\r\n\r\n hash = [(temp1 + temp2) | 0].concat(hash); // We don't bother trimming off the extra ones, they're harmless as long as we're truncating when we do the slice()\r\n hash[4] = (hash[4] + temp1) | 0;\r\n }\r\n\r\n for (i = 0; i < 8; i++) {\r\n hash[i] = (hash[i] + oldHash[i]) | 0;\r\n }\r\n }\r\n\r\n for (i = 0; i < 8; i++) {\r\n for (j = 3; j + 1; j--) {\r\n var b = (hash[i] >> (j * 8)) & 255;\r\n result += ((b < 16) ? 0 : '') + b.toString(16);\r\n }\r\n }\r\n } catch (error) {\r\n result = '*******';\r\n }\r\n\r\n return result;\r\n};\r\n\r\n//NOTE: visitorCheck\r\nfunction visitorCheck(token, visitorId) {\r\n let url = `${WMSAPIIP}/vsk/vst-visitor/api/whiteList/lockerScanCodeCallback?qrCodeContent=${visitorId}`;\r\n if (KioskId == 'OFFICE2') {\r\n url = `${WMSAPIIP}/vsk/vst-visitor/api/interface/lockerScanCodeCallback?qrCodeContent=${visitorId}`;\r\n }\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.timeout = 5000;\r\n\r\n xhttp.onreadystatechange = function () {\r\n console.log('networktest13', this.readyState, this.status);\r\n if (this.readyState == 4) { // && this.status == 200\r\n try {\r\n console.log('responseText', this.responseText, typeof (this.responseText));\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue5' });\r\n }\r\n } catch (error) {\r\n resolve({ code: 1, msg: 'Error! Please retry.' });\r\n }\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n if (KioskId == 'OFFICE2') {\r\n url = `${WMSAPIIP}/vsk/vst-visitor/api/interface/lockerScanCodeCallback?qrCodeContent=${visitorId}`;\r\n console.log('==> visitorCheck url', url);\r\n console.log('==> visitorCheck access_token', token);\r\n const timestamp = Date.now() + 60 * 20 * 1000;\r\n const ClientSecret = '37942070-2a00-4b82-8415-7295983b0ae8';\r\n const api = `/api/interface/lockerScanCodeCallback{qrCodeContent=${visitorId}}`;\r\n let sign = sha256(token + ClientSecret + timestamp+api);\r\n xhttp.setRequestHeader('Content-Type', 'application/json');\r\n xhttp.setRequestHeader(\"vsk-timestamp\", timestamp);\r\n xhttp.setRequestHeader(\"vsk-auth\", \"bearer \" + token);\r\n xhttp.setRequestHeader(\"vsk-signature\", sign);\r\n }\r\n xhttp.send();\r\n });\r\n}\r\n\r\n//KioskId == 'OFFICE2'\r\nfunction visitorCheckCSharp(token, visitorId) {\r\n let url = `/locker/api/v1/visitorCheck`;\r\n console.log('visitorCheckCSharp', token, visitorId);\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.timeout = 7000;\r\n\r\n xhttp.onreadystatechange = function () {\r\n console.log('networktest53', this.readyState, this.status);\r\n if (this.readyState == 4) { // && this.status == 200\r\n try {\r\n console.log('responseText', this.responseText, typeof (this.responseText));\r\n try {\r\n const res = JSON.parse(this.responseText);\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue6' });\r\n }\r\n } catch (error) {\r\n resolve({ code: 1, msg: 'Error! Please retry.' });\r\n }\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n\r\n const timestamp = Date.now() + 60 * 1000 * 60;\r\n //uat\r\n //const ClientSecret = '37942070-2a00-4b82-8415-7295983b0ae8';\r\n //production\r\n const ClientSecret = '19c40b19-8f59-43b7-9def-90dcb8244306';\r\n const api = `/api/interface/lockerScanCodeCallback{qrCodeContent=${visitorId}}`;\r\n let sign = sha256(token + ClientSecret + timestamp + api);\r\n xhttp.setRequestHeader('Content-Type', 'application/json');\r\n xhttp.setRequestHeader(\"vsk-timestamp\", timestamp);\r\n xhttp.setRequestHeader(\"vsk-auth\", \"bearer \" + token);\r\n xhttp.setRequestHeader(\"vsk-signature\", sign);\r\n\r\n const body = {\r\n \"header\": visitorId,\r\n \"arg1\": token,\r\n \"arg2\": timestamp,\r\n \"arg3\": sign,\r\n \"arg4\": sign,\r\n };\r\n xhttp.send(JSON.stringify(body));\r\n });\r\n}\r\n\r\nasync function emailCheck() {\r\n let email = document.getElementById('emailInput').value;\r\n console.log('email', email,Token);\r\n Recipients = email;\r\n if (email == '') {\r\n document.getElementById('emailInputMsg').innerHTML = \"Please enter email on virtual keyboard.\";\r\n } else {\r\n const response = await lockerCallback(Token);\r\n console.log('response', response);\r\n if (response.code == 0) {\r\n console.log('SelectedBox', SelectedBox);\r\n let boxesStatuslist = BoxesStatus.split(',');\r\n boxesStatuslist[SelectedBox - 1] = Passcode;\r\n localStorage.setItem('boxStatus', boxesStatuslist.join(','));\r\n\r\n goHomePage();\r\n } else {\r\n document.getElementById('emailInputMsg').innerHTML = \"Invalid email! Please try again.\";\r\n }\r\n }\r\n\r\n}\r\n\r\nasync function xxvisitorCheck(visitorId) {\r\n try {\r\n let data = {\r\n };\r\n const url = `${WMSAPIIP}/vsk/vst-visitor/api/whiteList/lockerScanCodeCallback?qrCodeContent=${visitorId}`;\r\n let response = await fetch(url, {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n console.log('response', response.ok);\r\n const result = await response.json();\r\n console.log('result', result);\r\n return result;\r\n }\r\n catch (ex) {\r\n console.log('ex', ex);\r\n return {};\r\n }\r\n\r\n}\r\n\r\n//CourierModePage\r\nasync function checkIfDoorOpen() {\r\n let ledoff = false;\r\n if (checkIfDoorOpenCount == 0) {\r\n checkIfDoorOpenTime = performance.now();\r\n }\r\n checkIfDoorOpenCount++;\r\n\r\n let timeElapsed = (performance.now() - checkIfDoorOpenTime) / 1000;\r\n console.log('checkIfDoorOpen:', BoxNo, checkIfDoorOpenCount, timeElapsed);\r\n\r\n if (timeElapsed < MaxDoorCheckTime * 2) {\r\n\r\n if (timeElapsed >= 9) {\r\n let actDoorState = await readSingleDoorStatus(BoxNo);\r\n if (actDoorState == 'opened') {\r\n ledoff = true;\r\n console.log('door opened', BoxNo);\r\n await delay(300);\r\n }\r\n else {\r\n ledoff = false;\r\n let ledState = await readSingleDoorLED(BoxNo);\r\n if (ledState == 'off') {\r\n //ledoff = true;\r\n await delay(500);\r\n ledState = await readSingleDoorLock(BoxNo);\r\n if (ledState == 'off') {\r\n ledoff = true;\r\n }\r\n\r\n }\r\n }\r\n }\r\n else {\r\n await delay(300);\r\n\r\n }\r\n //console.log('led off:', BoxNo, ledoff);\r\n\r\n //if (await readSingleDoorStatus(BoxNo) == 'opened') {\r\n if (ledoff) {\r\n ledoff = false;\r\n console.log('checkIfDoorOpen: closed');\r\n checkIfDoorOpenCount = 0;\r\n courierStep = 10; //11\r\n doCourierModeRemoveBlink();\r\n doorChecking = false;\r\n await doCourier();\r\n } else {\r\n await checkIfDoorOpen();\r\n }\r\n }\r\n else {\r\n console.log('checkIfDoorOpen: timeout');\r\n checkIfDoorOpenCount = 0;\r\n courierStep = 10; //11\r\n doCourierModeRemoveBlink();\r\n doorChecking = false;\r\n await doCourier();\r\n }\r\n}\r\n\r\nasync function checkIfDoorClose() {\r\n let ledoff = false;\r\n if (checkIfDoorCloseCount == 0) {\r\n checkIfDoorCloseTime = performance.now();\r\n }\r\n checkIfDoorCloseCount++;\r\n\r\n let timeElapsed = (performance.now() - checkIfDoorCloseTime) / 1000;\r\n console.log('checkIfDoorClose:', BoxNo, checkIfDoorCloseCount, timeElapsed);\r\n\r\n if (timeElapsed < MaxDoorCheckTime * 2) {\r\n\r\n if (timeElapsed >= 9) {\r\n let actDoorState = await readSingleDoorStatus(BoxNo);\r\n if (actDoorState == 'opened') {\r\n ledoff = true;\r\n console.log('door opened', BoxNo);\r\n await delay(300);\r\n }\r\n else {\r\n ledoff = false;\r\n let ledState = await readSingleDoorLED(BoxNo);\r\n if (ledState == 'off') {\r\n //ledoff = true;\r\n await delay(500);\r\n ledState = await readSingleDoorLock(BoxNo);\r\n if (ledState == 'off') {\r\n ledoff = true;\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n else {\r\n await delay(300);\r\n\r\n }\r\n //console.log('led off', ledoff);\r\n\r\n //if (ledoff && await readSingleDoorStatus(BoxNo) == 'closed') {\r\n if (ledoff) {\r\n ledoff = false;\r\n console.log('checkIfDoorClose: closed');\r\n checkIfDoorCloseCount = 0;\r\n } else {\r\n console.log('checkIfDoorClose: opened');\r\n await checkIfDoorClose();\r\n }\r\n }\r\n else {\r\n console.log('checkIfDoorClose: timeout');\r\n checkIfDoorCloseCount = 0;\r\n }\r\n}\r\n\r\n\r\nasync function handleExpired(statusList) {\r\n let tno = document.getElementById('trackingNo');\r\n console.log('handleExpiredtno', tno.value);\r\n let credList = CustomerCredentials.split(',');\r\n\r\n BoxNo = expiredIndex(statusList);;\r\n console.log('found', BoxNo);\r\n document.getElementById('courierModeBlink' + (BoxNo)).style.backgroundColor = 'green';\r\n await doOpenBox(BoxNo);\r\n docourierModeBlink(BoxNo);\r\n\r\n //@@hf:add true if want to update\r\n if (ViewBagUpdateMode || (ViewBagTestMode != true && ViewBagDebug != true)) {\r\n let response = await fetch(`/locker/api/v1/expired?kiosk_id=${KioskId}&boxNo=` + BoxNo + '&cred=' + credList[BoxNo - 1], {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n //console.log('response', response);\r\n }\r\n CourierExpiredState[BoxNo - 1] = true;\r\n\r\n doorChecking = true;\r\n checkIfDoorOpenCount = 0;\r\n await checkIfDoorOpen();\r\n doorChecking = false;\r\n}\r\n\r\nasync function handleReserved(statusList) {\r\n let validTrackingNo = false;\r\n let tno = document.getElementById('trackingNo');\r\n console.log('handleReserved tno', tno.value);\r\n let credList = CustomerCredentials.split(',');\r\n //console.log('credList:', credList);\r\n //console.log('statusList:', statusList);\r\n if (tno.value != '') {\r\n BoxNo = 0;\r\n for (let i = 0; i < statusList.length; i++) {\r\n let trackingNo = credList[i].split(':')[0];\r\n console.log('CourierReservedState:', CourierReservedState[i]);\r\n console.log('status:', statusList[i]);\r\n console.log('cred:', credList[i], trackingNo, tno.value.toUpperCase());\r\n console.log('cred2:', trackingNo.length, tno.value.length);\r\n if (statusList[i] == 'reserved' && !CourierReservedState[i] && trackingNo == tno.value.toUpperCase()) {\r\n BoxNo = i + 1;\r\n console.log('found', BoxNo);\r\n document.getElementById('courierModeBlink' + (BoxNo)).style.backgroundColor = 'green';\r\n await doOpenBox(BoxNo);\r\n docourierModeBlink(BoxNo);\r\n //clear count for new delivery\r\n CustomerCollectCount[i] = 0;\r\n\r\n //@@hf:add true if want to update\r\n if (ViewBagUpdateMode || (ViewBagTestMode != true && ViewBagDebug != true)) {\r\n //! update status\r\n let response = await fetch(`/locker/api/v1/delivered?kiosk_id=${KioskId}&boxNo=` + BoxNo + '&cred=' + credList[i], {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n //console.log('response', response);\r\n }\r\n\r\n CourierReservedState[i] = true;\r\n document.getElementById('trackingNo').value = '';\r\n\r\n //if (reservedCount(statusList) > 0) {\r\n // document.getElementById('courierMsg').innerHTML = '?????';\r\n //}\r\n //else {\r\n // let msg = document.getElementById('courierMsg');\r\n // msg.innerHTML = '??????,????';\r\n // courierStep = 50;\r\n //}\r\n\r\n let selLang = SelectedLang == 'en' ? 0 : 1;\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"PleaseDeliverParcel\"][selLang];\r\n courierStep = 30;\r\n validTrackingNo = true;\r\n\r\n doorChecking = true;\r\n checkIfDoorCloseCount = 0;\r\n await checkIfDoorClose();\r\n doorChecking = false;\r\n\r\n courierStep = 30;\r\n doCourierModeRemoveBlink();\r\n await doCourier();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!validTrackingNo) {\r\n let selLang = SelectedLang == 'en' ? 0 : 1;\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"IncorrectBarcodePleaseScanTheBarcodeAgain\"][selLang];\r\n\r\n setTimeout(() => {\r\n let msg = document.getElementById('courierMsg');\r\n if (msg != null)\r\n msg.innerHTML = JSAllDictionaryItems[\"PleaseScanDeliverParcelBarcode\"][selLang];\r\n }, 3000);\r\n\r\n }\r\n}\r\n\r\n// if expired order exist\r\n//1. begin\r\n//2. open box\r\n//3. scan\r\n//4. repeat 2,3 if not done\r\n//5. complete\r\n\r\n//if reserved order exist\r\n//6. scan\r\n//7. check if tracking_number exist\r\n//8. open box\r\n//9. check if box closed\r\n//10. repeat 6-8 if not done\r\n//11. all complete\r\nasync function doCourier() {\r\n let selLang = SelectedLang == 'en' ? 0 : 1;\r\n console.log('doCourier...', courierStep, doorChecking);\r\n if (doorChecking) {\r\n return\r\n }\r\n\r\n let statusList = BoxesStatus.split(',');\r\n CountDown = 60;\r\n\r\n if (courierStep == 10) {\r\n //courierStep = 11;\r\n checkIfDoorOpenCount = 0;\r\n if (document.getElementById('expiredIcon') != null) {\r\n document.getElementById('expiredIcon').style.visibility = 'visible';\r\n }\r\n\r\n if (expiredCount(statusList) == 0) {\r\n courierStep = 30;\r\n if (document.getElementById('courierMsg') != null) {\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"CollectParcelCompletedTapHereToContinue\"][selLang];\r\n }\r\n }\r\n else {\r\n if (document.getElementById('courierMsg') != null) {\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"PleaseCollectParcel\"][selLang];\r\n }\r\n await handleExpired(statusList);\r\n }\r\n }\r\n else if (courierStep == 11) {\r\n checkIfDoorOpenCount = 999;\r\n //document.getElementById('courierMsg').innerHTML = '???????????';\r\n if (expiredCount(statusList) > 0) {\r\n courierStep = 10;\r\n }\r\n else {\r\n courierStep = 30;\r\n }\r\n }\r\n //else if (courierStep == 20) {\r\n // await handleExpired(statusList);\r\n //}\r\n else if (courierStep == 30) {\r\n checkIfDoorCloseCount = 999;\r\n reservedTotalCount(statusList);\r\n document.getElementById('courierDesc').innerHTML = JSAllDictionaryItems[\"RemainingDeliverItemsAndTotalDeliverItems\"][selLang];\r\n document.getElementById('deliverIcon').style.visibility = 'visible';\r\n if (reservedCount(statusList) > 0) {\r\n let msg = document.getElementById('courierMsg');\r\n msg.innerHTML = JSAllDictionaryItems[\"PleaseScanDeliverParcelBarcode\"][selLang];\r\n courierStep = 40;\r\n }\r\n else {\r\n let msg = document.getElementById('courierMsg');\r\n msg.innerHTML = JSAllDictionaryItems[\"DeliverParcelCompletedTapHereToExit\"][selLang];\r\n courierStep = 50;\r\n }\r\n }\r\n else if (courierStep == 40) {\r\n checkIfDoorCloseCount = 0;\r\n\r\n await ImportNewOrders();\r\n await init_BoxesStatus();\r\n await handleReserved(statusList);\r\n }\r\n else if (courierStep == 41) {\r\n courierStep = 50;\r\n }\r\n else if (courierStep == 50) {\r\n console.log('goHomePage');\r\n checkIfDoorCloseCount = 999;\r\n goHomePage();\r\n }\r\n}\r\n\r\n//ReOpenPage\r\nasync function doReopen() {\r\n console.log('doReopen...', ReOpenMode);\r\n\r\n ReOpenMode = true;\r\n // let img = `/locker/img/${SelectedLang}/unlocked.png?rnd=34901163`;\r\n // document.getElementById('imgUnlocked').src = img;\r\n // document.getElementById('imgUnlocked').style.visibility = 'visible';\r\n\r\n // for (let i = 0; i < CollectBoxList.length; i++)\r\n // {\r\n // console.log('doReopen', CollectBoxList[i]);\r\n // await doOpenBox(CollectBoxList[i]);\r\n // }\r\n\r\n //change to go to collect page\r\n doCollect();\r\n}\r\n\r\n//CollectPage\r\nasync function collectInit() {\r\n let customerCollectCountExceed = false;\r\n //let statusList = BoxesStatus.split(',');\r\n let credlist = CustomerCredentials.split(',');\r\n\r\n await collectedTotalCount();\r\n\r\n collectCheckIfDoorCloseCount = 0;\r\n await collectCheckIfDoorClose();\r\n\r\n //@@hf:add true if want to update\r\n if (ViewBagUpdateMode || (ViewBagTestMode != true && ViewBagDebug != true)) {\r\n for (let i = 0; i < CollectBoxList.length; i++) {\r\n //! update status\r\n let boxno = CollectBoxList[i];\r\n let response = await fetch(`/locker/api/v1/collected?kiosk_id=${KioskId}&boxNo=` + boxno + '&cred=' + credlist[boxno - 1], {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n //console.log('response', response);\r\n // if (CustomerCollectCount[i] >= 3)\r\n // {\r\n // customerCollectCountExceed = true;\r\n // }\r\n }\r\n }\r\n\r\n //doCollectRemoveBlink();\r\n\r\n if (CurrentPage != 'HomePage') {\r\n //if (ReOpenMode || customerCollectCountExceed)\r\n //@hf\r\n if (true || ReOpenMode) {\r\n goThankYouPage();\r\n }\r\n else {\r\n goReopenPage();\r\n }\r\n }\r\n}\r\n\r\nasync function xxxcollectedTotalCount() {\r\n let boxesStatuslist = BoxesStatus.split(',');\r\n let credlist = CustomerCredentials.split(',');\r\n\r\n let count = 0;\r\n collectBoxList = [];\r\n CollectBoxList = [];\r\n //for (let i = 0; i < statusList.length; i++) {\r\n // if (statusList[i] == 'occupied') {\r\n // let cb = document.getElementById('collectBlink' + (i + 1));\r\n // cb.classList.add('blinking');\r\n // collectBoxList.push(i + 1);\r\n\r\n // await doOpenBox(i + 1);\r\n\r\n // count++;\r\n // }\r\n //}\r\n //document.getElementById('courierTotalCount').innerText = '/' + count;\r\n\r\n for (let i = 0; i < credlist.length; i++) {\r\n let pos1 = credlist[i].indexOf(':');\r\n let pos2 = credlist[i].substr(pos1 + 1).indexOf(':');\r\n let cred = credlist[i].substr(pos1 + pos2 + 1).replace(':', '');\r\n console.log('cred:', cred, keylist, boxesStatuslist[i]);\r\n // && boxesStatuslist[i] == 'occupied'\r\n if (keylist.length >= 8 && keylist == cred) {\r\n console.log('matched2', keylist, i + 1);\r\n //document.getElementById('collectBlink' + (i + 1)).style.backgroundColor = 'green';\r\n let pngFile = \"url('/locker/img/box/\" + (i + 1) + \".png')\";\r\n console.log('pngFile', pngFile)\r\n document.getElementById('collectBlink' + (i + 1)).style.backgroundImage = pngFile;\r\n\r\n //let cb = document.getElementById('collectBlink' + (i + 1));\r\n //cb.classList.add('blinking');\r\n collectBoxList.push(i + 1);\r\n CollectBoxList.push(i + 1);\r\n\r\n await doOpenBox(i + 1);\r\n //await delay(300);\r\n\r\n count++;\r\n //break;\r\n }\r\n }\r\n\r\n CountDown = 60 * count;\r\n\r\n return count;\r\n}\r\n\r\nasync function deliveredTotalCount() {\r\n const order1 = [1,2,3,4,5,6,7,8,9,10];\r\n const order2 = [6,10,5,9,4,8,3,7,2,1];\r\n let boxesStatuslist = BoxesStatus.split(',');\r\n\r\n let count = 0;\r\n collectBoxList = [];\r\n CollectBoxList = [];\r\n\r\n for (let i = 0; i < boxesStatuslist.length; i++) {\r\n if (boxesStatuslist[i] == keylist) {\r\n return 'exist';\r\n }\r\n }\r\n\r\n for (let idx = 0; idx < boxesStatuslist.length; idx++) {\r\n let i = order1[idx]-1;\r\n if (HandicappedMode) {\r\n i = order2[idx]-1;\r\n }\r\n console.log('cred2:', keylist, boxesStatuslist[i],i);\r\n if (boxesStatuslist[i] == '') {\r\n console.log('available', keylist, i + 1);\r\n\r\n //let cb = document.getElementById('collectBlink' + (i + 1));\r\n //cb.classList.add('blinking');\r\n //collectBoxList.push(i + 1);\r\n //CollectBoxList.push(i + 1);\r\n\r\n //@hf: delay 3 seconds before open box\r\n //await doOpenBox(i + 1);\r\n SelectedBox = i + 1;\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"deliveredTotalCount\", keylist, BoxesStatus, SelectedBox, null)\r\n\r\n //await delay(3000);\r\n console.log('OperationMode', OperationMode);\r\n if (OperationMode == 'staffDeliver') {\r\n const rnd = Math.floor(Math.random() * 100000000);\r\n Passcode = `00000000${rnd}`.slice(-8);\r\n boxesStatuslist[i] = Passcode;\r\n //save after email is valid\r\n //localStorage.setItem('boxStatus', boxesStatuslist.join(','));\r\n } else {\r\n boxesStatuslist[i] = keylist;\r\n localStorage.setItem('boxStatus', boxesStatuslist.join(','));\r\n\r\n //update vistor's mobile no.\r\n const boxMobile = localStorage.getItem('boxMobile');\r\n console.log('boxMobile:', boxMobile);\r\n let boxMobileList = boxMobile.split(',');\r\n boxMobileList[i] = VisitorMobile;\r\n localStorage.setItem('boxMobile', boxMobileList.join(','));\r\n\r\n }\r\n //@hfa\r\n BoxesStatus = boxesStatuslist.join(',');\r\n\r\n count++;\r\n return i+1;\r\n }\r\n }\r\n\r\n return 'full';\r\n}\r\n\r\nasync function collectedTotalCount() {\r\n let boxesStatuslist = BoxesStatus.split(',');\r\n\r\n let count = 0;\r\n collectBoxList = [];\r\n CollectBoxList = [];\r\n\r\n for (let i = 0; i < boxesStatuslist.length; i++) {\r\n console.log('cred:', keylist, boxesStatuslist[i]);\r\n if (boxesStatuslist[i] == keylist) {\r\n //@hf: delay 3 seconds before open box\r\n //await doOpenBox(i + 1);\r\n SelectedBox = i + 1;\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"collectedTotalCount\", keylist, BoxesStatus, SelectedBox, null)\r\n\r\n //await delay(3000);\r\n boxesStatuslist[i] = '';\r\n localStorage.setItem('boxStatus', boxesStatuslist.join(','));\r\n //@hfa\r\n BoxesStatus = boxesStatuslist.join(',');\r\n return i + 1;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nasync function collectCheckIfDoorClose() {\r\n let ledoff = false;\r\n let complete = false;\r\n let totalNo = collectBoxList.length;\r\n let closeNo = 0;\r\n if (collectCheckIfDoorCloseCount == 0) {\r\n collectCheckIfDoorCloseTime = performance.now();\r\n }\r\n collectCheckIfDoorCloseCount++;\r\n\r\n let timeElapsed = (performance.now() - collectCheckIfDoorCloseTime) / 1000;\r\n console.log('collectCheckIfDoorClose', totalNo, closeNo, collectCheckIfDoorCloseCount, timeElapsed);\r\n\r\n if (timeElapsed < MaxDoorCheckTime * totalNo) {\r\n\r\n for (let i = 0; i < totalNo; i++) {\r\n let boxNo = collectBoxList[i];\r\n if (boxNo == 0) {\r\n closeNo++;\r\n continue;\r\n }\r\n if (timeElapsed >= 9) {\r\n let actDoorState = await readSingleDoorStatus(boxNo);\r\n if (actDoorState == 'opened') {\r\n ledoff = true;\r\n console.log('collectCheckIfDoorClose: door opened', boxNo);\r\n await delay(300);\r\n }\r\n else {\r\n ledoff = false;\r\n let ledState = await readSingleDoorLED(boxNo);\r\n if (ledState == 'off') {\r\n //ledoff = true;\r\n await delay(500);\r\n ledState = await readSingleDoorLock(boxNo);\r\n if (ledState == 'off') {\r\n ledoff = true;\r\n }\r\n\r\n }\r\n }\r\n }\r\n else {\r\n await delay(300);\r\n\r\n }\r\n\r\n //console.log('led off:', boxNo, ledoff);\r\n if (ledoff) {\r\n ledoff = false;\r\n //if (ledoff && await readSingleDoorStatus(boxNo) == 'closed') {\r\n console.log('collectCheckIfDoorClose: closed', boxNo);\r\n closeNo++;\r\n collectBoxList[i] = 0;\r\n doCollectRemoveBlink(boxNo);\r\n } else {\r\n //console.log('collectCheckIfDoorClose: opened');\r\n }\r\n //await delay(500);\r\n }\r\n\r\n //console.log('closeNo', closeNo);\r\n if (closeNo < totalNo) {\r\n await collectCheckIfDoorClose();\r\n }\r\n else {\r\n console.log('collectCheckIfDoorClose: complete');\r\n collectCheckIfDoorCloseCount = 0;\r\n }\r\n }\r\n else {\r\n console.log('collectCheckIfDoorClose: timeout');\r\n collectCheckIfDoorCloseCount = 0;\r\n }\r\n}\r\n\r\n\r\nasync function proceedOpenbox() {\r\n let result = 'ok';\r\n console.log('proceedopenbox', OperationMode);\r\n\r\n if (OperationMode == 'guestDeliver' || OperationMode == 'staffDeliver') {\r\n const res = await deliveredTotalCount();\r\n if (res == 'full') {\r\n document.getElementById('LoginMessage').innerHTML = 'All boxes are used up';\r\n result = res;\r\n }\r\n else if (res == 'exist') {\r\n document.getElementById('LoginMessage').innerHTML = 'You already delivered the item';\r\n result = res;\r\n } else {\r\n CountDown = 10;\r\n CurrentPage = 'CollectPage';\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n document.getElementById('collectBlink' + res).style.backgroundColor = 'red';\r\n console.log('proceedopenbox2', OperationMode);\r\n if (OperationMode == 'staffDeliver') {\r\n document.getElementById('btnEmailInput').style.visibility = 'visible';\r\n } else {\r\n document.getElementById('btnEmailInput').style.visibility = 'hidden';\r\n }\r\n\r\n //@hf:open box after 3 seconds\r\n const selBox = SelectedBox;\r\n await delay(2500);\r\n console.log('open box after 3 seconds', selBox);\r\n await doOpenBox(selBox);\r\n }\r\n } else {\r\n const res = await collectedTotalCount();\r\n if (res == 0) {\r\n document.getElementById('LoginMessage').innerHTML = 'Invalid ID! Please try again.';\r\n result = res;\r\n } else {\r\n CountDown = 10;\r\n CurrentPage = 'CollectPage';\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n document.getElementById('collectBlink' + res).style.backgroundColor = 'green';\r\n document.getElementById('btnEmailInput').style.visibility = 'hidden';\r\n\r\n //@hf:open box after 3 seconds\r\n const selBox = SelectedBox;\r\n await delay(2500);\r\n console.log('open box after 3 seconds.', selBox);\r\n await doOpenBox(selBox);\r\n }\r\n }\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"proceedOpenbox\", keylist, BoxesStatus, OperationMode, SelectedBox)\r\n\r\n keylist = '';\r\n return result;\r\n}\r\n\r\nasync function doCollect2(courierPw) {\r\n console.log('doCollect2...', OperationMode, KioskId, keylist);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"doCollect2\", keylist, BoxesStatus, null, null)\r\n\r\n CountDown = 60;\r\n BoxNo = 0;\r\n const boxStatus = localStorage.getItem('boxStatus');\r\n console.log('BoxesStatus:', boxStatus);\r\n if (boxStatus == null) {\r\n const status = ',,,,,,,,,,'\r\n localStorage.setItem('boxStatus', status);\r\n }\r\n BoxesStatus = boxStatus;\r\n\r\n //vistor's mobile no.\r\n const boxMobile = localStorage.getItem('boxMobile');\r\n console.log('boxMobile:', boxMobile);\r\n if (boxMobile == null) {\r\n const status = ',,,,,,,,,,'\r\n localStorage.setItem('boxMobile', status);\r\n }\r\n\r\n\r\n // let boxesStatuslist = BoxesStatus?.split(',');\r\n // let credlist = CustomerCredentials?.split(',');\r\n //console.log('credlist:', credlist);\r\n //console.log('boxesStatuslist:', boxesStatuslist);\r\n //console.log('CourierReservedState:', CourierReservedState);\r\n\r\n\r\n console.log('BoxNo', BoxNo);\r\n\r\n if (BoxNo > 0) {\r\n //CountDown = 120;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n if (TotalKiosks == 3) {\r\n let img = `/locker/img/${SelectedLang}/Collect-2unit.png?rnd=34901162`;\r\n document.getElementById('collect').src = img;\r\n }\r\n else {\r\n let img = `/locker/img/${SelectedLang}/Collect.png?rnd=34901162`;\r\n document.getElementById('collect').src = img;\r\n }\r\n\r\n //setTimeout(function() { collectInit(); }, 100);\r\n await collectInit();\r\n\r\n }\r\n else if (keylist == '1111111111111122222') {\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n }\r\n else if (keylist == 'collectPage') {\r\n CountDown = 60;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n document.getElementById('collectBlink' + BoxNo).style.backgroundColor = 'green';\r\n }\r\n//enter 00 to reload\r\n else if (keylist == '0' || keylist == '00') {\r\n window.location.reload(true);\r\n }\r\n else if (keylist == '90887274') {\r\n window.location.href = '/en/first-page';\r\n }\r\n//passcode to admin page\r\n else if (keylist == 'hfwg9088') {\r\n CountDown = 60;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { controlPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n dispBoxStatus();\r\n }\r\n//passcode to admin page with Clear button\r\n else if (keylist == 'hfwg9087') {\r\n CountDown = 60;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { controlPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n document.getElementById('clearAllBoxStatus').style = 'visibility:visible';\r\n dispBoxStatus();\r\n }\r\n else if (keylist == '90887291') {\r\n await proceedOpenbox();\r\n }\r\n else if (keylist == '90887294' || keylist == '90887295' || keylist == '90887296') {\r\n await proceedOpenbox();\r\n }\r\n// else if (keylist == '97' || keylist == '98' || keylist == '99' || keylist == '90') {\r\n// await proceedOpenbox();\r\n// }\r\n//passcode to admin page\r\n else if (keylist == '852290129262') {\r\n CountDown = 90;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { controlPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n dispBoxStatus();\r\n }\r\n else if (keylist == courierPw) {\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { courierModePage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n for (let i = 0; i < CourierReservedState.length; i++) {\r\n CourierReservedState[i] = false;\r\n CourierExpiredState[i] = false;\r\n }\r\n //setTimeout(function () { courierInit(); }, 200);\r\n await ImportNewOrders();\r\n await init_BoxesStatus();\r\n await courierInit();\r\n\r\n }\r\n else {\r\n // let img = `/locker/img/${SelectedLang}/invalidPasscode.png?rnd=34901162`;\r\n // document.getElementById(\"invalidPasscode\").src = img;\r\n // Get the helpModal\r\n // collectModal = document.getElementById(\"collectModal\");\r\n // collectModal.style.display = \"block\";\r\n // collectModalTimer = setTimeout(\"collectModal.style.display = 'none'\", 10000);\r\n\r\n if (keylist == '') {\r\n document.getElementById('LoginMessage').innerHTML = \"Please enter ID\";\r\n keyPad(10);\r\n }\r\n else {\r\n let result;\r\n if (OperationMode == 'staffDeliver') {\r\n result = await qrcodeCheck(keylist);\r\n console.log('result1', result, typeof (result));\r\n if (result.code == 0) {\r\n const res = await proceedOpenbox();\r\n if (res == 'ok') {\r\n goReopenPage(); //email\r\n }\r\n } else {\r\n document.getElementById('LoginMessage').innerHTML = result.msg;\r\n keylist = '';\r\n keyPad(10);\r\n }\r\n } else if (OperationMode == 'staffCollect') {\r\n console.log('staffCollect');\r\n await proceedOpenbox();\r\n } else {\r\n //@hfa\r\n Token = '';\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorCheckCSharp KioskId=\", KioskId, null, null, null)\r\n if (KioskId == 'OFFICE2') {\r\n const response = await getAccessToken();\r\n console.log('response1', response, typeof (response));\r\n Token = response['access_token'];\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorCheckCSharp Token\", Token, keylist, null, null)\r\n result = await visitorCheckCSharp(Token, keylist);\r\n } else {\r\n result = await visitorCheck(Token, keylist);\r\n }\r\n console.log('result2', result, keylist);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"result2\", JSON.stringify(result), keylist, null, null)\r\n if (result.code == 0) {\r\n VisitorMobile = result.data; //mobile no.\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"before proceedOpenbox\", Token, keylist, null, null)\r\n await proceedOpenbox();\r\n } else {\r\n document.getElementById('LoginMessage').innerHTML = result.msg;\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorCheck result.msg\", keylist, BoxesStatus, result.msg, null)\r\n\r\n keylist = '';\r\n keyPad(10);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nasync function goReopenPage() {\r\n console.log('goReopenPage...', keylist);\r\n //await delay(300);\r\n CountDown = 60;\r\n CurrentPage = 'ReopenPage';\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { reopenPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n// let img = `/locker/img/${SelectedLang}/reopen.png?rnd=34907681`;\r\n// document.getElementById('reopen').src = img;\r\n init_keyboard();\r\n\r\n}\r\n\r\nasync function GetBoxesStatusAndCredentials() {\r\n let url = `/locker/api/v1/getBoxesStatusAndCredentials?kiosk_id=${KioskId}`;\r\n let response = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n let res = await response.text();\r\n return res;\r\n}\r\n\r\nfunction deliverTest() {\r\n CountDown = 60;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { reopenPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n init_keyboard();\r\n}\r\n\r\nfunction collectTest() {\r\n CountDown = 60;\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n}\r\n\r\nasync function doLogin(mode) {\r\n console.log('doLogin...', mode, window.location.href, KioskId,keylist);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"doLogin\", keylist, BoxesStatus, null, null)\r\n OperationMode = mode;\r\n\r\n CountDown = 60;\r\n CurrentPage = 'LoginPage';\r\n courierStep = 10;\r\n doorAlertCancel = true;\r\n doorChecking = false;\r\n ReservedTotal = 0;\r\n ExpiredTotal = 0;\r\n doorAlertIndex = 0;\r\n focusInputActive = false;\r\n keylist = '';\r\n\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { loginPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n //document.getElementById('Countdown').style = 'visibility:visible';\r\n\r\n SelectedLang = 'en';\r\n\r\n if (mode == 'guestDeliver') {\r\n document.getElementById(\"EnterSMSPickupPin\").innerHTML = JSAllDictionaryItems[\"EnterSMSPickupPin\"][0] + \" \" + JSAllDictionaryItems[\"EnterSMSPickupPin\"][1];\r\n document.getElementById(\"YouMayScanTheQRCode\").innerHTML = JSAllDictionaryItems[\"YouMayScanTheQRCode\"][0] + \"
\" + JSAllDictionaryItems[\"YouMayScanTheQRCode\"][1];\r\n document.getElementById(\"Collect\").innerHTML = JSAllDictionaryItems[\"Deliver\"][0] + \"
\" + JSAllDictionaryItems[\"Deliver\"][1];\r\n document.getElementById(\"Handicapped\").innerHTML = JSAllDictionaryItems[\"Handicapped\"][0] + \"
\" + JSAllDictionaryItems[\"Handicapped\"][1];\r\n //document.getElementById(\"btnHandicapped\").style.visibility = \"visible\";\r\n }\r\n else if (mode == 'guestCollect') {\r\n document.getElementById(\"EnterSMSPickupPin\").innerHTML = JSAllDictionaryItems[\"EnterSMSPickupPin\"][0] + \" \" + JSAllDictionaryItems[\"EnterSMSPickupPin\"][1];\r\n document.getElementById(\"YouMayScanTheQRCode\").innerHTML = JSAllDictionaryItems[\"YouMayScanTheQRCode\"][0] + \"
\" + JSAllDictionaryItems[\"YouMayScanTheQRCode\"][1];\r\n document.getElementById(\"Collect\").innerHTML = JSAllDictionaryItems[\"Collect\"][0] + \"
\" + JSAllDictionaryItems[\"Collect\"][1];\r\n document.getElementById(\"btnHandicapped\").style.visibility = \"hidden\";\r\n } else if (mode == 'staffDeliver') {\r\n document.getElementById(\"EnterSMSPickupPin\").innerHTML = JSAllDictionaryItems[\"EnterSMSPickupPin\"][0] + \" \" + JSAllDictionaryItems[\"EnterSMSPickupPin\"][1];\r\n document.getElementById(\"YouMayScanTheQRCode\").innerHTML = JSAllDictionaryItems[\"YouMayScanTheQRCode\"][0] + \"
\" + JSAllDictionaryItems[\"YouMayScanTheQRCode\"][1];\r\n document.getElementById(\"Collect\").innerHTML = JSAllDictionaryItems[\"StaffDeliver\"][0] + \"
\" + JSAllDictionaryItems[\"StaffDeliver\"][1];\r\n document.getElementById(\"Handicapped\").innerHTML = JSAllDictionaryItems[\"Handicapped\"][0] + \"
\" + JSAllDictionaryItems[\"Handicapped\"][1]; \r\n //document.getElementById(\"btnHandicapped\").style.visibility = \"visible\";\r\n } else if (mode == 'staffCollect') {\r\n document.getElementById(\"EnterSMSPickupPin\").innerHTML = JSAllDictionaryItems[\"EnterSMSPickupPin\"][0] + \" \" + JSAllDictionaryItems[\"EnterSMSPickupPin\"][1];\r\n document.getElementById(\"YouMayScanTheQRCode\").innerHTML = JSAllDictionaryItems[\"YouMayScanTheQRCode\"][0] + \"
\" + JSAllDictionaryItems[\"YouMayScanTheQRCode\"][1];\r\n document.getElementById(\"Collect\").innerHTML = JSAllDictionaryItems[\"StaffCollect\"][0] + \"
\" + JSAllDictionaryItems[\"StaffCollect\"][1];\r\n document.getElementById(\"btnHandicapped\").style.visibility = \"hidden\";\r\n }\r\n\r\n //setTimeout(\"networkFailOver()\", 5000);\r\n let name = window.localStorage.getItem('kioskName');\r\n try {\r\n //var req = new XMLHttpRequest();\r\n //req.open('GET', `/en?kiosk_id=${name}`, true);\r\n\r\n //req.onreadystatechange = function ()\r\n //{\r\n // if (this.readyState == 4 && this.status == 200)\r\n // {\r\n // console.log('server is up');\r\n // if (lang == 'en')\r\n // window.location.href = `/en?kiosk_id=${name}`;\r\n // else\r\n // window.location.href = `/tc?kiosk_id=${name}`;\r\n // }\r\n //};\r\n //req.send();\r\n\r\n //if (lang == 'en')\r\n // window.location.href = `/en?kiosk_id=${name}`;\r\n //else\r\n // window.location.href = `/tc?kiosk_id=${name}`;\r\n\r\n //await init_BoxesStatus();\r\n await init_LoginPage();\r\n\r\n setAndRunQrcode();\r\n\r\n }\r\n catch (ex) {\r\n console.log('ex', ex);\r\n }\r\n //htmx.ajax('GET', `/locker/api/v1/saveKioskName?kiosk_id=${name}`, { target: '#homeButton', swap: 'innerHTML' });\r\n //document.getElementById('HomePage').style = 'visibility:hidden';\r\n console.log('doLogin done')\r\n}\r\n\r\nfunction setAndRunQrcode() {\r\n console.log('setAndRunQrcode');\r\n QrcodeRunMode = true;\r\n //setTimeout(doQrcode, 1000);\r\n if (doQrcodeTimerId != null) clearTimeout(doQrcodeTimerId);\r\n doQrcodeTimerId = setTimeout(doQrcode, 800);\r\n}\r\n\r\nasync function hifitest() {\r\n console.log('from hifitest111');\r\n await delay(3000);\r\n console.log('hifitest123 end');\r\n}\r\n\r\nasync function networkFailOver() {\r\n console.log('networkFailOver');\r\n for (let i = 0; i < 10; i++) {\r\n await delay(3000);\r\n console.log('networkFailOver', i);\r\n }\r\n}\r\n\r\nfunction reloadTest() {\r\n //window.location.href = '/tc?kiosk_id=eric_kiosk'\r\n window.location.href = '/en/sms-setup'\r\n}\r\n\r\n//courierModePage\r\n\r\n//$(document).ready(function ()\r\n//{\r\n// console.log('CourierModePage init');\r\n\r\n//});\r\n\r\nasync function clickPress(event) {\r\n if (event.keyCode == 13) {\r\n console.log('Input evt got')\r\n await doCourier();\r\n\r\n document.getElementById('trackingNo').value = '';\r\n\r\n }\r\n}\r\n\r\nfunction focusInput() {\r\n //@hf\r\n console.log('focusInput')\r\n let tno = document.getElementById('trackingNo');\r\n if (tno != null)\r\n tno.focus();\r\n if (focusInputActive)\r\n setTimeout(focusInput, 1000);\r\n}\r\n\r\nfunction courierInit() {\r\n try {\r\n console.log('courierInit:', BoxesStatus);\r\n let selLang = SelectedLang == 'en' ? 0 : 1;\r\n let statusList = BoxesStatus.split(',');\r\n ReservedTotal = reservedTotalCount(statusList);\r\n ExpiredTotal = expiredTotalCount(statusList);\r\n expiredCount(statusList);\r\n focusInputActive = true;\r\n focusInput();\r\n\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"Start\"][selLang];\r\n document.getElementById('courierDesc').innerHTML = JSAllDictionaryItems[\"RemainingCollectItemsAndTotalCollectItems\"][selLang];\r\n\r\n if (ReservedTotal + ExpiredTotal == 0) {\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"NoParcelNeededToCollectOrDeliver\"][selLang];\r\n document.getElementById('courierDesc').innerHTML = '';\r\n courierStep = 50;\r\n }\r\n else if (ExpiredTotal == 0) {\r\n document.getElementById('courierMsg').innerHTML = JSAllDictionaryItems[\"NoParcelNeededToCollect\"][selLang];\r\n courierStep = 30;\r\n }\r\n else {\r\n courierStep = 10;\r\n }\r\n }\r\n catch (error) {\r\n console.log('courierInit ex:', error);\r\n }\r\n}\r\n\r\nfunction courierModeBoxNum(num) {\r\n console.log('courierModeBoxNum', num)\r\n}\r\n\r\nfunction docourierModeBlink(boxNo) {\r\n console.log('docourierModeBlink...', boxNo);\r\n}\r\n\r\nfunction doCourierModeRemoveBlink() {\r\n //let cb = document.getElementById('courierModeBlink' + BoxNo);\r\n //console.log('doCourierModeRemoveBlink', BoxNo, cb);\r\n //if (cb != null) {\r\n // cb.classList.remove('blinking');\r\n //}\r\n}\r\n\r\nfunction expiredTotalCount(statusList) {\r\n let count = 0;\r\n for (let i = 0; i < statusList.length; i++) {\r\n if (statusList[i] == 'expired') {\r\n if (!CourierExpiredState[i]) {\r\n document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = '#004000';\r\n } else {\r\n document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = 'grey';\r\n }\r\n\r\n count++;\r\n }\r\n }\r\n document.getElementById('courierTotalCount').innerText = '/' + count;\r\n return count;\r\n}\r\n\r\nfunction expiredCount(statusList) {\r\n let count = 0;\r\n for (let i = 0; i < statusList.length; i++) {\r\n if (statusList[i] == 'expired') {\r\n if (!CourierExpiredState[i]) {\r\n //document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = 'darkgreen';\r\n count++;\r\n } else {\r\n document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = 'grey';\r\n }\r\n\r\n }\r\n\r\n }\r\n document.getElementById('courierCount').innerText = '' + (ExpiredTotal - count);\r\n return count;\r\n}\r\n\r\nfunction expiredIndex(statusList) {\r\n for (let i = 0; i < statusList.length; i++) {\r\n if (statusList[i] == 'expired' && !CourierExpiredState[i]) {\r\n console.log('expired index ', i);\r\n return i + 1;\r\n }\r\n }\r\n return 0;\r\n}\r\n\r\nfunction reservedTotalCount(statusList) {\r\n let count = 0;\r\n for (let i = 0; i < statusList.length; i++) {\r\n if (statusList[i] == 'reserved') {\r\n if (!CourierReservedState[i]) {\r\n //document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = '#134040';\r\n } else {\r\n let cmBlink = document.getElementById('courierModeBlink' + (i + 1));\r\n if (cmBlink != null)\r\n document.getElementById('courierModeBlink' + (i + 1)).style.backgroundColor = 'grey';\r\n }\r\n\r\n count++;\r\n }\r\n }\r\n\r\n let ctCount = document.getElementById('courierTotalCount');\r\n if (ctCount != null)\r\n document.getElementById('courierTotalCount').innerText = '/' + count;\r\n return count;\r\n}\r\n\r\nfunction reservedCount(statusList) {\r\n let count = 0;\r\n for (let i = 0; i < statusList.length; i++) {\r\n if (statusList[i] == 'reserved' && !CourierReservedState[i]) {\r\n count++;\r\n }\r\n }\r\n\r\n let cCount = document.getElementById('courierCount');\r\n if (cCount != null)\r\n document.getElementById('courierCount').innerText = '' + (ReservedTotal - count);\r\n return count;\r\n}\r\n\r\n\r\nasync function init_BoxesStatus() {\r\n //console.log('init_BoxesStatus..');\r\n\r\n let data = await GetBoxesStatusAndCredentials();\r\n let _data = data.split('|');\r\n if (_data.length >= 2) {\r\n BoxesStatus = _data[0];\r\n CustomerCredentials = _data[1];\r\n console.log('BoxesStatus', BoxesStatus);\r\n console.log('CustomerCredentials', CustomerCredentials);\r\n }\r\n}\r\n\r\nasync function goThankYouPage() {\r\n console.log('goThankYouPage...');\r\n CurrentPage = 'ThankYouPage';\r\n CountDown = 10;\r\n\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { thankYouPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n let img = `/locker/img/Background.png?rnd=34901162`;\r\n document.getElementById('thankYou').src = img;\r\n\r\n await doOpenBox(SelectedBox);\r\n}\r\n\r\nconst doExpireTimer = async () => {\r\n const ExpireTime = 22; //hour 0 - 23,20\r\n const now = new Date();\r\n const isoString = now.toISOString();\r\n const today = isoString.substr(0, 10);\r\n const hour = now.getHours();\r\n console.log(\"doExpireTimer\", isoString, `${hour}---${ExpireTime}`);\r\n\r\n try {\r\n const pre_today = localStorage.getItem('boxExpired');\r\n console.log(\"pre_today\", pre_today);\r\n //await dotnetJSConsole('JsConsole:' + KioskId, \"doExpireTimer\", isoString, `${today}---${pre_today}`, `${hour}---${ExpireTime}`, null)\r\n\r\n if (hour >= ExpireTime && (pre_today == null || today != pre_today)) {\r\n let result = [];\r\n let rec = {};\r\n const boxStatus = localStorage.getItem('boxStatus').split(',');\r\n const boxMobile = localStorage.getItem('boxMobile').split(',');\r\n console.log(\"==> boxExpired handling\", boxStatus, '|', boxMobile);\r\n localStorage.setItem('boxExpired', today);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"doExpireTimer reached\", localStorage.getItem('boxStatus'), localStorage.getItem('boxMobile'), null, null)\r\n\r\n for (let i = 0; i < 10; i++) {\r\n if (boxStatus[i] != '' && boxMobile[i] != '') {\r\n console.log(\"box occupied\", i, boxMobile[i]);\r\n //rec = { \"visitorNumber\": boxMobile[i], \"lockerCode\": (i+1).toString().padStart(2, '0') };\r\n rec = { \"visitorNumber\": boxMobile[i], \"lockerCode\": (i+1).toString() };\r\n result.push(rec);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorNumber\", boxMobile[i], (i + 1).toString(), null, null)\r\n }\r\n }\r\n if (result.length > 0) {\r\n console.log('result', result);\r\n console.log('result', JSON.stringify(result));\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorExpiredCallback start\", JSON.stringify(result), null, null, null)\r\n const res = await visitorExpiredCallback(result);\r\n\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"visitorExpiredCallback end\", 'end2', null, null, null)\r\n }\r\n\r\n }\r\n }\r\n catch (ex) {\r\n console.log('doExpireTimer ex:', ex);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"doExpireTimer ex\", ex.message, null, null, null)\r\n localStorage.setItem('boxExpired', today);\r\n }\r\n\r\n if (expiredTimerId != null) clearTimeout(expiredTimerId);\r\n expiredTimerId = setTimeout(() => {\r\n doExpireTimer();\r\n }, 240000);\r\n}\r\n\r\nasync function goHomePage() {\r\n BoxesStatus=localStorage.getItem('boxStatus');\r\n const boxMobile = localStorage.getItem('boxMobile');\r\n console.log('goHomePage...', HandicappedMode, OperationMode, keylist, BoxesStatus, boxMobile);\r\n //console.log('csLockControlResponse:', csLockControlResponse);\r\n await dotnetJSConsole('JsConsole:' + KioskId, \"goHomePage\", keylist, BoxesStatus, boxMobile, null)\r\n\r\n CurrentPage = 'HomePage';\r\n\r\n //@@hf\r\n //await monitorBoxStatus();\r\n checkIfDoorOpenCount = 9999;\r\n checkIfDoorCloseCount = 9999;\r\n collectCheckIfDoorCloseCount = 9999;\r\n courierStep = 9999;\r\n await delay(1);\r\n checkIfDoorOpenCount = 9999;\r\n checkIfDoorCloseCount = 9999;\r\n collectCheckIfDoorCloseCount = 9999;\r\n courierStep = 9999;\r\n ReOpenMode = false;\r\n QrcodeRunMode = false;\r\n HandicappedMode = false;\r\n focusInputActive = false;\r\n\r\n //window.location.reload()\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { homePage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n document.getElementById('HomePage').style = 'visibility:visbile';\r\n //document.getElementById('Countdown').style = 'visibility:hidden';\r\n CountDown = 0;\r\n\r\n const boxStatus = BoxesStatus.split(',');\r\n console.log('BoxStatus', BoxesStatus);\r\n let count = 0;\r\n for (let i = 0; i < 10; i++) {\r\n if (boxStatus[i] == '') count++;\r\n }\r\n console.log('remainBoxCount', count);\r\n document.getElementById('remainBoxCount').innerHTML=`${count}`;\r\n\r\n //read temperature\r\n //{\r\n // let msg1 = await readSingleControlTempSensor(1);\r\n // let msg2 = await readSingleControlTempSensor(2);\r\n // console.log('temperature11:', msg1);\r\n // console.log('temperature12:', msg2);\r\n //}\r\n //{\r\n // let msg1 = await readSingleDefrostTempSensor(1);\r\n // let msg2 = await readSingleDefrostTempSensor(2);\r\n // console.log('temperature21:', msg1);\r\n // console.log('temperature22:', msg2);\r\n //}\r\n //{\r\n // let msg1 = await readSingleCompressorTempSensor(1);\r\n // let msg2 = await readSingleCompressorTempSensor(2);\r\n // console.log('temperature31:', msg1);\r\n // console.log('temperature32:', msg2);\r\n //}\r\n //{\r\n // let msg1 = await readSingleDisplayTempSensor(1);\r\n // let msg2 = await readSingleDisplayTempSensor(2);\r\n // console.log('temperature41:', msg1);\r\n // console.log('temperature42:', msg2);\r\n //}\r\n //{\r\n // let msg1 = await readSingleStatusTempSensor(1);\r\n // let msg2 = await readSingleStatusTempSensor(2);\r\n // console.log('temperature61:', msg1);\r\n // console.log('temperature62:', msg2);\r\n //}\r\n //{\r\n // let msg1 = await readSingleAlarmTempSensor(1);\r\n // let msg2 = await readSingleAlarmTempSensor(2);\r\n // console.log('temperature81:', msg1);\r\n // console.log('temperature82:', msg2);\r\n //}\r\n\r\n // if (document.getElementById('lblRefriTemp') != null)\r\n // {\r\n //document.getElementById('lblRefriTemp').innerHTML = `${msg1}, ${msg2}, ${msg3}`;\r\n // document.getElementById('lblRefriTemp').innerHTML = `${msg1}, ${msg2}`;\r\n // }\r\n\r\n}\r\n\r\n//LoginPage\r\nvar Credentials = '';\r\nvar BoxNo = 0;\r\n\r\nasync function init_LoginPage() {\r\n console.log('LoginPage init..');\r\n\r\n keylist = '';\r\n focusInputActive = true;\r\n pcfocusInput();\r\n\r\n document.getElementById('Countdown').style = 'visibility:visible';\r\n CountDown = 60;\r\n\r\n}\r\n\r\nasync function redefine_console() {\r\n (function () {\r\n var _log = console.log;\r\n var _error = console.error;\r\n var _warning = console.warning;\r\n\r\n console.error = function (errMessage) {\r\n // Do something with the error message\r\n _error.apply(console, arguments);\r\n };\r\n\r\n console.log = async function (logMessage) {\r\n // Do something with the log message\r\n let isObject = false;\r\n for (let i = 0; i < 5; i++) {\r\n if (typeof (arguments[i]) == 'object') {\r\n isObject = true;\r\n }\r\n }\r\n if (!isObject) {\r\n await dotnetJSConsole('JsConsole:' + KioskId, arguments[0], arguments[1], arguments[2], arguments[3], arguments[4])\r\n }\r\n //if (arguments.length > 0) {\r\n // arguments[0] = 'log:' + arguments[0];\r\n //}\r\n _log.apply(console, arguments);\r\n };\r\n\r\n console.warning = function (warnMessage) {\r\n // do something with the warn message\r\n _warning.apply(console, arguments);\r\n };\r\n\r\n })();\r\n //Then redefine the old console\r\n console.log('redefine console');\r\n //window.console = console;\r\n}\r\n\r\nasync function pcClickPress(event) {\r\n if (event.keyCode == 13) {\r\n let pc = document.getElementById('loginPasscode');\r\n if (pc != null) {\r\n keylist = pc.value;\r\n console.log('Input evt got', keylist);\r\n document.getElementById('loginPasscode').value = '';\r\n\r\n doCollect();\r\n }\r\n }\r\n}\r\n\r\nfunction pcfocusInput() {\r\n //@hf\r\n //console.log('pcfocusInput')\r\n let tno = document.getElementById('loginPasscode');\r\n if (tno != null)\r\n tno.focus();\r\n if (focusInputActive) {\r\n if (pcfocusInputTimerId != null) clearTimeout(pcfocusInputTimerId);\r\n pcfocusInputTimerId=setTimeout(pcfocusInput, 1000);\r\n }\r\n}\r\n\r\n\r\nfunction keyPad(num) {\r\n// console.log('keyPad', num)\r\n let keylist_len;\r\n let totalNo = 8;\r\n if (num < 10) {\r\n if (keylist.length < totalNo)\r\n keylist += '' + num;\r\n } else {\r\n keylist = keylist.substr(0, keylist.length - 1);\r\n }\r\n keylist_len = keylist.length;\r\n if (keylist.length >= totalNo)\r\n keylist_len = totalNo;\r\n //console.log(num, keylist, keylist_len);\r\n for (let i = 1; i <= keylist_len; i++) {\r\n //@hfttt\r\n// $('#key' + i).text(keylist[i - 1]);\r\n document.getElementById(\"key\" + i).innerHTML = keylist[i - 1];\r\n }\r\n if (keylist_len >= 0 && keylist_len < totalNo) {\r\n //console.log('X', keylist_len)\r\n for (let i = keylist_len + 1; i <= totalNo; i++) {\r\n// $('#key' + i).text('');\r\n document.getElementById(\"key\" + i).innerHTML = '';\r\n }\r\n }\r\n}\r\n\r\nfunction clearKeyPad() {\r\n for (let i = 1; i <= 8; i++) {\r\n let elem = document.getElementById(\"key\" + i);\r\n if(elem!=null)\r\n elem.innerHTML = '';\r\n }\r\n}\r\n\r\nfunction doCollect() {\r\n doCollect2(CourierPassword);\r\n}\r\n\r\nfunction collectBoxNum(num) {\r\n console.log('collectBoxNum', num)\r\n}\r\n\r\nfunction doCollectBlink(boxNo) {\r\n console.log('doCollectBlink...', boxNo);\r\n}\r\n\r\nfunction doCollectRemoveBlink(boxNo) {\r\n let cb = document.getElementById('collectBlink' + boxNo);\r\n //console.log('doCollectRemoveBlink', boxNo, cb);\r\n if (cb != null) {\r\n // cb.classList.remove('blinking');\r\n //cb.style.backgroundColor = 'grey';\r\n cb.style.backgroundImage = '';\r\n }\r\n\r\n}\r\n\r\n\r\n//HomePage\r\nfunction doCountdown() {\r\n let countDownObj = document.getElementById('Countdown');\r\n //@hf\r\n //console.log('CountDown:', CountDown, CurrentPage, OperationMode);\r\n\r\n if (countDownObj != null) {\r\n countDownObj.style = 'position:absolute;left:78rem;top:37rem;width:12rem;font-size:5rem;color:grey;';\r\n\r\n CountDown--;\r\n if (CountDown <= 0) {\r\n countDownObj.innerHTML = '';\r\n }\r\n else {\r\n countDownObj.innerHTML = CountDown;\r\n }\r\n\r\n if (CountDown > 0) {\r\n //setTimeout(doCountdown, 1000);\r\n }\r\n else {\r\n if (CurrentPage == 'CollectPage' && OperationMode == 'staffDeliver') {\r\n goReopenPage();\r\n }\r\n else if (CurrentPage == 'ReopenPage') {\r\n goThankYouPage();\r\n }\r\n else if (CurrentPage == 'HomePage') {\r\n //read temperature\r\n // let msg1 = await readSingleDisplayTempSensor(1);\r\n // let msg2 = await readSingleDisplayTempSensor(2);\r\n // let msg3 = await readSingleDisplayTempSensor(3);\r\n\r\n //do it afer idle 60s\r\n //console.log('countdown done', CurrentPage, CountDown);\r\n if (CountDown == -40) {\r\n //monitorTemperature();\r\n }\r\n if (CountDown == -52) {\r\n //monitorControlStatus();\r\n }\r\n if (CountDown == -54) {\r\n //monitorAlarm();\r\n }\r\n if (CountDown <= -60 && CountDown >= -60 - TotalBoxes) {\r\n //monitorBoxStatus();\r\n }\r\n\r\n //repeat afer idle 180s\r\n if (CountDown <= -900) {\r\n console.log('HomePage update server', CountDown);\r\n CountDown = 0;\r\n }\r\n }\r\n else if (CurrentPage == 'NonActivePage') {\r\n console.log('NonActivePage');\r\n }\r\n else {\r\n goHomePage();\r\n }\r\n }\r\n }\r\n\r\n if (countdownTimerId != null) clearTimeout(countdownTimerId);\r\n countdownTimerId=setTimeout('doCountdown()', 1000);\r\n\r\n}\r\n\r\nasync function monitorTemperature() {\r\n //let val11 = await readSingleControlTempSensor(1);\r\n //let val12 = await readSingleControlTempSensor(2);\r\n\r\n //let val21 = await readSingleDefrostTempSensor(1);\r\n //let val22 = await readSingleDefrostTempSensor(2);\r\n\r\n //let val31 = await readSingleCompressorTempSensor(1);\r\n //let val32 = await readSingleCompressorTempSensor(2);\r\n\r\n let val41 = await readSingleDisplayTempSensor(1);\r\n let val42 = await readSingleDisplayTempSensor(2);\r\n\r\n //let val51 = await readSingleLoopTempSensor(1);\r\n //let val52 = await readSingleLoopTempSensor(2);\r\n\r\n //MonitorData.temperature = `${val11},${val12};${val21},${val22};${val31},${val32};${val41},${val42};${val51},${val52}`;\r\n MonitorData.temperature = `${val41},${val42}`;\r\n}\r\n\r\nasync function monitorControlStatus() {\r\n let val1 = await readSingleStatusTempSensor(1);\r\n let val2 = await readSingleStatusTempSensor(2);\r\n MonitorData.control_status = `${val1},${val2}`;\r\n}\r\n\r\nasync function monitorAlarm() {\r\n let val1 = await readSingleAlarmTempSensor(1);\r\n let val2 = await readSingleAlarmTempSensor(2);\r\n MonitorData.alarm = `${val1},${val2}`;\r\n}\r\n\r\nasync function monitorBoxStatus() {\r\n console.log('monitorBoxStatus', CountDown, TotalBoxes, doorAlertIndex, doorAlertCancel);\r\n\r\n if (doorAlertIndex == TotalBoxes) {\r\n doorAlertIndex = 0;\r\n let statuslist = [];\r\n for (let i = 0; i < TotalBoxes; i++) {\r\n statuslist.push(doorStatus[i]);\r\n }\r\n MonitorData.status = statuslist.join(',');\r\n console.log('monitorBoxStatus complete', MonitorData.status);\r\n\r\n UpdateMonitorData();\r\n }\r\n else if (doorAlertIndex < TotalBoxes) {\r\n await checkDoorAlert();\r\n doorAlertIndex++;\r\n }\r\n\r\n}\r\n\r\nasync function checkDoorAlert() {\r\n await readDoorAlert(doorAlertIndex + 1);\r\n\r\n for (let j = 0; j <= 10; j++) {\r\n console.log('readAllDoorStatus', csLockControlResponse);\r\n if (csLockControlResponse != '') break;\r\n wait(60);\r\n }\r\n if (csLockControlResponse.length == 14) {\r\n let state = csLockControlResponse.substr(8, 2);\r\n //console.log('state2', state);\r\n //0:normal\r\n if (parseInt(state, 16) != 0x00) {\r\n console.log('checkDoorAlert error');\r\n doorStatus[doorAlertIndex] = 'malfunction';\r\n }\r\n else {\r\n doorStatus[doorAlertIndex] = '';\r\n }\r\n }\r\n else {\r\n console.log('checkDoorAlert comm error');\r\n doorStatus[doorAlertIndex] = 'hw_error';\r\n }\r\n\r\n}\r\n\r\nasync function ImportNewOrders() {\r\n let url = `/locker/api/v1/importNewOrders?kiosk_id=${KioskId}`;\r\n let response = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n // let res = await response.text();\r\n\r\n console.log('ImportNewOrders response', response.ok);\r\n\r\n}\r\n\r\nasync function UpdateMonitorData() {\r\n //let data = {\r\n // kiosk_id: KioskId,\r\n // status: status,\r\n // temperature: temperature,\r\n // controlStatus: controlStatus,\r\n // alarm: alarm\r\n //};\r\n let response = await fetch('/locker/api/v1/updateMonitorData', {\r\n method: 'POST',\r\n body: JSON.stringify(MonitorData),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n //console.log('UpdateMonitorData response', response.ok);\r\n\r\n}\r\n\r\n\r\nasync function ___dotnetJSConsole(header, arg1, arg2, arg3, arg4, arg5) {\r\n try {\r\n //console.debug(typeof (arg1), typeof (arg2), typeof (arg3), typeof (arg4), typeof (arg5))\r\n let data = {\r\n header: header,\r\n arg1: arg1,\r\n arg2: arg2,\r\n arg3: arg3,\r\n arg4: arg4,\r\n arg5: arg5,\r\n };\r\n let response = await fetch('/locker/api/v1/dotnetJSConsole', {\r\n method: 'POST',\r\n body: JSON.stringify(data),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n });\r\n //console.log('response', response.ok);\r\n }\r\n catch (ex) {\r\n let xx = 1;\r\n }\r\n}\r\n\r\nfunction dotnetJSConsole(header, arg1, arg2, arg3, arg4, arg5) {\r\n const url = `/locker/api/v1/dotnetJSConsole`;\r\n// let data = `header:${header},${arg1},${arg2},${arg3},${arg4},${arg5}`; \r\n let data = {\r\n header: header,\r\n arg1: arg1,\r\n arg2: arg2,\r\n arg3: arg3,\r\n arg4: arg4,\r\n arg5: arg5,\r\n };\r\n\r\n return new Promise(function (resolve) {\r\n const xhttp = new XMLHttpRequest();\r\n xhttp.timeout = 2000;\r\n\r\n xhttp.onreadystatechange = function () {\r\n console.log('networktest23', this.readyState, this.status);\r\n if (this.readyState == 4) { // && this.status == 200\r\n try {\r\n //console.log('responseText', this.responseText, typeof (this.responseText));\r\n try {\r\n const res = this.responseText;\r\n resolve(res);\r\n } catch (err) {\r\n resolve({ code: -1, msg: 'Network issue7' });\r\n }\r\n } catch (error) {\r\n resolve({ code: 1, msg: 'Error! Please retry.' });\r\n }\r\n }\r\n };\r\n xhttp.open(\"POST\", url);\r\n xhttp.setRequestHeader(\"Content-Type\", \"application/json\");\r\n xhttp.send(JSON.stringify(data));\r\n });\r\n}\r\n\r\n\r\n\r\nfunction reloadPage() {\r\n console.log('reloadPage');\r\n window.location.reload()\r\n}\r\n\r\nfunction renderHello1() {\r\n console.log('home...')\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { loginPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n}\r\n\r\nfunction doMyTest1() {\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { collectPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n}\r\n\r\nfunction doMyTest2() {\r\n // doOpenBox(num);\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { courierModePage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n\r\n for (let i = 0; i < CourierReservedState.length; i++) {\r\n CourierReservedState[i] = false;\r\n CourierExpiredState[i] = false;\r\n }\r\n setTimeout(function () { courierInit(); }, 200);\r\n //await courierInit();\r\n}\r\n\r\nfunction doMyTest3() {\r\n //let response = await fetch('http:localhost:8000/t1.html', {\r\n // method: 'GET',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // },\r\n //});\r\n\r\n //console.log('response', response);\r\n\r\n window.location.href = 'http://127.0.0.1:12345';\r\n}\r\n\r\nfunction doMyTest4() {\r\n var template = document.getElementById('homeTemplate').innerHTML;\r\n var rendered = Mustache.render(template, { reopenPage: 'visible' });\r\n document.getElementById('target').innerHTML = rendered;\r\n}\r\n\r\nfunction readRefriCommStatusTest() {\r\n readRefriCommStatus(1);\r\n}\r\n\r\nfunction readBoardCommStatusTest() {\r\n readBoardCommStatus(1);\r\n}\r\n\r\n//0104020018b93a\r\nfunction doTempTest1() {\r\n readTempSensor(1, 1);\r\n}\r\n\r\n//0104020012393d\r\nfunction doTempTest2() {\r\n readTempSensor(1, 2);\r\n}\r\n\r\n//0104020024b92b\r\nfunction doTempTest3() {\r\n readTempSensor(1, 3);\r\n}\r\n\r\n//010402001a38fb\r\nfunction doTempTest4() {\r\n //readTempSensor(1, 4);\r\n readSingleDisplayTempSensor(1)\r\n}\r\n\r\n//0104020000b930\r\nfunction doTempTest5() {\r\n const start = performance.now();\r\n console.log('start', start)\r\n readTempSensor(1, 8);\r\n const duration = performance.now() - start;\r\n console.log('dur', duration)\r\n}\r\n\r\nfunction goHotline() {\r\n console.log('goHotline')\r\n let img = `/locker/img/${SelectedLang}/hotline.png?rnd=34901162`;\r\n document.getElementById('hotline').src = img;\r\n\r\n hotlineModal = document.getElementById(\"hotlineModal\");\r\n hotlineModal.style.display = \"block\";\r\n hotlineModalTimer = setTimeout(\"hotlineModal.style.display = 'none'\", 10000);\r\n}\r\n\r\nfunction enableClearAuto() {\r\n let eca = hotlineModal = document.getElementById(\"enableClearAuto\");\r\n if (eca != null)\r\n eca.style.visibility = \"visible\";\r\n}\r\n\r\n\r\nfunction toggleHandicapped() {\r\n console.log('HandicappedMode*', HandicappedMode);\r\n let hc = document.getElementById(\"HandicappedInfo\");\r\n if (hc != null) {\r\n if (HandicappedMode) {\r\n hc.style.visibility = \"hidden\";\r\n HandicappedMode = false;\r\n } else {\r\n hc.style.visibility = \"visible\";\r\n HandicappedMode = true;\r\n }\r\n }\r\n}\r\n\r\n//simple-keyboard\r\nconsole.log(\"keyboard start...\");\r\n\r\nlet keyboard;\r\n\r\n\r\nfunction init_keyboard() {\r\n console.log(\"init_keyboard\");\r\n let Keyboard = window.SimpleKeyboard.default;\r\n\r\n keyboard = new Keyboard({\r\n onChange: input => onChange(input),\r\n onKeyPress: button => onKeyPress(button)\r\n });\r\n\r\n /**\r\n * Update simple-keyboard when input is changed directly\r\n */\r\n document.querySelector(\".input\").addEventListener(\"input\", event => {\r\n keyboard.setInput(event.target.value);\r\n });\r\n\r\n console.log('keyboard',keyboard);\r\n}\r\n\r\nfunction onChange(input) {\r\n document.querySelector(\".input\").value = input;\r\n console.log(\"Input changed\", input);\r\n}\r\n\r\nfunction onKeyPress(button) {\r\n console.log(\"Button pressed\", button);\r\n\r\n /**\r\n * If you want to handle the shift and caps lock buttons\r\n */\r\n if (button === \"{shift}\" || button === \"{lock}\") handleShift();\r\n}\r\n\r\nfunction handleShift() {\r\n let currentLayout = keyboard.options.layoutName;\r\n let shiftToggle = currentLayout === \"default\" ? \"shift\" : \"default\";\r\n\r\n keyboard.setOptions({\r\n layoutName: shiftToggle\r\n });\r\n}\r\n\r\n\r\n"],"mappings":"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"}