二维码解析:使用 JavaScript 库reqrcode.js解析二维码
上次使用QRCode.js可以來生成二維碼,但是我沒有找到有文檔說明可以對存在的二維碼進行掃描解析其中的內容。
幸虧查找到了可行的解決方案,而且很好使哦!就是reqrcode.js
地址:https://gitee.com/weijunw/erweima/tree/master
reqrcode.js
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
var_aa={};_aa._ab=function(f,e){vard=qrcode.width;varb=qrcode.height;varc=true;for(varg=0;g<e.length&&c;g+=2){vara=Math.floor(e[g]);varh=Math.floor(e[g+1]);if(a<-1||a>d||h<-1||h>b){throw"Error._ab"}c=false;if(a==-1){e[g]=0;c=true}else{if(a==d){e[g]=d-1;c=true}}if(h==-1){e[g+1]=0;c=true}else{if(h==b){e[g+1]=b-1;c=true}}}c=true;for(varg=e.length-2;g>=0&&c;g-=2){vara=Math.floor(e[g]);varh=Math.floor(e[g+1]);if(a<-1||a>d||h<-1||h>b){throw"Error._ab"}c=false;if(a==-1){e[g]=0;c=true}else{if(a==d){e[g]=d-1;c=true}}if(h==-1){e[g+1]=0;c=true}else{if(h==b){e[g+1]=b-1;c=true}}}};_aa._af=function(b,d,a){vark=new_ac(d);varj=newArray(d<<1);for(varf=0;f<d;f++){varg=j.length;vari=f+0.5;for(varh=0;h<g;h+=2){j[h]=(h>>1)+0.5;j[h+1]=i}a._ad(j);_aa._ab(b,j);try{for(varh=0;h<g;h+=2){vare=b[Math.floor(j[h])+qrcode.width*Math.floor(j[h+1])];if(e){k._dq(h>>1,f)}}}catch(c){throw"Error._ab"}}returnk};_aa._ah=function(h,o,l,k,q,p,b,a,f,e,n,m,s,r,d,c,j,i){varg=_ae._ag(l,k,q,p,b,a,f,e,n,m,s,r,d,c,j,i);return_aa._af(h,o,g)};function_a1(b,a){this.count=b;this._fc=a;this.__defineGetter__("Count",function(){returnthis.count});this.__defineGetter__("_dm",function(){returnthis._fc})}function_a2(a,c,b){this._bm=a;if(b){this._do=newArray(c,b)}else{this._do=newArray(c)}this.__defineGetter__("_bo",function(){returnthis._bm});this.__defineGetter__("_dn",function(){returnthis._bm*this._fo});this.__defineGetter__("_fo",function(){vare=0;for(vard=0;d<this._do.length;d++){e+=this._do[d].length}returne});this._fb=function(){returnthis._do}}function_a3(k,l,h,g,f,e){this._bs=k;this._ar=l;this._do=newArray(h,g,f,e);varj=0;varb=h._bo;vara=h._fb();for(vard=0;d<a.length;d++){varc=a[d];j+=c.Count*(c._dm+b)}this._br=j;this.__defineGetter__("_fd",function(){returnthis._bs});this.__defineGetter__("_as",function(){returnthis._ar});this.__defineGetter__("_dp",function(){returnthis._br});this.__defineGetter__("_cr",function(){return17+4*this._bs});this._aq=function(){varq=this._cr;varo=new_ac(q);o._bq(0,0,9,9);o._bq(q-8 ,0,8,9);o._bq(0,q-8,9,8);varn=this._ar.length;for(varm=0;m<n;m++){varp=this._ar[m]-2;for(varr=0;r<n;r++){if((m==0&&(r==0||r==n-1))||(m==n-1&&r==0)){continue}o._bq(this._ar[r]-2,p,5,5)}}o._bq(6,9,1,q-17);o._bq(9,6,q-17,1);if(this._bs>6){o._bq(q-11,0,3,6);o._bq(0,q-11,6,3)}returno};this._bu=function(i){returnthis._do[i.ordinal()]}}_a3._bv=newArray(31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017);_a3.VERSIONS=_ay();_a3._av=function(a){if(a<1||a>40){throw"badarguments"}return_a3.VERSIONS[a-1]};_a3._at=function(b){if(b%4!=1){throw"Error_at"}try{return_a3._av((b-17)>>2)}catch(a){throw"Error_av"}};_a3._aw=function(d){varb=4294967295;varf=0;for(varc=0;c<_a3._bv.length;c++){vara=_a3._bv[c];if(a==d){returnthis._av(c+7)}vare=_ax._gj(d,a);if(e<b){f=c+7;b=e}}if(b<=3){returnthis._av(f)}returnnull};function_ay(){returnnewArray(new_a3(1,newArray(),new_a2(7,new_a1(1,19)),new_a2(10,new_a1(1,16)),new_a2(13,new_a1(1,13)),new_a2(17,new_a1(1,9))),new_a3(2,newArray(6,18),new_a2(10,new_a1(1,34)),new_a2(16,new_a1(1,28)),new_a2(22,new_a1(1,22)),new_a2(28,new_a1(1,16))),new_a3(3,newArray(6,22),new_a2(15,new_a1(1,55)),new_a2(26,new_a1(1,44)),new_a2(18,new_a1(2,17)),new_a2(22,new_a1(2,13))),new_a3(4,newArray(6,26),new_a2(20,new_a1(1,80)),new_a2(18,new_a1(2,32)),new_a2(26,new_a1(2,24)),new_a2(16,new_a1(4,9))),new_a3(5,newArray(6,30),new_a2(26,new_a1(1,108)),new_a2(24,new_a1(2,43)),new_a2(18,new_a1(2,15),new_a1(2,16)),new_a2(22,new_a1(2,11),new_a1(2,12))),new_a3(6,newArray(6,34),new_a2(18,new_a1(2,68)),new_a2(16,new_a1(4,27)),new_a2(24,new_a1(4,19)),new_a2(28,new_a1(4,15))),new_a3(7,newArray(6,22,38),new_a2(20,new_a1(2,78)),new_a2(18,new_a1(4,31)),new_a2(18,new_a1(2,14),new_a1(4,15)),new_a2(26,new_a1(4,13),new_a1(1,14))),new_a3(8,newArray(6,24,42),new_a2(24,new_a1(2,97)),ne w_a2(22,new_a1(2,38),new_a1(2,39)),new_a2(22,new_a1(4,18),new_a1(2,19)),new_a2(26,new_a1(4,14),new_a1(2,15))),new_a3(9,newArray(6,26,46),new_a2(30,new_a1(2,116)),new_a2(22,new_a1(3,36),new_a1(2,37)),new_a2(20,new_a1(4,16),new_a1(4,17)),new_a2(24,new_a1(4,12),new_a1(4,13))),new_a3(10,newArray(6,28,50),new_a2(18,new_a1(2,68),new_a1(2,69)),new_a2(26,new_a1(4,43),new_a1(1,44)),new_a2(24,new_a1(6,19),new_a1(2,20)),new_a2(28,new_a1(6,15),new_a1(2,16))),new_a3(11,newArray(6,30,54),new_a2(20,new_a1(4,81)),new_a2(30,new_a1(1,50),new_a1(4,51)),new_a2(28,new_a1(4,22),new_a1(4,23)),new_a2(24,new_a1(3,12),new_a1(8,13))),new_a3(12,newArray(6,32,58),new_a2(24,new_a1(2,92),new_a1(2,93)),new_a2(22,new_a1(6,36),new_a1(2,37)),new_a2(26,new_a1(4,20),new_a1(6,21)),new_a2(28,new_a1(7,14),new_a1(4,15))),new_a3(13,newArray(6,34,62),new_a2(26,new_a1(4,107)),new_a2(22,new_a1(8,37),new_a1(1,38)),new_a2(24,new_a1(8,20),new_a1(4,21)),new_a2(22,new_a1(12,11),new_a1(4,12))),new_a3(14,newArray(6,26,46,66),new_a2(30,new_a1(3,115),new_a1(1,116)),new_a2(24,new_a1(4,40),new_a1(5,41)),new_a2(20,new_a1(11,16),new_a1(5,17)),new_a2(24,new_a1(11,12),new_a1(5,13))),new_a3(15,newArray(6,26,48,70),new_a2(22,new_a1(5,87),new_a1(1,88)),new_a2(24,new_a1(5,41),new_a1(5,42)),new_a2(30,new_a1(5,24),new_a1(7,25)),new_a2(24,new_a1(11,12),new_a1(7,13))),new_a3(16,newArray(6,26,50,74),new_a2(24,new_a1(5,98),new_a1(1,99)),new_a2(28,new_a1(7,45),new_a1(3,46)),new_a2(24,new_a1(15,19),new_a1(2,20)),new_a2(30,new_a1(3,15),new_a1(13,16))),new_a3(17,newArray(6,30,54,78),new_a2(28,new_a1(1,107),new_a1(5,108)),new_a2(28,new_a1(10,46),new_a1(1,47)),new_a2(28,new_a1(1,22),new_a1(15,23)),new_a2(28,new_a1(2,14),new_a1(17,15))),new_a3(18,newArray(6,30,56,82),new_a2(30,new_a1(5,120),new_a1(1,121)),new_a2(26,new_a1(9,43),new_a1(4,44)),new_a2(28,new_a1(17,22),new_a1(1,23)),new_a2(28,new_a1(2,14),new_a1(19,15))),new_a3(19,newArray(6,30,5 8,86),new_a2(28,new_a1(3,113),new_a1(4,114)),new_a2(26,new_a1(3,44),new_a1(11,45)),new_a2(26,new_a1(17,21),new_a1(4,22)),new_a2(26,new_a1(9,13),new_a1(16,14))),new_a3(20,newArray(6,34,62,90),new_a2(28,new_a1(3,107),new_a1(5,108)),new_a2(26,new_a1(3,41),new_a1(13,42)),new_a2(30,new_a1(15,24),new_a1(5,25)),new_a2(28,new_a1(15,15),new_a1(10,16))),new_a3(21,newArray(6,28,50,72,94),new_a2(28,new_a1(4,116),new_a1(4,117)),new_a2(26,new_a1(17,42)),new_a2(28,new_a1(17,22),new_a1(6,23)),new_a2(30,new_a1(19,16),new_a1(6,17))),new_a3(22,newArray(6,26,50,74,98),new_a2(28,new_a1(2,111),new_a1(7,112)),new_a2(28,new_a1(17,46)),new_a2(30,new_a1(7,24),new_a1(16,25)),new_a2(24,new_a1(34,13))),new_a3(23,newArray(6,30,54,74,102),new_a2(30,new_a1(4,121),new_a1(5,122)),new_a2(28,new_a1(4,47),new_a1(14,48)),new_a2(30,new_a1(11,24),new_a1(14,25)),new_a2(30,new_a1(16,15),new_a1(14,16))),new_a3(24,newArray(6,28,54,80,106),new_a2(30,new_a1(6,117),new_a1(4,118)),new_a2(28,new_a1(6,45),new_a1(14,46)),new_a2(30,new_a1(11,24),new_a1(16,25)),new_a2(30,new_a1(30,16),new_a1(2,17))),new_a3(25,newArray(6,32,58,84,110),new_a2(26,new_a1(8,106),new_a1(4,107)),new_a2(28,new_a1(8,47),new_a1(13,48)),new_a2(30,new_a1(7,24),new_a1(22,25)),new_a2(30,new_a1(22,15),new_a1(13,16))),new_a3(26,newArray(6,30,58,86,114),new_a2(28,new_a1(10,114),new_a1(2,115)),new_a2(28,new_a1(19,46),new_a1(4,47)),new_a2(28,new_a1(28,22),new_a1(6,23)),new_a2(30,new_a1(33,16),new_a1(4,17))),new_a3(27,newArray(6,34,62,90,118),new_a2(30,new_a1(8,122),new_a1(4,123)),new_a2(28,new_a1(22,45),new_a1(3,46)),new_a2(30,new_a1(8,23),new_a1(26,24)),new_a2(30,new_a1(12,15),new_a1(28,16))),new_a3(28,newArray(6,26,50,74,98,122),new_a2(30,new_a1(3,117),new_a1(10,118)),new_a2(28,new_a1(3,45),new_a1(23,46)),new_a2(30,new_a1(4,24),new_a1(31,25)),new_a2(30,new_a1(11,15),new_a1(31,16))),new_a3(29,newArray(6,30,54,78,102,126),new_a2(30,new_a1(7,116),new_a1(7,117)),n ew_a2(28,new_a1(21,45),new_a1(7,46)),new_a2(30,new_a1(1,23),new_a1(37,24)),new_a2(30,new_a1(19,15),new_a1(26,16))),new_a3(30,newArray(6,26,52,78,104,130),new_a2(30,new_a1(5,115),new_a1(10,116)),new_a2(28,new_a1(19,47),new_a1(10,48)),new_a2(30,new_a1(15,24),new_a1(25,25)),new_a2(30,new_a1(23,15),new_a1(25,16))),new_a3(31,newArray(6,30,56,82,108,134),new_a2(30,new_a1(13,115),new_a1(3,116)),new_a2(28,new_a1(2,46),new_a1(29,47)),new_a2(30,new_a1(42,24),new_a1(1,25)),new_a2(30,new_a1(23,15),new_a1(28,16))),new_a3(32,newArray(6,34,60,86,112,138),new_a2(30,new_a1(17,115)),new_a2(28,new_a1(10,46),new_a1(23,47)),new_a2(30,new_a1(10,24),new_a1(35,25)),new_a2(30,new_a1(19,15),new_a1(35,16))),new_a3(33,newArray(6,30,58,86,114,142),new_a2(30,new_a1(17,115),new_a1(1,116)),new_a2(28,new_a1(14,46),new_a1(21,47)),new_a2(30,new_a1(29,24),new_a1(19,25)),new_a2(30,new_a1(11,15),new_a1(46,16))),new_a3(34,newArray(6,34,62,90,118,146),new_a2(30,new_a1(13,115),new_a1(6,116)),new_a2(28,new_a1(14,46),new_a1(23,47)),new_a2(30,new_a1(44,24),new_a1(7,25)),new_a2(30,new_a1(59,16),new_a1(1,17))),new_a3(35,newArray(6,30,54,78,102,126,150),new_a2(30,new_a1(12,121),new_a1(7,122)),new_a2(28,new_a1(12,47),new_a1(26,48)),new_a2(30,new_a1(39,24),new_a1(14,25)),new_a2(30,new_a1(22,15),new_a1(41,16))),new_a3(36,newArray(6,24,50,76,102,128,154),new_a2(30,new_a1(6,121),new_a1(14,122)),new_a2(28,new_a1(6,47),new_a1(34,48)),new_a2(30,new_a1(46,24),new_a1(10,25)),new_a2(30,new_a1(2,15),new_a1(64,16))),new_a3(37,newArray(6,28,54,80,106,132,158),new_a2(30,new_a1(17,122),new_a1(4,123)),new_a2(28,new_a1(29,46),new_a1(14,47)),new_a2(30,new_a1(49,24),new_a1(10,25)),new_a2(30,new_a1(24,15),new_a1(46,16))),new_a3(38,newArray(6,32,58,84,110,136,162),new_a2(30,new_a1(4,122),new_a1(18,123)),new_a2(28,new_a1(13,46),new_a1(32,47)),new_a2(30,new_a1(48,24),new_a1(14,25)),new_a2(30,new_a1(42,15),new_a1(32,16))),new_a3(39,newArray(6,26,54, 82,110,138,166),new_a2(30,new_a1(20,117),new_a1(4,118)),new_a2(28,new_a1(40,47),new_a1(7,48)),new_a2(30,new_a1(43,24),new_a1(22,25)),new_a2(30,new_a1(10,15),new_a1(67,16))),new_a3(40,newArray(6,30,58,86,114,142,170),new_a2(30,new_a1(19,118),new_a1(6,119)),new_a2(28,new_a1(18,47),new_a1(31,48)),new_a2(30,new_a1(34,24),new_a1(34,25)),new_a2(30,new_a1(20,15),new_a1(61,16))))}function_ae(i,f,c,h,e,b,g,d,a){this.a11=i;this.a12=h;this.a13=g;this.a21=f;this.a22=e;this.a23=d;this.a31=c;this.a32=b;this.a33=a;this._ad=function(v){vars=v.length;varz=this.a11;varw=this.a12;varu=this.a13;varq=this.a21;varp=this.a22;varo=this.a23;varm=this.a31;vark=this.a32;varj=this.a33;for(varn=0;n<s;n+=2){vart=v[n];varr=v[n+1];varl=u*t+o*r+j;v[n]=(z*t+q*r+m)/l;v[n+1]=(w*t+p*r+k)/l}};this._fp=function(m,k){varq=m.length;for(varl=0;l<q;l++){varj=m[l];varp=k[l];varo=this.a13*j+this.a23*p+this.a33;m[l]=(this.a11*j+this.a21*p+this.a31)/o;k[l]=(this.a12*j+this.a22*p+this.a32)/o}};this._fr=function(){returnnew_ae(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)};this.times=function(j){returnnew_ae(this.a11*j.a11+this.a21*j.a12+this.a31*j.a13,this.a11*j.a21+this.a21*j.a22+this.a31*j.a23,this.a11*j.a31+this.a21*j.a32+this.a31*j.a33,this.a12*j.a11+this.a22*j.a12+this.a32*j.a13,this.a12*j.a21+this.a22*j.a22+this.a32*j.a23,this.a12*j.a31+this.a22*j.a32+this.a32*j.a33,this.a13*j.a11+this.a23*j.a12+this.a33*j.a13,this.a13*j.a21+this.a23*j.a22+this.a33*j.a23,this.a13*j.a31+this.a23*j.a32+this.a33*j.a33)}}_ae._ag=function(p,e,o,d,n,c,m,b,h,q,l,f,a,j,i,r){varg=this._be(p,e,o,d,n,c,m,b);vark=this._bf(h,q,l,f,a,j,i,r);returnk.times(g)};_ae._bf=function(d,p,c,m,b,k,a,j){varh=j-k;varf=p-m+k-j;if(h==0&&f==0){returnnew_ae(c-d,b-c,d,m-p ,k-m,p,0,0,1)}else{varq=c-b;varo=a-b;varl=d-c+b-a;vari=m-k;vare=q*h-o*i;varn=(l*h-o*f)/e;varg=(q*f-l*i)/e;returnnew_ae(c-d+n*c,a-d+g*a,d,m-p+n*m,j-p+g*j,p,n,g,1)}};_ae._be=function(f,h,d,g,b,e,a,c){returnthis._bf(f,h,d,g,b,e,a,c)._fr()};function_bg(b,a){this.bits=b;this.points=a}functionDetector(a){this.image=a;this._am=null;this._bi=function(m,l,c,b){vard=Math.abs(b-l)>Math.abs(c-m);if(d){varr=m;m=l;l=r;r=c;c=b;b=r}varj=Math.abs(c-m);vari=Math.abs(b-l);varp=-j>>1;varu=l<b?1:-1;varf=m<c?1:-1;vare=0;for(varh=m,g=l;h!=c;h+=f){vart=d?g:h;vars=d?h:g;if(e==1){if(this.image[t+s*qrcode.width]){e++}}else{if(!this.image[t+s*qrcode.width]){e++}}if(e==3){varo=h-m;varn=g-l;returnMath.sqrt((o*o+n*n))}p+=i;if(p>0){if(g==b){break}g+=u;p-=j}}vark=c-m;varq=b-l;returnMath.sqrt((k*k+q*q))};this._bh=function(i,g,h,f){varb=this._bi(i,g,h,f);vare=1;vard=i-(h-i);if(d<0){e=i/(i-d);d=0}else{if(d>=qrcode.width){e=(qrcode.width-1-i)/(d-i);d=qrcode.width-1}}varc=Math.floor(g-(f-g)*e);e=1;if(c<0){e=g/(g-c);c=0}else{if(c>=qrcode.height){e=(qrcode.height-1-g)/(c-g);c=qrcode.height-1}}d=Math.floor(i+(d-i)*e);b+=this._bi(i,g,d,c);returnb-1};this._bj=function(c,d){varb=this._bh(Math.floor(c.X),Math.floor(c.Y),Math.floor(d.X),Math.floor(d.Y));vare=this._bh(Math.floor(d.X),Math.floor(d.Y),Math.floor(c.X),Math.floor(c.Y));if(isNaN(b)){returne/7}if(isNaN(e)){returnb/7}return(b+e)/14};this._bk=function(d,c,b){return(this._bj(d,c)+this._bj(d,b))/2};this.distance=function(d,b){vare=d.X-b.X;varc=d.Y-b.Y;returnMath.sqrt((e*e+c*c))};this._bx=function(g,f,d,e){varb=Math.round(this.distance(g,f)/e);varc=Math.round(this.distance(g,d)/e);varh=((b+c)>>1)+7;switch(h&3){case0:h++;break;case2:h--;break;case3:throw"Error"}returnh};this._bl=function(g,f,d,j){vark=Math.floor(j*g);varh=Math.max(0,f-k);vari=Math.min(qrcode.width-1,f+k);if(i-h<g*3){throw"Error"}varb=Math.max(0,d-k);varc=Math.min(qrcode.height-1,d+k);vare=new_ak(this.image,h,b,i-h,c-b,g,this._am);returne.find()};this.createTransform=function(l,h,k, b,g){varj=g-3.5;vari;varf;vare;varc;if(b!=null){i=b.X;f=b.Y;e=c=j-3}else{i=(h.X-l.X)+k.X;f=(h.Y-l.Y)+k.Y;e=c=j}vard=_ae._ag(3.5,3.5,j,3.5,e,c,3.5,j,l.X,l.Y,h.X,h.Y,i,f,k.X,k.Y);returnd};this._bz=function(e,b,d){varc=_aa;returnc._af(e,d,b)};this._cd=function(q){varj=q._gq;varh=q._gs;varn=q._gp;vard=this._bk(j,h,n);if(d<1){throw"Error"}varr=this._bx(j,h,n,d);varb=_a3._at(r);vark=b._cr-7;varl=null;if(b._as.length>0){varf=h.X-j.X+n.X;vare=h.Y-j.Y+n.Y;varc=1-3/k;vart=Math.floor(j.X+c*(f-j.X));vars=Math.floor(j.Y+c*(e-j.Y));for(varp=4;p<=16;p<<=1){l=this._bl(d,t,s,p);break}}varg=this.createTransform(j,h,n,l,r);varm=this._bz(this.image,g,r);varo;if(l==null){o=newArray(n,j,h)}else{o=newArray(n,j,h,l)}returnnew_bg(m,o)};this.detect=function(){varb=new_cc()._ce(this.image);returnthis._cd(b)}}var_ca=21522;var_cb=newArray(newArray(21522,0),newArray(20773,1),newArray(24188,2),newArray(23371,3),newArray(17913,4),newArray(16590,5),newArray(20375,6),newArray(19104,7),newArray(30660,8),newArray(29427,9),newArray(32170,10),newArray(30877,11),newArray(26159,12),newArray(25368,13),newArray(27713,14),newArray(26998,15),newArray(5769,16),newArray(5054,17),newArray(7399,18),newArray(6608,19),newArray(1890,20),newArray(597,21),newArray(3340,22),newArray(2107,23),newArray(13663,24),newArray(12392,25),newArray(16177,26),newArray(14854,27),newArray(9396,28),newArray(8579,29),newArray(11994,30),newArray(11245,31));var_ch=newArray(0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4);function_ax(a){this._cf=_cg.forBits((a>>3)&3);this._fe=(a&7);this.__defineGetter__("_cg",function(){returnthis._cf});this.__defineGetter__("_dx",function(){returnthis._fe});this.GetHashCode=function(){return(this._cf.ordinal()<<3)|_fe};this.Equals=function(c){varb=c;returnthis._cf==b._cf&&this._fe==b._fe}}_ax._gj=function(d,c){d^=c;return_ch[d&15]+_ch[(_ew(d,4)&15)]+_ch[(_ew(d,8)&15)]+_ch[(_ew(d,12)&15)]+_ch[(_ew(d,16)&15)]+_ch[(_ew(d,20)&15)]+_ch[(_ew(d,24)&15)]+_ch[(_ew(d,28)&15)]};_ax._ci=function(a){var b=_ax._cj(a);if(b!=null){returnb}return_ax._cj(a^_ca)};_ax._cj=function(d){varb=4294967295;vara=0;for(varc=0;c<_cb.length;c++){varg=_cb[c];varf=g[0];if(f==d){returnnew_ax(g[1])}vare=this._gj(d,f);if(e<b){a=g[1];b=e}}if(b<=3){returnnew_ax(a)}returnnull};function_cg(a,c,b){this._ff=a;this.bits=c;this.name=b;this.__defineGetter__("Bits",function(){returnthis.bits});this.__defineGetter__("Name",function(){returnthis.name});this.ordinal=function(){returnthis._ff}}_cg.forBits=function(a){if(a<0||a>=FOR_BITS.length){throw"badarguments"}returnFOR_BITS[a]};varL=new_cg(0,1,"L");varM=new_cg(1,0,"M");varQ=new_cg(2,3,"Q");varH=new_cg(3,2,"H");varFOR_BITS=newArray(M,L,H,Q);function_ac(d,a){if(!a){a=d}if(d<1||a<1){throw"Bothdimensionsmustbegreaterthan0"}this.width=d;this.height=a;varc=d>>5;if((d&31)!=0){c++}this.rowSize=c;this.bits=newArray(c*a);for(varb=0;b<this.bits.length;b++){this.bits[b]=0}this.__defineGetter__("Width",function(){returnthis.width});this.__defineGetter__("Height",function(){returnthis.height});this.__defineGetter__("Dimension",function(){if(this.width!=this.height){throw"Can'tcallgetDimension()onanon-squarematrix"}returnthis.width});this._ds=function(e,g){varf=g*this.rowSize+(e>>5);return((_ew(this.bits[f],(e&31)))&1)!=0};this._dq=function(e,g){varf=g*this.rowSize+(e>>5);this.bits[f]|=1<<(e&31)};this.flip=function(e,g){varf=g*this.rowSize+(e>>5);this.bits[f]^=1<<(e&31)};this.clear=function(){vare=this.bits.length;for(varf=0;f<e;f++){this.bits[f]=0}};this._bq=function(g,j,f,m){if(j<0||g<0){throw"Leftandtopmustbenonnegative"}if(m<1||f<1){throw"Heightandwidthmustbeatleast1"}varl=g+f;vare=j+m;if(e>this.height||l>this.width){throw"Theregionmustfitinsidethematrix"}for(vari=j;i<e;i++){varh=i*this.rowSize;for(vark=g;k<l;k++){this.bits[h+(k>>5)]|=1<<(k&31)}}}}function_dl(a,b){this._dv=a;this._dw=b;this.__defineGetter__("_du",function(){returnthis._dv});this.__defineGetter__("Codewords",function(){returnthis._dw})}_dl._gn=function(c,h,r) {if(c.length!=h._dp){throw"badarguments"}vark=h._bu(r);vare=0;vard=k._fb();for(varq=0;q<d.length;q++){e+=d[q].Count}varl=newArray(e);varn=0;for(varo=0;o<d.length;o++){varf=d[o];for(varq=0;q<f.Count;q++){varm=f._dm;vars=k._bo+m;l[n++]=new_dl(m,newArray(s))}}vart=l[0]._dw.length;varb=l.length-1;while(b>=0){varv=l[b]._dw.length;if(v==t){break}b--}b++;varg=t-k._bo;vara=0;for(varq=0;q<g;q++){for(varo=0;o<n;o++){l[o]._dw[q]=c[a++]}}for(varo=b;o<n;o++){l[o]._dw[g]=c[a++]}varp=l[0]._dw.length;for(varq=g;q<p;q++){for(varo=0;o<n;o++){varu=o<b?q:q+1;l[o]._dw[u]=c[a++]}}returnl};function_cl(a){varb=a.Dimension;if(b<21||(b&3)!=1){throw"Error_cl"}this._au=a;this._cp=null;this._co=null;this._dk=function(d,c,e){returnthis._au._ds(d,c)?(e<<1)|1:e<<1};this._cm=function(){if(this._co!=null){returnthis._co}varg=0;for(vare=0;e<6;e++){g=this._dk(e,8,g)}g=this._dk(7,8,g);g=this._dk(8,8,g);g=this._dk(8,7,g);for(varc=5;c>=0;c--){g=this._dk(8,c,g)}this._co=_ax._ci(g);if(this._co!=null){returnthis._co}varf=this._au.Dimension;g=0;vard=f-8;for(vare=f-1;e>=d;e--){g=this._dk(e,8,g)}for(varc=f-7;c<f;c++){g=this._dk(8,c,g)}this._co=_ax._ci(g);if(this._co!=null){returnthis._co}throw"Error_cm"};this._cq=function(){if(this._cp!=null){returnthis._cp}varh=this._au.Dimension;varf=(h-17)>>2;if(f<=6){return_a3._av(f)}varg=0;vare=h-11;for(varc=5;c>=0;c--){for(vard=h-9;d>=e;d--){g=this._dk(d,c,g)}}this._cp=_a3._aw(g);if(this._cp!=null&&this._cp._cr==h){returnthis._cp}g=0;for(vard=5;d>=0;d--){for(varc=h-9;c>=e;c--){g=this._dk(d,c,g)}}this._cp=_a3._aw(g);if(this._cp!=null&&this._cp._cr==h){returnthis._cp}throw"Error_cq"};this._gk=function(){varq=this._cm();varo=this._cq();varc=_dx._gl(q._dx);varf=this._au.Dimension;c._dj(this._au,f);vark=o._aq();varn=true;varr=newArray(o._dp);varm=0;varp=0;varh=0;for(vare=f-1;e>0;e-=2){if(e==6){e--}for(varl=0;l<f;l++){varg=n?f-1-l:l;for(vard=0;d<2;d++){if(!k._ds(e-d,g)){h++;p<<=1;if(this._au._ds(e-d,g)){p|=1}if(h==8){r[m++]=p;h=0;p=0}}}}n^=true}if(m!=o. _dp){throw"Error_gk"}returnr}}var_dx={};_dx._gl=function(a){if(a<0||a>7){throw"badarguments"}return_dx._dy[a]};function_fg(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){return((b+a)&1)==0}}function_fh(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){return(b&1)==0}}function_fi(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){returna%3==0}}function_fj(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){return(b+a)%3==0}}function_fk(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){return(((_ew(b,1))+(a/3))&1)==0}}function_fl(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(c,b){vara=c*b;return(a&1)+(a%3)==0}}function_fm(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(c,b){vara=c*b;return(((a&1)+(a%3))&1)==0}}function_fn(){this._dj=function(c,d){for(varb=0;b<d;b++){for(vara=0;a<d;a++){if(this._fw(b,a)){c.flip(a,b)}}}};this._fw=function(b,a){return((((b+a)&1)+((b*a)%3))&1)==0}}_dx._dy=newArray(new_fg(),new_fh(),new_fi(),new_fj(),new_fk(),new_fl(),new_fm(),new_fn());function_db(a){this._fa=a;this.decode=function(j,f){varc=new_bp(this._fa,j);varp=newArray(f);for(varg=0;g<p.length;g++){p[g]=0}varm=false;vard=true;for(varg=0;g<f;g++){varq=c.evaluateAt(this._fa.exp(m?g+1:g));p[p.length-1-g]=q;if(q!=0){d=false}}if(d){return}varb=new_bp(this._fa,p);varl=this._eb(this._fa._ba(f,1),b,f);varo=l[0];varn=l[1];vark=this._ey(o);vare=this._di(n,k,m);for(varg=0;g<k.length;g++){varh=j.length-1-this._fa.log(k[g]);if(h<0){throw"ReedSolomonExceptionBaderrorlocation"}j[h]=_az._bd(j[ h],e[g])}};this._eb=function(z,y,f){if(z._ec<y._ec){varw=z;z=y;y=w}varB=z;vark=y;varo=this._fa.One;varj=this._fa.Zero;vare=this._fa.Zero;vari=this._fa.One;while(k._ec>=Math.floor(f/2)){varx=B;varg=o;varv=e;B=k;o=j;e=i;if(B.Zero){throw"r_{i-1}waszero"}k=x;varm=this._fa.Zero;varp=B._ex(B._ec);varh=this._fa.inverse(p);while(k._ec>=B._ec&&!k.Zero){varc=k._ec-B._ec;varA=this._fa.multiply(k._ex(k._ec),h);m=m._bd(this._fa._ba(c,A));k=k._bd(B._dc(c,A))}j=m.multiply1(o)._bd(g);i=m.multiply1(e)._bd(v)}varu=i._ex(0);if(u==0){throw"ReedSolomonExceptionsigmaTilde(0)waszero"}vard=this._fa.inverse(u);varn=i.multiply2(d);varl=k.multiply2(d);returnnewArray(n,l)};this._ey=function(f){varg=f._ec;if(g==1){returnnewArray(f._ex(1))}varb=newArray(g);vard=0;for(varc=1;c<256&&d<g;c++){if(f.evaluateAt(c)==0){b[d]=this._fa.inverse(c);d++}}if(d!=g){throw"Errorlocatordegreedoesnotmatchnumberofroots"}returnb};this._di=function(f,h,g){vark=h.length;varl=newArray(k);for(vare=0;e<k;e++){varb=this._fa.inverse(h[e]);varc=1;for(vard=0;d<k;d++){if(e!=d){c=this._fa.multiply(c,_az._bd(1,this._fa.multiply(h[d],b)))}}l[e]=this._fa.multiply(f.evaluateAt(b),this._fa.inverse(c));if(g){l[e]=this._fa.multiply(l[e],b)}}returnl}}function_bp(f,e){if(e==null||e.length==0){throw"badarguments"}this._fa=f;varc=e.length;if(c>1&&e[0]==0){vard=1;while(d<c&&e[d]==0){d++}if(d==c){this._dd=f.Zero._dd}else{this._dd=newArray(c-d);for(varb=0;b<this._dd.length;b++){this._dd[b]=0}for(vara=0;a<this._dd.length;a++){this._dd[a]=e[d+a]}}}else{this._dd=e}this.__defineGetter__("Zero",function(){returnthis._dd[0]==0});this.__defineGetter__("_ec",function(){returnthis._dd.length-1});this.__defineGetter__("Coefficients",function(){returnthis._dd});this._ex=function(g){returnthis._dd[this._dd.length-1-g]};this.evaluateAt=function(h){if(h==0){returnthis._ex(0)}varl=this._dd.length;if(h==1){varg=0;for(vark=0;k<l;k++){g=_az._bd(g,this._dd[k])}returng}varj=this._dd[0];for(vark=1;k<l;k++){j=_az._bd(this._fa.multiply(h,j),t his._dd[k])}returnj};this._bd=function(g){if(this._fa!=g._fa){throw"GF256Polysdonothavesame_az_fa"}if(this.Zero){returng}if(g.Zero){returnthis}varo=this._dd;varn=g._dd;if(o.length>n.length){varj=o;o=n;n=j}varh=newArray(n.length);vark=n.length-o.length;for(varm=0;m<k;m++){h[m]=n[m]}for(varl=k;l<n.length;l++){h[l]=_az._bd(o[l-k],n[l])}returnnew_bp(f,h)};this.multiply1=function(o){if(this._fa!=o._fa){throw"GF256Polysdonothavesame_az_fa"}if(this.Zero||o.Zero){returnthis._fa.Zero}varq=this._dd;varg=q.length;varl=o._dd;varn=l.length;varp=newArray(g+n-1);for(varm=0;m<g;m++){varh=q[m];for(vark=0;k<n;k++){p[m+k]=_az._bd(p[m+k],this._fa.multiply(h,l[k]))}}returnnew_bp(this._fa,p)};this.multiply2=function(g){if(g==0){returnthis._fa.Zero}if(g==1){returnthis}varj=this._dd.length;vark=newArray(j);for(varh=0;h<j;h++){k[h]=this._fa.multiply(this._dd[h],g)}returnnew_bp(this._fa,k)};this._dc=function(l,g){if(l<0){throw"badarguments"}if(g==0){returnthis._fa.Zero}varj=this._dd.length;vark=newArray(j+l);for(varh=0;h<k.length;h++){k[h]=0}for(varh=0;h<j;h++){k[h]=this._fa.multiply(this._dd[h],g)}returnnew_bp(this._fa,k)};this.divide=function(l){if(this._fa!=l._fa){throw"GF256Polysdonothavesame_az_fa"}if(l.Zero){throw"Divideby0"}varj=this._fa.Zero;varo=this;varg=l._ex(l._ec);varn=this._fa.inverse(g);while(o._ec>=l._ec&&!o.Zero){varm=o._ec-l._ec;varh=this._fa.multiply(o._ex(o._ec),n);vari=l._dc(m,h);vark=this._fa._ba(m,h);j=j._bd(k);o=o._bd(i)}returnnewArray(j,o)}}function_az(b){this._gh=newArray(256);this._gi=newArray(256);vara=1;for(vare=0;e<256;e++){this._gh[e]=a;a<<=1;if(a>=256){a^=b}}for(vare=0;e<255;e++){this._gi[this._gh[e]]=e}vard=newArray(1);d[0]=0;this.zero=new_bp(this,newArray(d));varc=newArray(1);c[0]=1;this.one=new_bp(this,newArray(c));this.__defineGetter__("Zero",function(){returnthis.zero});this.__defineGetter__("One",function(){returnthis.one});this._ba=function(j,f){if(j<0){throw"badarguments"}if(f==0){returnzero}varh=newArray(j+ 1);for(varg=0;g<h.length;g++){h[g]=0}h[0]=f;returnnew_bp(this,h)};this.exp=function(f){returnthis._gh[f]};this.log=function(f){if(f==0){throw"badarguments"}returnthis._gi[f]};this.inverse=function(f){if(f==0){throw"System.ArithmeticException"}returnthis._gh[255-this._gi[f]]};this.multiply=function(g,f){if(g==0||f==0){return0}if(g==1){returnf}if(f==1){returng}returnthis._gh[(this._gi[g]+this._gi[f])%255]}}_az._bb=new_az(285);_az._bc=new_az(301);_az._bd=function(d,c){returnd^c};varDecoder={};Decoder.rsDecoder=new_db(_az._bb);Decoder.correctErrors=function(g,b){vard=g.length;varf=newArray(d);for(vare=0;e<d;e++){f[e]=g[e]&255}vara=g.length-b;try{Decoder.rsDecoder.decode(f,a)}catch(c){throwc}for(vare=0;e<b;e++){g[e]=f[e]}};Decoder.decode=function(q){varb=new_cl(q);varo=b._cq();varc=b._cm()._cg;varp=b._gk();vara=_dl._gn(p,o,c);varf=0;for(vark=0;k<a.length;k++){f+=a[k]._du}vare=newArray(f);varn=0;for(varh=0;h<a.length;h++){varm=a[h];vard=m.Codewords;varg=m._du;Decoder.correctErrors(d,g);for(vark=0;k<g;k++){e[n++]=d[k]}}varl=newQRCodeDataBlockReader(e,o._fd,c.Bits);returnl};varqrcode={};qrcode.imagedata=null;qrcode.width=0;qrcode.height=0;qrcode.qrCodeSymbol=null;qrcode.debug=false;qrcode.maxImgSize=1024*1024;qrcode._eo=[[10,9,8,8],[12,11,16,10],[14,13,16,12]];qrcode.callback=null;qrcode.vidSuccess=function(a){qrcode.localstream=a;if(qrcode.webkit){qrcode.video.src=window.webkitURL.createObjectURL(a)}else{if(qrcode.moz){qrcode.video.mozSrcObject=a;qrcode.video.play()}else{qrcode.video.src=a}}qrcode.gUM=true;qrcode.canvas_qr2=document.createElement("canvas");qrcode.canvas_qr2.id="qr-canvas";qrcode.qrcontext2=qrcode.canvas_qr2.getContext("2d");qrcode.canvas_qr2.width=qrcode.video.videoWidth;qrcode.canvas_qr2.height=qrcode.video.videoHeight;setTimeout(qrcode.captureToCanvas,500)};qrcode.vidError=function(a){qrcode.gUM=false;return};qrcode.captureToCanvas=function(){if(qrcode.gUM){try{if(qrcode.video.videoWidth==0){setTimeout(qrcode.captureToCanvas,500);return}else{qrcode.canvas_qr 2.width=qrcode.video.videoWidth;qrcode.canvas_qr2.height=qrcode.video.videoHeight}qrcode.qrcontext2.drawImage(qrcode.video,0,0);try{qrcode.decode()}catch(a){console.log(a);setTimeout(qrcode.captureToCanvas,500)}}catch(a){console.log(a);setTimeout(qrcode.captureToCanvas,500)}}};qrcode.setWebcam=function(c){vard=navigator;qrcode.video=document.getElementById(c);vara=true;if(navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices){try{navigator.mediaDevices.enumerateDevices().then(function(e){e.forEach(function(f){console.log("deb1");if(f.kind==="videoinput"){if(f.label.toLowerCase().search("back")>-1){a=[{sourceId:f.deviceId}]}}console.log(f.kind+":"+f.label+"id="+f.deviceId)})})}catch(b){console.log(b)}}else{console.log("nonavigator.mediaDevices.enumerateDevices")}if(d.getUserMedia){d.getUserMedia({video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}else{if(d.webkitGetUserMedia){qrcode.webkit=true;d.webkitGetUserMedia({video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}else{if(d.mozGetUserMedia){qrcode.moz=true;d.mozGetUserMedia({video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}}}};qrcode.decode=function(d){if(arguments.length==0){if(qrcode.canvas_qr2){varb=qrcode.canvas_qr2;vara=qrcode.qrcontext2}else{varb=document.getElementById("qr-canvas");vara=b.getContext("2d")}qrcode.width=b.width;qrcode.height=b.height;qrcode.imagedata=a.getImageData(0,0,qrcode.width,qrcode.height);qrcode.result=qrcode.process(a);if(qrcode.callback!=null){qrcode.callback(qrcode.result)}returnqrcode.result}else{varc=newImage();c.crossOrigin="Anonymous";c.onload=function(){varg=document.getElementById("out-canvas");if(g!=null){varj=g.getContext("2d");j.clearRect(0,0,320,240);j.drawImage(c,0,0,320,240)}vari=document.createElement("canvas");varh=i.getContext("2d");varf=c.height;varl=c.width;if(c.width*c.height>qrcode.maxImgSize){vark=c.width/c.height;f=Math.sqrt(qrcode.maxImgSize/k);l=k*f}i.width=l;i.height=f;h.drawImage(c,0,0,i.width,i.height);qrcode.width=i.width;qrcode.height=i.height;try{qrcode .imagedata=h.getImageData(0,0,i.width,i.height)}catch(m){qrcode.result="Crossdomainimagereadingnotsupportedinyourbrowser!Saveittoyourcomputerthendraganddropthefile!";if(qrcode.callback!=null){qrcode.callback(qrcode.result)}return}try{qrcode.result=qrcode.process(h)}catch(m){console.log(m);qrcode.result="errordecodingQRCode"}if(qrcode.callback!=null){qrcode.callback(qrcode.result)}};c.onerror=function(){if(qrcode.callback!=null){qrcode.callback("Failedtoloadtheimage")}};c.src=d}};qrcode.isUrl=function(a){varb=/(ftp|http|https)://(w+:{0,1}w*@)?(S+)(:[0-9]+)?(/|/([w#!:.?+=&%@!-/]))?/;returnb.test(a)};qrcode.decode_url=function(b){vard="";try{d=escape(b)}catch(c){console.log(c);d=b}vara="";try{a=decodeURIComponent(d)}catch(c){console.log(c);a=d}returna};qrcode.decode_utf8=function(a){if(qrcode.isUrl(a)){returnqrcode.decode_url(a)}else{returna}};qrcode.process=function(q){vara=newDate().getTime();varc=qrcode.grayScaleToBitmap(qrcode.grayscale());if(qrcode.debug){for(varm=0;m<qrcode.height;m++){for(varn=0;n<qrcode.width;n++){varo=(n*4)+(m*qrcode.width*4);qrcode.imagedata.data[o]=c[n+m*qrcode.width]?0:0;qrcode.imagedata.data[o+1]=c[n+m*qrcode.width]?0:0;qrcode.imagedata.data[o+2]=c[n+m*qrcode.width]?255:0}}q.putImageData(qrcode.imagedata,0,0)}varh=newDetector(c);varp=h.detect();if(qrcode.debug){for(varm=0;m<p.bits.Height;m++){for(varn=0;n<p.bits.Width;n++){varo=(n*4*2)+(m*2*qrcode.width*4);qrcode.imagedata.data[o]=p.bits._ds(n,m)?0:0;qrcode.imagedata.data[o+1]=p.bits._ds(n,m)?0:0;qrcode.imagedata.data[o+2]=p.bits._ds(n,m)?255:0}}q.putImageData(qrcode.imagedata,0,0)}vark=Decoder.decode(p.bits);varg=k.DataByte;varl="";for(varf=0;f<g.length;f++){for(vare=0;e<g[f].length;e++){l+=String.fromCharCode(g[f][e])}}vard=newDate().getTime();varb=d-a;console.log(b);returnqrcode.decode_utf8(l)};qrcode.getPixel=function(b,d){if(qrcode.width<b){throw"pointerror"}if(qrcode.height<d){throw"pointerror"}vara=(b*4)+(d*qrcode.width*4);varc=(qrcode.imagedata.data[a]*33+qrcod e.imagedata.data[a+1]*34+qrcode.imagedata.data[a+2]*33)/100;returnc};qrcode.binarize=function(d){varc=newArray(qrcode.width*qrcode.height);for(vare=0;e<qrcode.height;e++){for(varb=0;b<qrcode.width;b++){vara=qrcode.getPixel(b,e);c[b+e*qrcode.width]=a<=d?true:false}}returnc};qrcode._em=function(d){varc=4;vark=Math.floor(qrcode.width/c);varj=Math.floor(qrcode.height/c);varf=newArray(c);for(varg=0;g<c;g++){f[g]=newArray(c);for(vare=0;e<c;e++){f[g][e]=newArray(0,0)}}for(varo=0;o<c;o++){for(vara=0;a<c;a++){f[a][o][0]=255;for(varl=0;l<j;l++){for(varn=0;n<k;n++){varh=d[k*a+n+(j*o+l)*qrcode.width];if(h<f[a][o][0]){f[a][o][0]=h}if(h>f[a][o][1]){f[a][o][1]=h}}}}}varm=newArray(c);for(varb=0;b<c;b++){m[b]=newArray(c)}for(varo=0;o<c;o++){for(vara=0;a<c;a++){m[a][o]=Math.floor((f[a][o][0]+f[a][o][1])/2)}}returnm};qrcode.grayScaleToBitmap=function(f){vark=qrcode._em(f);varb=k.length;vare=Math.floor(qrcode.width/b);vard=Math.floor(qrcode.height/b);varh=newArrayBuffer(qrcode.width*qrcode.height);varc=newUint8Array(h);for(varj=0;j<b;j++){for(vara=0;a<b;a++){for(varg=0;g<d;g++){for(vari=0;i<e;i++){c[e*a+i+(d*j+g)*qrcode.width]=(f[e*a+i+(d*j+g)*qrcode.width]<k[a][j])?true:false}}}}returnc};qrcode.grayscale=function(){vare=newArrayBuffer(qrcode.width*qrcode.height);varc=newUint8Array(e);for(vard=0;d<qrcode.height;d++){for(varb=0;b<qrcode.width;b++){vara=qrcode.getPixel(b,d);c[b+d*qrcode.width]=a}}returnc};function_ew(a,b){if(a>=0){returna>>b}else{return(a>>b)+(2<<~b)}}var_gf=3;var_eh=57;var_el=8;var_eg=2;qrcode._er=function(c){functionb(m,k){varn=m.X-k.X;varl=m.Y-k.Y;returnMath.sqrt((n*n+l*l))}functiond(k,o,n){varm=o.x;varl=o.y;return((n.x-m)*(k.y-l))-((n.y-l)*(k.x-m))}vari=b(c[0],c[1]);varf=b(c[1],c[2]);vare=b(c[0],c[2]);vara,j,h;if(f>=i&&f>=e){j=c[0];a=c[1];h=c[2]}else{if(e>=f&&e>=i){j=c[1];a=c[0];h=c[2]}else{j=c[2];a=c[0];h=c[1]}}if(d(a,j,h)<0){varg=a;a=h;h=g}c[0]=a;c[1]=j;c[2]=h};function_cz(c,a,b){this.x=c;this.y=a;this.count=1;this._aj=b;this.__defineGetter__(" _ei",function(){returnthis._aj});this.__defineGetter__("Count",function(){returnthis.count});this.__defineGetter__("X",function(){returnthis.x});this.__defineGetter__("Y",function(){returnthis.y});this._ek=function(){this.count++};this._ev=function(f,e,d){if(Math.abs(e-this.y)<=f&&Math.abs(d-this.x)<=f){varg=Math.abs(f-this._aj);returng<=1||g/this._aj<=1}returnfalse}}function_es(a){this._go=a[0];this._gu=a[1];this._gr=a[2];this.__defineGetter__("_gp",function(){returnthis._go});this.__defineGetter__("_gq",function(){returnthis._gu});this.__defineGetter__("_gs",function(){returnthis._gr})}function_cc(){this.image=null;this._cv=[];this._ge=false;this._al=newArray(0,0,0,0,0);this._am=null;this.__defineGetter__("_da",function(){this._al[0]=0;this._al[1]=0;this._al[2]=0;this._al[3]=0;this._al[4]=0;returnthis._al});this._ao=function(f){varb=0;for(vard=0;d<5;d++){vare=f[d];if(e==0){returnfalse}b+=e}if(b<7){returnfalse}varc=Math.floor((b<<_el)/7);vara=Math.floor(c/2);returnMath.abs(c-(f[0]<<_el))<a&&Math.abs(c-(f[1]<<_el))<a&&Math.abs(3*c-(f[2]<<_el))<3*a&&Math.abs(c-(f[3]<<_el))<a&&Math.abs(c-(f[4]<<_el))<a};this._an=function(b,a){return(a-b[4]-b[3])-b[2]/2};this._ap=function(a,j,d,g){varc=this.image;varh=qrcode.height;varb=this._da;varf=a;while(f>=0&&c[j+f*qrcode.width]){b[2]++;f--}if(f<0){returnNaN}while(f>=0&&!c[j+f*qrcode.width]&&b[1]<=d){b[1]++;f--}if(f<0||b[1]>d){returnNaN}while(f>=0&&c[j+f*qrcode.width]&&b[0]<=d){b[0]++;f--}if(b[0]>d){returnNaN}f=a+1;while(f<h&&c[j+f*qrcode.width]){b[2]++;f++}if(f==h){returnNaN}while(f<h&&!c[j+f*qrcode.width]&&b[3]<d){b[3]++;f++}if(f==h||b[3]>=d){returnNaN}while(f<h&&c[j+f*qrcode.width]&&b[4]<d){b[4]++;f++}if(b[4]>=d){returnNaN}vare=b[0]+b[1]+b[2]+b[3]+b[4];if(5*Math.abs(e-g)>=2*g){returnNaN}returnthis._ao(b)?this._an(b,f):NaN};this._ej=function(b,a,e,h){vard=this.image;vari=qrcode.width;varc=this._da;varg=b;while(g>=0&&d[g+a*qrcode.width]){c[2]++;g--}if(g<0){returnNaN}while(g>=0&&!d[g+a*qrcode.width]&&c[1]<=e){c[1]++;g--}if(g<0||c[1]>e){r eturnNaN}while(g>=0&&d[g+a*qrcode.width]&&c[0]<=e){c[0]++;g--}if(c[0]>e){returnNaN}g=b+1;while(g<i&&d[g+a*qrcode.width]){c[2]++;g++}if(g==i){returnNaN}while(g<i&&!d[g+a*qrcode.width]&&c[3]<e){c[3]++;g++}if(g==i||c[3]>=e){returnNaN}while(g<i&&d[g+a*qrcode.width]&&c[4]<e){c[4]++;g++}if(c[4]>=e){returnNaN}varf=c[0]+c[1]+c[2]+c[3]+c[4];if(5*Math.abs(f-h)>=h){returnNaN}returnthis._ao(c)?this._an(c,g):NaN};this._cu=function(c,f,e){vard=c[0]+c[1]+c[2]+c[3]+c[4];varn=this._an(c,e);varb=this._ap(f,Math.floor(n),c[2],d);if(!isNaN(b)){n=this._ej(Math.floor(n),Math.floor(b),c[2],d);if(!isNaN(n)){varl=d/7;varm=false;varh=this._cv.length;for(varg=0;g<h;g++){vara=this._cv[g];if(a._ev(l,b,n)){a._ek();m=true;break}}if(!m){vark=new_cz(n,b,l);this._cv.push(k);if(this._am!=null){this._am._ep(k)}}returntrue}}returnfalse};this._ee=function(){varh=this._cv.length;if(h<3){throw"Couldn'tfindenoughfinderpatterns(found"+h+")"}if(h>3){varb=0;varj=0;for(vard=0;d<h;d++){varg=this._cv[d]._ei;b+=g;j+=(g*g)}vara=b/h;this._cv.sort(function(m,l){vark=Math.abs(l._ei-a);vari=Math.abs(m._ei-a);if(k<i){return(-1)}else{if(k==i){return0}else{return1}}});vare=Math.sqrt(j/h-a*a);varc=Math.max(0.2*a,e);for(vard=this._cv.length-1;d>=0;d--){varf=this._cv[d];if(Math.abs(f._ei-a)>c){this._cv.splice(d,1)}}}if(this._cv.length>3){this._cv.sort(function(k,i){if(k.count>i.count){return-1}if(k.count<i.count){return1}return0})}returnnewArray(this._cv[0],this._cv[1],this._cv[2])};this._eq=function(){varb=this._cv.length;if(b<=1){return0}varc=null;for(vard=0;d<b;d++){vara=this._cv[d];if(a.Count>=_eg){if(c==null){c=a}else{this._ge=true;returnMath.floor((Math.abs(c.X-a.X)-Math.abs(c.Y-a.Y))/2)}}}return0};this._cx=function(){varg=0;varc=0;vara=this._cv.length;for(vard=0;d<a;d++){varf=this._cv[d];if(f.Count>=_eg){g++;c+=f._ei}}if(g<3){returnfalse}vare=c/a;varb=0;for(vard=0;d<a;d++){f=this._cv[d];b+=Math.abs(f._ei-e)}returnb<=0.05*c};this._ce=function(e){varo=false;this.image=e;varn=qrcode.height;vark=qrcode. width;vara=Math.floor((3*n)/(4*_eh));if(a<_gf||o){a=_gf}varg=false;vard=newArray(5);for(varh=a-1;h<n&&!g;h+=a){d[0]=0;d[1]=0;d[2]=0;d[3]=0;d[4]=0;varb=0;for(varf=0;f<k;f++){if(e[f+h*qrcode.width]){if((b&1)==1){b++}d[b]++}else{if((b&1)==0){if(b==4){if(this._ao(d)){varc=this._cu(d,h,f);if(c){a=2;if(this._ge){g=this._cx()}else{varm=this._eq();if(m>d[2]){h+=m-d[2]-a;f=k-1}}}else{do{f++}while(f<k&&!e[f+h*qrcode.width]);f--}b=0;d[0]=0;d[1]=0;d[2]=0;d[3]=0;d[4]=0}else{d[0]=d[2];d[1]=d[3];d[2]=d[4];d[3]=1;d[4]=0;b=3}}else{d[++b]++}}else{d[b]++}}}if(this._ao(d)){varc=this._cu(d,h,k);if(c){a=d[0];if(this._ge){g=_cx()}}}}varl=this._ee();qrcode._er(l);returnnew_es(l)}}function_ai(c,a,b){this.x=c;this.y=a;this.count=1;this._aj=b;this.__defineGetter__("_ei",function(){returnthis._aj});this.__defineGetter__("Count",function(){returnthis.count});this.__defineGetter__("X",function(){returnMath.floor(this.x)});this.__defineGetter__("Y",function(){returnMath.floor(this.y)});this._ek=function(){this.count++};this._ev=function(f,e,d){if(Math.abs(e-this.y)<=f&&Math.abs(d-this.x)<=f){varg=Math.abs(f-this._aj);returng<=1||g/this._aj<=1}returnfalse}}function_ak(g,c,b,f,a,e,d){this.image=g;this._cv=newArray();this.startX=c;this.startY=b;this.width=f;this.height=a;this._ef=e;this._al=newArray(0,0,0);this._am=d;this._an=function(i,h){return(h-i[2])-i[1]/2};this._ao=function(l){vark=this._ef;varh=k/2;for(varj=0;j<3;j++){if(Math.abs(k-l[j])>=h){returnfalse}}returntrue};this._ap=function(h,q,l,o){vark=this.image;varp=qrcode.height;varj=this._al;j[0]=0;j[1]=0;j[2]=0;varn=h;while(n>=0&&k[q+n*qrcode.width]&&j[1]<=l){j[1]++;n--}if(n<0||j[1]>l){returnNaN}while(n>=0&&!k[q+n*qrcode.width]&&j[0]<=l){j[0]++;n--}if(j[0]>l){returnNaN}n=h+1;while(n<p&&k[q+n*qrcode.width]&&j[1]<=l){j[1]++;n++}if(n==p||j[1]>l){returnNaN}while(n<p&&!k[q+n*qrcode.width]&&j[2]<=l){j[2]++;n++}if(j[2]>l){returnNaN}varm=j[0]+j[1]+j[2];if(5*Math.abs(m-o)>=2*o){returnNaN}returnthis._ao(j)?this._an(j,n):NaN};this._cu=function(l,o,n){varm=l[0 ]+l[1]+l[2];vart=this._an(l,n);vark=this._ap(o,Math.floor(t),2*l[1],m);if(!isNaN(k)){vars=(l[0]+l[1]+l[2])/3;varq=this._cv.length;for(varp=0;p<q;p++){varh=this._cv[p];if(h._ev(s,k,t)){returnnew_ai(t,k,s)}}varr=new_ai(t,k,s);this._cv.push(r);if(this._am!=null){this._am._ep(r)}}returnnull};this.find=function(){varp=this.startX;vars=this.height;varq=p+f;varr=b+(s>>1);varm=newArray(0,0,0);for(vark=0;k<s;k++){varo=r+((k&1)==0?((k+1)>>1):-((k+1)>>1));m[0]=0;m[1]=0;m[2]=0;varn=p;while(n<q&&!g[n+qrcode.width*o]){n++}varh=0;while(n<q){if(g[n+o*qrcode.width]){if(h==1){m[h]++}else{if(h==2){if(this._ao(m)){varl=this._cu(m,o,n);if(l!=null){returnl}}m[0]=m[2];m[1]=1;m[2]=0;h=1}else{m[++h]++}}}else{if(h==1){h++}m[h]++}n++}if(this._ao(m)){varl=this._cu(m,o,q);if(l!=null){returnl}}}if(!(this._cv.length==0)){returnthis._cv[0]}throw"Couldn'tfindenoughalignmentpatterns"}}functionQRCodeDataBlockReader(c,a,b){this._ed=0;this._cw=7;this.dataLength=0;this.blocks=c;this._en=b;if(a<=9){this.dataLengthMode=0}else{if(a>=10&&a<=26){this.dataLengthMode=1}else{if(a>=27&&a<=40){this.dataLengthMode=2}}}this._gd=function(f){vark=0;if(f<this._cw+1){varm=0;for(vare=0;e<f;e++){m+=(1<<e)}m<<=(this._cw-f+1);k=(this.blocks[this._ed]&m)>>(this._cw-f+1);this._cw-=f;returnk}else{if(f<this._cw+1+8){varj=0;for(vare=0;e<this._cw+1;e++){j+=(1<<e)}k=(this.blocks[this._ed]&j)<<(f-(this._cw+1));this._ed++;k+=((this.blocks[this._ed])>>(8-(f-(this._cw+1))));this._cw=this._cw-f%8;if(this._cw<0){this._cw=8+this._cw}returnk}else{if(f<this._cw+1+16){varj=0;varh=0;for(vare=0;e<this._cw+1;e++){j+=(1<<e)}varg=(this.blocks[this._ed]&j)<<(f-(this._cw+1));this._ed++;vard=this.blocks[this._ed]<<(f-(this._cw+1+8));this._ed++;for(vare=0;e<f-(this._cw+1+8);e++){h+=(1<<e)}h<<=8-(f-(this._cw+1+8));varl=(this.blocks[this._ed]&h)>>(8-(f-(this._cw+1+8)));k=g+d+l;this._cw=this._cw-(f-8)%8;if(this._cw<0){this._cw=8+this._cw}returnk}else{return0}}}};this.NextMode=function(){if((this._ed>this.blocks.length-this._en-2)){return0}else{return this._gd(4)}};this.getDataLength=function(d){vare=0;while(true){if((d>>e)==1){break}e++}returnthis._gd(qrcode._eo[this.dataLengthMode][e])};this.getRomanAndFigureString=function(h){varf=h;varg=0;varj="";vard=newArray("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","","$","%","*","+","-",".","/",":");do{if(f>1){g=this._gd(11);vari=Math.floor(g/45);vare=g%45;j+=d[i];j+=d[e];f-=2}else{if(f==1){g=this._gd(6);j+=d[g];f-=1}}}while(f>0);returnj};this.getFigureString=function(f){vard=f;vare=0;varg="";do{if(d>=3){e=this._gd(10);if(e<100){g+="0"}if(e<10){g+="0"}d-=3}else{if(d==2){e=this._gd(7);if(e<10){g+="0"}d-=2}else{if(d==1){e=this._gd(4);d-=1}}}g+=e}while(d>0);returng};this.get8bitByteArray=function(g){vare=g;varf=0;vard=newArray();do{f=this._gd(8);d.push(f);e--}while(e>0);returnd};this.getKanjiString=function(j){varg=j;vari=0;varh="";do{i=_gd(13);vare=i%192;varf=i/192;vark=(f<<8)+e;vard=0;if(k+33088<=40956){d=k+33088}else{d=k+49472}h+=String.fromCharCode(d);g--}while(g>0);returnh};this.__defineGetter__("DataByte",function(){varh=newArray();vare=1;varf=2;vard=4;varo=8;do{varl=this.NextMode();if(l==0){if(h.length>0){break}else{throw"Emptydatablock"}}if(l!=e&&l!=f&&l!=d&&l!=o){throw"Invalidmode:"+l+"in(block:"+this._ed+"bit:"+this._cw+")"}varg=this.getDataLength(l);if(g<1){throw"Invaliddatalength:"+g}switch(l){casee:varm=this.getFigureString(g);vark=newArray(m.length);for(vari=0;i<m.length;i++){k[i]=m.charCodeAt(i)}h.push(k);break;casef:varm=this.getRomanAndFigureString(g);vark=newArray(m.length);for(vari=0;i<m.length;i++){k[i]=m.charCodeAt(i)}h.push(k);break;cased:varn=this.get8bitByteArray(g);h.push(n);break;caseo:varm=this.getKanjiString(g);h.push(m);break}}while(true);returnh})}; |
解析實例:
qrcodeRD.html
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<!DOCTYPEhtml> <html> <head> <body> <script>
newfile.onchange=function(){ </html> |
運行
注意:reqrcode.js格式是不是不好看,但是格式化后就不好使了 ~
總結
以上是生活随笔為你收集整理的二维码解析:使用 JavaScript 库reqrcode.js解析二维码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP CRM WebClient UI
- 下一篇: 哈啰打车:哈啰自营运力已接入所有主流聚合