vue-zpl-img
Version:
One can render based on VUE, which can generate IMG and ZPL print instructions from local HTML templates CSS templates
1 lines • 21.8 kB
JavaScript
/*code by blackpanda*/import _0x512c49 from'vue';import _0x541f3d from'html2canvas';import _0x50f7f8 from'qrcode';import _0x12e9cd from'pako';import _0x45f067 from'axios';export default function (Params){const debuggerLog=![];const _InitParams={'PostOpts':Params['PostOpts']?Params['PostOpts']:{},'HTMLOpts':Params['HTMLOpts']?Params['HTMLOpts']:{},'PrinterOpts':Params['PrinterOpts']?Params['PrinterOpts']:{},'printData':Params['printData']?Params['printData']:[],'_CallBackBase64':Params['_CallBackBase64']?Params['_CallBackBase64']:[],'_CallBackZPL':Params['_CallBackZPL']?Params['_CallBackZPL']:[],'_CallPressor':Params['_CallPressor']?Params['_CallPressor']:{'Value':0x0,'CountSum':0x0,'Count':0x0},'CallBackFunction':Params['CallBackFunction']?Params['CallBackFunction']:()=>{}};if(CheckParm(_InitParams)==![]){throw'参数错误';}let QRcodeParm='';let cssData='';let htmlData='';let _InitPrinterOpts={'blackAndWhite':0x32,'rotate':'N','notrim':![],'qrcodeScale':0.8,'DPI':0x12c,'paddingX':0x0,'paddingY':0x0,'PrinterIP':undefined,'PageWidth':0x0,'PageHeight':0x0};let PrinterIP=undefined;let TemplateName='';let axios=null;let PostURL='';let printData=Params['printData']?Params['printData']:[];let _CallBackBase64=Params['_CallBackBase64']?Params['_CallBackBase64']:[];let _CallBackZPL=Params['_CallBackZPL']?Params['_CallBackZPL']:[];let _CallPressor=Params['_CallPressor']?Params['_CallPressor']:{'Value':0x0,'CountSum':0x0,'Count':0x0};let CallBackFunction=Params['CallBackFunction']?Params['CallBackFunction']:()=>{};let CallBackBase64=[];let CallBackZPL=[];let iframe=null;let _ThisDocument=null;if(Params['PostOpts']){let PostOpts=Params['PostOpts'];TemplateName=PostOpts['TemplateName'];axios=PostOpts['axios'];PostURL=PostOpts['PostURL'];}if(Params['HTMLOpts']){let HTMLOpts=Params['HTMLOpts'];cssData=HTMLOpts['CSS'];htmlData=HTMLOpts['HTML'];QRcodeParm=HTMLOpts['QRcodeParm'];}if(Params['PrinterOpts']){let PrinterOpts=Params['PrinterOpts'];_InitPrinterOpts={'blackAndWhite':PrinterOpts['blackAndWhite']?PrinterOpts['blackAndWhite']:0xbf654^0xbf666,'rotate':PrinterOpts['rotate']?PrinterOpts['rotate']:'N','notrim':PrinterOpts['notrim']?PrinterOpts['notrim']:![],'qrcodeScale':PrinterOpts['qrcodeScale']?PrinterOpts['qrcodeScale']:0.8,'DPI':PrinterOpts['DPI']?PrinterOpts['DPI']:0xac226^0xac30a,'paddingX':PrinterOpts['paddingX']?PrinterOpts['paddingX']:0x24143^0x24143,'paddingY':PrinterOpts['paddingY']?PrinterOpts['paddingY']:0xde62c^0xde62c,'PageWidth':PrinterOpts['PageWidth']?PrinterOpts['PageWidth']:0x77e01^0x77e01,'PageHeight':PrinterOpts['PageHeight']?PrinterOpts['PageHeight']:0x46767^0x46767,'PrinterIP':PrinterOpts['PrinterIP']?PrinterOpts['PrinterIP']:undefined};PrinterIP=_InitPrinterOpts['PrinterIP'];}Params['printData']&&_CallPressor['CountSum']!=undefined&&(_CallPressor['CountSum']+=Params['printData']['length']);console['log']('_CallPressor.CountSum',_CallPressor['CountSum']);if(Params['HTMLOpts']){VZPL_HTML();}else{getHTMLandCSS();}function getHTMLandCSS(){axios({'method':'post','url':''+PostURL,'data':{'TemplateName':TemplateName},'timeout':0x7530})['then'](res=>{QRcodeParm=res['data']['Data']['QRCodeColumn'];cssData=res['data']['Data']['CssStyle'];htmlData=res['data']['Data']['DomRenter'];_InitPrinterOpts['PageHeight']=res['data']['Data']['frxModelPrintHeight'];_InitPrinterOpts['PageWidth']=res['data']['Data']['frxModelPrintWidth'];VZPL_HTML();})['catch'](()=>{colorLog(0x540cd^0x540c9);});}function VZPL_HTML(){if(PrinterIP==undefined){colorLog(0xd2c68^0xd2c6e);}CreatiframeDom();CreatNewVueDom();function CreatiframeDom(){let DPIMoM=_InitPrinterOpts['DPI']?_InitPrinterOpts['DPI']/(0x2b9b3^0x2b9d3):0x1;htmlData='<div\x20ref=\x22printDom\x22\x20id=\x22_printbox\x22\x20style=\x22\x20background:\x20#fff;\x20position:\x20fixed;\x20top:\x20-99999rem;\x20transform:\x20scale('+DPIMoM+');\x22>'+htmlData+'</div>';iframe=document['getElementById']('app')['appendChild'](document['createElement']('iframe'));iframe['style']['width']='400rem';iframe['style']['height']='400rem';iframe['style']['position']='fixed';iframe['style']['top']='-99999rem';_ThisDocument=iframe['contentDocument'];let style=_ThisDocument['getElementsByTagName']('head')[0x0]['appendChild'](_ThisDocument['createElement']('style'));style['id']='printDomCSS';style['innerHTML']=cssData;let qrcode=_ThisDocument['getElementsByTagName']('body')[0xb7704^0xb7704]['appendChild'](_ThisDocument['createElement']('div'));qrcode['id']='qrcode';qrcode['style']['position']='fixed';qrcode['style']['display']='none';let printbox=_ThisDocument['getElementsByTagName']('body')[0x361d5^0x361d5]['appendChild'](_ThisDocument['createElement']('div'));printbox['id']='printbox';}function CreatNewVueDom(){let ProfileObject=null;var Profile=_0x512c49['extend']({'template':htmlData,'name':'RenterPrintBox','data':function(){return{'Table':{},'QRcodeParm':QRcodeParm,'QRcodeBase64':'','QRcodeDomPoint':null,'nowDate':new Date()};},'mounted'(){console['log']('other\x20mounted');},'methods':{async 'getQRcodeBase64'(QRCODE_TEXT){if(!_ThisDocument['getElementById']('QRcodeDom')){return{'src':'','QRcodeDOMwidth':0x0,'QRcodeDOMheight':0x0};}let QRcodeDOMwidth=_ThisDocument['getElementById']('QRcodeDom')['offsetWidth'];let QRcodeDOMheight=_ThisDocument['getElementById']('QRcodeDom')['offsetHeight'];if(debuggerLog){console['log']('QRcodeDOMwidth',QRcodeDOMwidth,'QRcodeDOMheight',QRcodeDOMheight);}var opts={'errorCorrectionLevel':'H','type':'image/jpeg','margin':_InitPrinterOpts['qrcodeScale'],'width':QRcodeDOMwidth};let src=await _0x50f7f8['toDataURL'](QRCODE_TEXT,opts);return{'src':src,'QRcodeDOMwidth':QRcodeDOMwidth,'QRcodeDOMheight':QRcodeDOMheight};},'destroyAllDom'(){console['log']('摧毁');if(debuggerLog){console['log'](ProfileObject);}else{setTimeout(()=>{ProfileObject['$destroy']();iframe['remove']();},0xc7f81^0xc7c69);}}},'destroyed'(){console['log']('other\x20destroyed');ProfileObject=null;CallBackFunction({'CallBackBase64':CallBackBase64,'CallBackZPL':CallBackZPL});}});ProfileObject=new Profile()['$mount']();_ThisDocument['getElementById']('printbox')['appendChild'](ProfileObject['$el']);DoLoopRenterPrintBox(ProfileObject);}}async function DoLoopRenterPrintBox(_this){if(printData['length']<=(0x84cb8^0x84cb8)){colorLog(0x2);console['log']('总数',_CallBackBase64,'ZPL64转义结束用时',(new Date()['getTime']()-_this['nowDate']['getTime']())/(0x614e0^0x61708)+'秒');_this['destroyAllDom']();return;}const item=printData[0x4b644^0x4b644];_this['Table']=item;let res=await _this['getQRcodeBase64'](item[_this['QRcodeParm']]);_ThisDocument['getElementById']('QRcodeDom')['innerHTML']='<img\x20style=\x22width:100%;\x22\x20id=\x22QRcodeDom\x22\x20src=\x22'+res['src']+'\x22>';_this['$forceUpdate']();_this['$nextTick'](()=>{let printbox=_ThisDocument['getElementById']('_printbox');_0x541f3d(printbox,{'useCORS':!![]})['then'](function(canvas){let cvs2=document['createElement']('canvas');cvs2['width']=canvas['width'];let aspectRatio=_InitPrinterOpts['PageHeight']&&_InitPrinterOpts['PageWidth']?_InitPrinterOpts['PageHeight']/_InitPrinterOpts['PageWidth']:0x0;cvs2['height']=aspectRatio?canvas['width']*aspectRatio:canvas['height'];let ctx2=cvs2['getContext']('2d');ctx2['drawImage'](canvas,0x0,0x0,canvas['width'],cvs2['height']);canvas=cvs2;ctx2=null;let imgUrl=canvas['toDataURL']('image/jpeg',0xae1b8^0xae1b9);let blackAndWhite=_InitPrinterOpts['blackAndWhite'];let rotate=_InitPrinterOpts['rotate'];let paddingX=_InitPrinterOpts['paddingX'];let paddingY=_InitPrinterOpts['paddingY'];let notrim=_InitPrinterOpts['notrim'];let ZPL64=Base64ToZPL(canvas,blackAndWhite,rotate,notrim,paddingX,paddingY);_CallBackZPL['push'](ZPL64);CallBackZPL['push'](ZPL64);_CallBackBase64['push'](imgUrl['replace']('data:image/jpeg;base64,',''));CallBackBase64['push'](imgUrl['replace']('data:image/jpeg;base64,',''));printData['shift']();DoLoopRenterPrintBox(_this);});});}function CheckParm(Params){if(!Params['PostOpts']&&!Params['HTMLOpts']){console['error']('参数错误,必须传入PostOpts或HTMLOpts');return![];}if(typeof Params['PostOpts']!='object'){console['error']('参数错误,PostOpts必须为对象');return![];}if(typeof Params['HTMLOpts']!='object'){console['error']('参数错误,HTMLOpts必须为对象');return![];}if(typeof Params['PrinterOpts']!='object'){console['error']('参数错误,PrinterOpts必须为对象');return![];}if(!Array['isArray'](Params['printData'])){console['error']('参数错误,printData必须为数组');return![];}if(!Array['isArray'](Params['_CallBackBase64'])){console['error']('_CallBackBase64\x20参数类型错误');return![];}if(!Array['isArray'](Params['_CallBackZPL'])){console['error']('_CallBackZPL\x20参数类型错误');return![];}if(typeof Params['_CallPressor']!=='object'){console['error']('_CallPressor\x20参数类型错误');return![];}if(typeof Params['CallBackFunction']!=='function'){console['error']('CallBackFunction\x20参数类型错误');return![];}if(Object['keys'](Params['PostOpts'])['length']>0x0){let PostOpts=Params['PostOpts'];if(!PostOpts['TemplateName']||!PostOpts['axios']||!PostOpts['PostURL']){console['error']('参数错误,PostOptsa必须传入TemplateName,_PrintIP,axios,PostURL');}if(typeof PostOpts['TemplateName']!='string'){console['log']('参数错误,PostOpts.TemplateName传入的类型不是字符串');}if(typeof PostOpts['axios']!='function'){console['log']('参数错误,PostOpts.axios传入的类型不是函数');}if(typeof PostOpts['PostURL']!='string'){console['log']('参数错误,PostOpts.PostURL传入的类型不是字符串');}}else if(Object['keys'](Params['HTMLOpts'])['length']>(0x18832^0x18832)){let HTMLOpts=Params['HTMLOpts'];if(typeof HTMLOpts['CSS']!='string'){console['log']('参数错误,HTMLOpts.CSS传入的类型不是字符串');}if(typeof HTMLOpts['HTML']!='string'){console['log']('参数错误,HTMLOpts.HTML传入的类型不是字符串');}if(typeof HTMLOpts['QRcodeParm']!='string'){console['log']('参数错误,HTMLOpts.QRcodeParm传入的类型不是字符串');}}return!![];}function setTwoDimensionalArray(list){const listResult=[];let ArrayLen;if(list['length']%0x4==0x0){ArrayLen=list['length']/0x4;console['log']('ArrayLen',ArrayLen);}else{ArrayLen=(list['length']-list['length']%(0x2afa1^0x2afa2))/0x3;console['log']('ArrayLen',ArrayLen);}for(let i=0x0;i<Math['ceil'](list['length']/ArrayLen);i++){listResult[i]=[];for(let j=0x0;j<ArrayLen;j++){if(i===Math['ceil'](list['length']/ArrayLen)-(0xf3563^0xf3562)){if(Math['ceil'](list['length']%ArrayLen)!==0x0){if(j<Math['ceil'](list['length']%ArrayLen)){listResult[i][j]=list[i*ArrayLen+j];}}else{listResult[i][j]=list[i*ArrayLen+j];}}else{listResult[i][j]=list[i*ArrayLen+j];}}}return listResult;}function Base64ToZPL(cvs,black,rot,notrim,paddingX,paddingY){let res=canvasToZ64(cvs,{'black':black,'rotate':rot,'notrim':notrim});let ZPLstr='^XA^FX\x20'+'\x20('+res['width']+'x'+res['height']+'px,\x20'+rot+'-Rotate,\x20'+black+'%\x20Black)^FS\x0a'+'^FO'+paddingX+','+paddingY+'^GFA,'+res['length']+','+res['length']+','+res['rowlen']+','+(res['z64']||res['acs'])+'^XZ\x0a';if(PrinterIP!=undefined){if(window[PrinterIP]==undefined){window[PrinterIP]=[];}if(window[PrinterIP]['length']==(0x7aaba^0x7aaba)){window[PrinterIP]['push'](ZPLstr);send2printer(window[PrinterIP]);}else{window[PrinterIP]['push'](ZPLstr);}}return ZPLstr;}function send2printer(CallBackZPL){if((0xcd6ee^0xcd6ee)===CallBackZPL['length'])return![];colorLog(0x8878b^0x8878a);_0x45f067({'method':'post','url':PrinterIP,'data':CallBackZPL[0xadf99^0xadf99],'timeout':0x7d0,'transformRequest':[(data,headers)=>{delete headers['common']['Authorization'];delete headers['common']['registerId'];delete headers['common']['X-Requested-With'];return data;}]})['then'](()=>{console['log']('send2printer\x20success');CallBackZPL['shift']();send2printer(CallBackZPL);if(_CallPressor['Value']!=undefined){_CallPressor['Value']=++_CallPressor['Count']/_CallPressor['CountSum']*(0xe1c82^0xe1ce6);}})['catch'](()=>{console['log']('send2printer\x20error');CallBackZPL['shift']();send2printer(CallBackZPL);if(_CallPressor['Value']!=undefined){_CallPressor['Value']=++_CallPressor['Count']/_CallPressor['CountSum']*0x64;}});}const zlib=typeof process=='object'&&typeof process['release']=='object'&&process['release']['name']=='node'?require('zlib'):null;function canvasToZ64(cvs,opts){let ctx=cvs['getContext']('2d');let pixels=ctx['getImageData'](0x40aa6^0x40aa6,0xa5bff^0xa5bff,cvs['width'],cvs['height']);return rgbaToZ64(pixels['data'],pixels['width'],opts);}function imageToZ64(img,opts){let cvs=_ThisDocument['createElement']('canvas');let ctx=cvs['getContext']('2d');cvs['width']=+img['width']||img['offsetWidth'];cvs['height']=+img['height']||img['offsetHeight'];ctx['imageSmoothingQuality']='high';ctx['drawImage'](img,0x0,0x0,cvs['width'],cvs['height']);let pixels=ctx['getImageData'](0xbc411^0xbc411,0x0,cvs['width'],cvs['height']);return rgbaToZ64(pixels['data'],pixels['width'],opts);}function rgbaToZ64(rgba,width,opts){opts=opts||{};width=width|0x0;if(!width||width<(0xc9795^0xc9795)){throw new Error('Invalid\x20width');}let height=~~(rgba['length']/width/0x4);let mono=monochrome(rgba,width,height,+opts['black']||0x32,opts['notrim']);let buf;switch(opts['rotate']){case'R':buf=right(mono);break;case'B':case'L':buf=left(mono);break;case'I':buf=invert(mono);break;default:buf=normal(mono);break;}let imgw=buf['width'];let imgh=buf['height'];let rowl=~~((imgw+(0xa17c7^0xa17c0))/(0x7bd36^0x7bd3e));let b64;if(zlib){b64=zlib['deflateSync'](buf)['toString']('base64');}else{b64=u8tob64(_0x12e9cd['deflate'](buf));}return{'length':buf['length'],'rowlen':rowl,'width':imgw*0x4,'height':imgh*(0x504e4^0x504e0),'z64':':Z64:'+b64+':'+crc16(b64)};}function normal(mono){let width=mono['width'];let height=mono['height'];let buf=new Uint8Array(~~((width+(0x689fb^0x689fc))/0x8)*height);let idx=0x66ecd^0x66ecd;let byte=0x0;let bitx=0x29120^0x29120;for(let i=0xb33f0^0xb33f0,n=mono['length'];i<n;i++){byte|=mono[i]<<0x7-(bitx++&(0x6f6fe^0x6f6f9));if(bitx==width||!(bitx&(0xa28a6^0xa28a1))){buf[idx++]=byte;byte=0x3080e^0x3080e;if(bitx==width){bitx=0x0;}}}buf['width']=width;buf['height']=height;return buf;}function invert(mono){let width=mono['width'];let height=mono['height'];let buf=new Uint8Array(~~((width+(0xeaf62^0xeaf65))/0x8)*height);let idx=0x59e9c^0x59e9c;let byte=0x0;let bitx=0x0;for(let i=mono['length']-0x1;i>=(0xd0e6a^0xd0e6a);i--){byte|=mono[i]<<(0x1f11c^0x1f11b)-(bitx++&0x7);if(bitx==width||!(bitx&0x7)){buf[idx++]=byte;byte=0xdd28a^0xdd28a;if(bitx==width){bitx=0x0;}}}buf['width']=width;buf['height']=height;return buf;}function left(mono){let width=mono['width'];let height=mono['height'];let buf=new Uint8Array(~~((height+0x7)/0x8)*width);let idx=0x0;let byte=0x0;for(let x=width-0x1;x>=0x0;x--){let bitx=0x0;for(let y=0x0;y<height;y++){byte|=mono[y*width+x]<<0x7-(bitx++&(0xc2ecd^0xc2eca));if(y==height-0x1||!(bitx&0x7)){buf[idx++]=byte;byte=0x0;}}}buf['width']=height;buf['height']=width;return buf;}function right(mono){let width=mono['width'];let height=mono['height'];let buf=new Uint8Array(~~((height+0x7)/0x8)*width);let idx=0xb6d87^0xb6d87;let byte=0xc148d^0xc148d;for(let x=0x0;x<width;x++){let bitx=0x0;for(let y=height-(0xd8d3d^0xd8d3c);y>=0x0;y--){byte|=mono[y*width+x]<<(0x79e19^0x79e1e)-(bitx++&(0xbce75^0xbce72));if(y==0x0||!(bitx&0x7)){buf[idx++]=byte;byte=0xa77be^0xa77be;}}}buf['width']=height;buf['height']=width;return buf;}function monochrome(rgba,width,height,black,notrim){black=(0x336fe^0x33601)*black/0x64;let minx,maxx,miny,maxy;if(notrim){minx=miny=0x0;maxx=width-(0xea9b1^0xea9b0);maxy=height-0x1;}else{maxx=maxy=0xd9845^0xd9845;minx=width;miny=height;let x=0x5d27a^0x5d27a,y=0x41992^0x41992;for(let i=0x0,n=width*height*0x4;i<n;i+=0x4){let a=rgba[i+(0xccb56^0xccb55)]/(0xea130^0xea1cf);let r=rgba[i]*0.3*a+0xff*(0x1-a);let g=rgba[i+0x1]*0.59*a+(0x59491^0x5946e)*(0x1-a);let b=rgba[i+0x2]*0.11*a+0xff*(0x1-a);let gray=r+g+b;if(gray<=black){if(minx>x)minx=x;if(miny>y)miny=y;if(maxx<x)maxx=x;if(maxy<y)maxy=y;}if(++x==width){x=0xa8322^0xa8322;y++;}}}let cx=maxx-minx+(0x80633^0x80632);let cy=maxy-miny+0x1;let buf=new Uint8Array(cx*cy);let idx=0x0;for(let y=miny;y<=maxy;y++){let i=(y*width+minx)*0x4;for(let x=minx;x<=maxx;x++){let a=rgba[i+0x3]/0xff;let r=rgba[i]*0.3*a+0xff*(0x1-a);let g=rgba[i+(0x8e0ab^0x8e0aa)]*0.59*a+(0x5b0af^0x5b050)*(0x1-a);let b=rgba[i+(0xa2e8e^0xa2e8c)]*0.11*a+0xff*(0x1-a);let gray=r+g+b;buf[idx++]=gray<=black?0x1:0x8fd75^0x8fd75;i+=0x4;}}buf['width']=cx;buf['height']=cy;return buf;}function u8tob64(a){let s='';let i=0x0;for(let l=a['length']&0xfffffff0;i<l;i+=0x10){s+=String['fromCharCode'](a[i],a[i+0x1],a[i+0x2],a[i+0x3],a[i+(0x2e976^0x2e972)],a[i+0x5],a[i+0x6],a[i+(0xc8653^0xc8654)],a[i+(0x73709^0x73701)],a[i+(0x30cbb^0x30cb2)],a[i+0xa],a[i+0xb],a[i+0xc],a[i+0xd],a[i+(0xd8ff5^0xd8ffb)],a[i+(0xc05e6^0xc05e9)]);}while(i<a['length']){s+=String['fromCharCode'](a[i++]);}return btoa(s);}const crcTable=[0xe1656^0xe1656,0x8ceec^0x8decd,0x2042,0x3063,0x4084,0x50a5,0x94a87^0x92a41,0x70e7,0x8108,0x7aa75^0x73b5c,0xa14a,0x4a777^0x4161c,0x47aa1^0x4bb2d,0xd1ad,0x27d64^0x29caa,0xf1ef,0x1231,0x210,0x3273,0x60083^0x622d1,0x30858^0x35aed,0x4294,0x72f7,0x62d6,0x7cb1c^0x75825,0x8318,0x902d6^0x9b1ad,0xa35a,0xd3bd,0x3ca4d^0x309d1,0xf3ff,0xe3de,0x2462,0x3443,0xabe0b^0xaba2b,0x1401,0xa09a8^0xa6d4e,0x74c7,0x44a4,0x5485,0xa56a,0x2aaff^0x21fb4,0x8528,0xe6fbf^0xefab6,0xe5ee,0xf5cf,0xc5ac,0xd58d,0x3653,0x2672,0xdc3fd^0xdd5ec,0x630,0x76d7,0x66f6,0xb2518^0xb738d,0x46b4,0xb75b,0x215ee^0x2b294,0x9fc5a^0x96b43,0x30641^0x38179,0xa70c3^0xa871c,0xe7fe,0xd79d,0xc7bc,0x48c4,0xe1dd6^0xe4533,0x58421^0x5eca7,0x78a7,0x840,0x1861,0x6de50^0x6f652,0x73558^0x70d7b,0xc9cc,0xd9ed,0xe98e,0xf9af,0x8948,0x9969,0xa90a,0xb92b,0x5af5,0x4ad4,0x7ab7,0x6a96,0x1a71,0xa50,0x3a33,0x2a12,0xdbfd,0xcbdc,0xfbbf,0xeb9e,0x9b79,0x8b58,0xbb3b,0xab1a,0x6ca6,0x7c87,0x4ce4,0x5cc5,0x2c22,0x3c03,0xc60,0x1c41,0xedae,0xfd8f,0xcdec,0xddcd,0xad2a,0xbd0b,0x8d68,0x9d49,0x7e97,0x6eb6,0x5ed5,0x4ef4,0x3e13,0x2e32,0x1e51,0xe70,0xff9f,0xefbe,0xdfdd,0xcffc,0xbf1b,0xaf3a,0x9f59,0x8f78,0x9188,0x81a9,0xb1ca,0xa1eb,0xd10c,0xc12d,0xf14e,0xe16f,0x1080,0xa1,0x30c2,0x20e3,0x5004,0x4025,0x7046,0x6067,0x83b9,0x9398,0xa3fb,0xb3da,0xc33d,0xd31c,0xe37f,0xf35e,0x2b1,0x1290,0x22f3,0x32d2,0x4235,0x5214,0x6277,0x7256,0xb5ea,0xa5cb,0x95a8,0x8589,0xf56e,0xe54f,0xd52c,0xc50d,0x34e2,0x24c3,0x14a0,0x481,0x7466,0x6447,0x5424,0x4405,0xa7db,0xb7fa,0x8799,0x97b8,0xe75f,0xf77e,0xc71d,0xd73c,0x26d3,0x36f2,0x691,0x16b0,0x6657,0x7676,0x4615,0x5634,0xd94c,0xc96d,0xf90e,0xe92f,0x99c8,0x89e9,0xb98a,0xa9ab,0x5844,0x4865,0x7806,0x6827,0x18c0,0x8e1,0x3882,0x28a3,0xcb7d,0xdb5c,0xeb3f,0xfb1e,0x8bf9,0x9bd8,0xabbb,0xbb9a,0x4a75,0x5a54,0x6a37,0x7a16,0xaf1,0x1ad0,0x2ab3,0x3a92,0xfd2e,0xed0f,0xdd6c,0xcd4d,0xbdaa,0xad8b,0x9de8,0x8dc9,0x7c26,0x6c07,0x5c64,0x4c45,0x3ca2,0x2c83,0x1ce0,0xcc1,0xef1f,0xff3e,0xcf5d,0xdf7c,0xaf9b,0xbfba,0x8fd9,0x9ff8,0x6e17,0x7e36,0x4e55,0x5e74,0x2e93,0x3eb2,0xed1,0x1ef0];function crc16(s){let crc=0x0;let j,i;for(i=0x0;i<s['length'];i++){let c=s['charCodeAt'](i);if(c>0xff){throw new RangeError();}j=(c^crc>>0x8)&0xff;crc=crcTable[j]^crc<<0x8;}crc=(crc&0xffff)['toString'](0x10)['toLowerCase']();return'0000'['substr'](crc['length'])+crc;}function colorLog(type){switch(type){case 0x1:{console['log']('%c\x20LOC\x20%c\x20堆栈共享池中数据(未打印页面)还剩\x20'+window[PrinterIP]['length']+'\x20\x20%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#007aff\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x2:{console['log']('%c\x20LOC\x20%c\x20渲染完成\x20\x20%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#8B7500\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x3:{console['log']('%c\x20LOC\x20%c\x20堆栈回调数组池中数据\x20'+window[PrinterIP]['length']+'\x20\x20%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#00868B\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x4:{console['log']('%c\x20LOC\x20%c模板获取失败%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#FF0000\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x5:{console['log']('%c\x20LOC\x20%c已开启预览图,可是没有传入正确的回调的目标数组池%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#D2691E\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x6:{console['log']('%c\x20LOC\x20%cVZPL未设置打印机地址,请手动处理回调的打印数据%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#D2691E\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}case 0x7:{console['log']('%c\x20LOC\x20%c无法打印!未配置打印机地址或者预览图%c','background:#35495e\x20;\x20padding:\x201px;\x20border-radius:\x203px\x200\x200\x203px;\x20\x20color:\x20#fff','background:#FF0000\x20;\x20padding:\x201px;\x20border-radius:\x200\x203px\x203px\x200;\x20\x20color:\x20#fff','background:transparent');break;}}}}