二维码解析:使用 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=functionf,e){var d=qrcode.width;var b=qrcode.height;var c=true;forvar g=0;g<e.length&&c;g+=2){var a=Math.floore[g]);var h=Math.floore[g+1]);ifa<-1||a>d||h<-1||h>b){throw“Error._ab “}c=false;ifa==-1){e[g]=0;c=true}else{ifa==d){e[g]=d-1;c=true}}ifh==-1){e[g+1]=0;c=true}else{ifh==b){e[g+1]=b-1;c=true}}}c=true;forvar g=e.length-2;g>=0&&c;g-=2){var a=Math.floore[g]);var h=Math.floore[g+1]);ifa<-1||a>d||h<-1||h>b){throw“Error._ab “}c=false;ifa==-1){e[g]=0;c=true}else{ifa==d){e[g]=d-1;c=true}}ifh==-1){e[g+1]=0;c=true}else{ifh==b){e[g+1]=b-1;c=true}}}};_aa._af=functionb,d,a){var k=new _acd);var j=new Arrayd<<1);forvar f=0;f<d;f++){var g=j.length;var i=f+0.5;forvar h=0;h<g;h+=2){j[h]=h>>1)+0.5;j[h+1]=i}a._adj);_aa._abb,j);try{forvar h=0;h<g;h+=2){var e=b[Math.floorj[h])+qrcode.width*Math.floorj[h+1])];ife){k._dqh>>1,f)}}}catchc){throw“Error._ab”}}return k};_aa._ah=functionh,o,l,k,q,p,b,a,f,e,n,m,s,r,d,c,j,i){var g=_ae._agl,k,q,p,b,a,f,e,n,m,s,r,d,c,j,i);return _aa._afh,o,g)};function _a1b,a){this.count=b;this._fc=a;this.__defineGetter__“Count”,function){return this.count});this.__defineGetter__“_dm”,function){return this._fc})}function _a2a,c,b){this._bm=a;ifb){this._do=new Arrayc,b)}else{this._do=new Arrayc)}this.__defineGetter__“_bo”,function){return this._bm});this.__defineGetter__“_dn”,function){return this._bm*this._fo});this.__defineGetter__“_fo”,function){var e=0;forvar d=0;d<this._do.length;d++){e+=this._do[d].length}return e});this._fb=function){return this._do}}function _a3k,l,h,g,f,e){this._bs=k;this._ar=l;this._do=new Arrayh,g,f,e);var j=0;var b=h._bo;var a=h._fb);forvar d=0;d<a.length;d++){var c=a[d];j+=c.Count*c._dm+b)}this._br=j;this.__defineGetter__“_fd”,function){return this._bs});this.__defineGetter__“_as”,function){return this._ar});this.__defineGetter__“_dp”,function){return this._br});this.__defineGetter__“_cr”,function){return 17+4*this._bs});this._aq=function){var q=this._cr;var o=new _acq);o._bq0,0,9,9);o._bqq-8
,
0,8,9);o._bq0,q-8,9,8);var n=this._ar.length;forvar m=0;m<n;m++){var p=this._ar[m]-2;forvar r=0;r<n;r++){ifm==0&&r==0||r==n-1))||m==n-1&&r==0)){continue}o._bqthis._ar[r]-2,p,5,5)}}o._bq6,9,1,q-17);o._bq9,6,q-17,1);ifthis._bs>6){o._bqq-11,0,3,6);o._bq0,q-11,6,3)}return o};this._bu=functioni){return this._do[i.ordinal)]}}_a3._bv=new Array31892,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=functiona){ifa<1||a>40){throw“bad arguments”}return _a3.VERSIONS[a-1]};_a3._at=functionb){ifb%4!=1){throw“Error _at”}try{return _a3._avb-17)>>2)}catcha){throw“Error _av”}};_a3._aw=functiond){var b=4294967295;var f=0;forvar c=0;c<_a3._bv.length;c++){var a=_a3._bv[c];ifa==d){return this._avc+7)}var e=_ax._gjd,a);ife<b){f=c+7;b=e}}ifb<=3){return this._avf)}return null};function _ay){return new Arraynew _a31,new Array),new _a27,new _a11,19)),new _a210,new _a11,16)),new _a213,new _a11,13)),new _a217,new _a11,9))),new _a32,new Array6,18),new _a210,new _a11,34)),new _a216,new _a11,28)),new _a222,new _a11,22)),new _a228,new _a11,16))),new _a33,new Array6,22),new _a215,new _a11,55)),new _a226,new _a11,44)),new _a218,new _a12,17)),new _a222,new _a12,13))),new _a34,new Array6,26),new _a220,new _a11,80)),new _a218,new _a12,32)),new _a226,new _a12,24)),new _a216,new _a14,9))),new _a35,new Array6,30),new _a226,new _a11,108)),new _a224,new _a12,43)),new _a218,new _a12,15),new _a12,16)),new _a222,new _a12,11),new _a12,12))),new _a36,new Array6,34),new _a218,new _a12,68)),new _a216,new _a14,27)),new _a224,new _a14,19)),new _a228,new _a14,15))),new _a37,new Array6,22,38),new _a220,new _a12,78)),new _a218,new _a14,31)),new _a218,new _a12,14),new _a14,15)),new _a226,new _a14,13),new _a11,14))),new _a38,new Array6,24,42),new _a224,new _a12,97)),ne
w _a2
22,new _a12,38),new _a12,39)),new _a222,new _a14,18),new _a12,19)),new _a226,new _a14,14),new _a12,15))),new _a39,new Array6,26,46),new _a230,new _a12,116)),new _a222,new _a13,36),new _a12,37)),new _a220,new _a14,16),new _a14,17)),new _a224,new _a14,12),new _a14,13))),new _a310,new Array6,28,50),new _a218,new _a12,68),new _a12,69)),new _a226,new _a14,43),new _a11,44)),new _a224,new _a16,19),new _a12,20)),new _a228,new _a16,15),new _a12,16))),new _a311,new Array6,30,54),new _a220,new _a14,81)),new _a230,new _a11,50),new _a14,51)),new _a228,new _a14,22),new _a14,23)),new _a224,new _a13,12),new _a18,13))),new _a312,new Array6,32,58),new _a224,new _a12,92),new _a12,93)),new _a222,new _a16,36),new _a12,37)),new _a226,new _a14,20),new _a16,21)),new _a228,new _a17,14),new _a14,15))),new _a313,new Array6,34,62),new _a226,new _a14,107)),new _a222,new _a18,37),new _a11,38)),new _a224,new _a18,20),new _a14,21)),new _a222,new _a112,11),new _a14,12))),new _a314,new Array6,26,46,66),new _a230,new _a13,115),new _a11,116)),new _a224,new _a14,40),new _a15,41)),new _a220,new _a111,16),new _a15,17)),new _a224,new _a111,12),new _a15,13))),new _a315,new Array6,26,48,70),new _a222,new _a15,87),new _a11,88)),new _a224,new _a15,41),new _a15,42)),new _a230,new _a15,24),new _a17,25)),new _a224,new _a111,12),new _a17,13))),new _a316,new Array6,26,50,74),new _a224,new _a15,98),new _a11,99)),new _a228,new _a17,45),new _a13,46)),new _a224,new _a115,19),new _a12,20)),new _a230,new _a13,15),new _a113,16))),new _a317,new Array6,30,54,78),new _a228,new _a11,107),new _a15,108)),new _a228,new _a110,46),new _a11,47)),new _a228,new _a11,22),new _a115,23)),new _a228,new _a12,14),new _a117,15))),new _a318,new Array6,30,56,82),new _a230,new _a15,120),new _a11,121)),new _a226,new _a19,43),new _a14,44)),new _a228,new _a117,22),new _a11,23)),new _a228,new _a12,14),new _a119,15))),new _a319,new Array6,30,5
8,86),new _a228,new _a13,113),new _a14,114)),new _a226,new _a13,44),new _a111,45)),new _a226,new _a117,21),new _a14,22)),new _a226,new _a19,13),new _a116,14))),new _a320,new Array6,34,62,90),new _a228,new _a13,107),new _a15,108)),new _a226,new _a13,41),new _a113,42)),new _a230,new _a115,24),new _a15,25)),new _a228,new _a115,15),new _a110,16))),new _a321,new Array6,28,50,72,94),new _a228,new _a14,116),new _a14,117)),new _a226,new _a117,42)),new _a228,new _a117,22),new _a16,23)),new _a230,new _a119,16),new _a16,17))),new _a322,new Array6,26,50,74,98),new _a228,new _a12,111),new _a17,112)),new _a228,new _a117,46)),new _a230,new _a17,24),new _a116,25)),new _a224,new _a134,13))),new _a323,new Array6,30,54,74,102),new _a230,new _a14,121),new _a15,122)),new _a228,new _a14,47),new _a114,48)),new _a230,new _a111,24),new _a114,25)),new _a230,new _a116,15),new _a114,16))),new _a324,new Array6,28,54,80,106),new _a230,new _a16,117),new _a14,118)),new _a228,new _a16,45),new _a114,46)),new _a230,new _a111,24),new _a116,25)),new _a230,new _a130,16),new _a12,17))),new _a325,new Array6,32,58,84,110),new _a226,new _a18,106),new _a14,107)),new _a228,new _a18,47),new _a113,48)),new _a230,new _a17,24),new _a122,25)),new _a230,new _a122,15),new _a113,16))),new _a326,new Array6,30,58,86,114),new _a228,new _a110,114),new _a12,115)),new _a228,new _a119,46),new _a14,47)),new _a228,new _a128,22),new _a16,23)),new _a230,new _a133,16),new _a14,17))),new _a327,new Array6,34,62,90,118),new _a230,new _a18,122),new _a14,123)),new _a228,new _a122,45),new _a13,46)),new _a230,new _a18,23),new _a126,24)),new _a230,new _a112,15),new _a128,16))),new _a328,new Array6,26,50,74,98,122),new _a230,new _a13,117),new _a110,118)),new _a228,new _a13,45),new _a123,46)),new _a230,new _a14,24),new _a131,25)),new _a230,new _a111,15),new _a131,16))),new _a329,new Array6,30,54,78,102,126),new _a230,new _a17,116),new _a17,117)),n
ew _a2
28,new _a121,45),new _a17,46)),new _a230,new _a11,23),new _a137,24)),new _a230,new _a119,15),new _a126,16))),new _a330,new Array6,26,52,78,104,130),new _a230,new _a15,115),new _a110,116)),new _a228,new _a119,47),new _a110,48)),new _a230,new _a115,24),new _a125,25)),new _a230,new _a123,15),new _a125,16))),new _a331,new Array6,30,56,82,108,134),new _a230,new _a113,115),new _a13,116)),new _a228,new _a12,46),new _a129,47)),new _a230,new _a142,24),new _a11,25)),new _a230,new _a123,15),new _a128,16))),new _a332,new Array6,34,60,86,112,138),new _a230,new _a117,115)),new _a228,new _a110,46),new _a123,47)),new _a230,new _a110,24),new _a135,25)),new _a230,new _a119,15),new _a135,16))),new _a333,new Array6,30,58,86,114,142),new _a230,new _a117,115),new _a11,116)),new _a228,new _a114,46),new _a121,47)),new _a230,new _a129,24),new _a119,25)),new _a230,new _a111,15),new _a146,16))),new _a334,new Array6,34,62,90,118,146),new _a230,new _a113,115),new _a16,116)),new _a228,new _a114,46),new _a123,47)),new _a230,new _a144,24),new _a17,25)),new _a230,new _a159,16),new _a11,17))),new _a335,new Array6,30,54,78,102,126,150),new _a230,new _a112,121),new _a17,122)),new _a228,new _a112,47),new _a126,48)),new _a230,new _a139,24),new _a114,25)),new _a230,new _a122,15),new _a141,16))),new _a336,new Array6,24,50,76,102,128,154),new _a230,new _a16,121),new _a114,122)),new _a228,new _a16,47),new _a134,48)),new _a230,new _a146,24),new _a110,25)),new _a230,new _a12,15),new _a164,16))),new _a337,new Array6,28,54,80,106,132,158),new _a230,new _a117,122),new _a14,123)),new _a228,new _a129,46),new _a114,47)),new _a230,new _a149,24),new _a110,25)),new _a230,new _a124,15),new _a146,16))),new _a338,new Array6,32,58,84,110,136,162),new _a230,new _a14,122),new _a118,123)),new _a228,new _a113,46),new _a132,47)),new _a230,new _a148,24),new _a114,25)),new _a230,new _a142,15),new _a132,16))),new _a339,new Array6,26,54,
82,110,138,166),new _a230,new _a120,117),new _a14,118)),new _a228,new _a140,47),new _a17,48)),new _a230,new _a143,24),new _a122,25)),new _a230,new _a110,15),new _a167,16))),new _a340,new Array6,30,58,86,114,142,170),new _a230,new _a119,118),new _a16,119)),new _a228,new _a118,47),new _a131,48)),new _a230,new _a134,24),new _a134,25)),new _a230,new _a120,15),new _a161,16))))}function _aei,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=functionv){var s=v.length;var z=this.a11;var w=this.a12;var u=this.a13;var q=this.a21;var p=this.a22;var o=this.a23;var m=this.a31;var k=this.a32;var j=this.a33;forvar n=0;n<s;n+=2){var t=v[n];var r=v[n+1];var l=u*t+o*r+j;v[n]=z*t+q*r+m)/l;v[n+1]=w*t+p*r+k)/l}};this._fp=functionm,k){var q=m.length;forvar l=0;l<q;l++){var j=m[l];var p=k[l];var o=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){return new _aethis.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=functionj){return new _aethis.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=functionp,e,o,d,n,c,m,b,h,q,l,f,a,j,i,r){var g=this._bep,e,o,d,n,c,m,b);var k=this._bfh,q,l,f,a,j,i,r);return k.timesg)};_ae._bf=functiond,p,c,m,b,k,a,j){var h=j-k;var f=p-m+k-j;ifh==0&&f==0){return new _aec-d,b-c,d,m-p
,k-m,p,
0,0,1)}else{var q=c-b;var o=a-b;var l=d-c+b-a;var i=m-k;var e=q*h-o*i;var n=l*h-o*f)/e;var g=q*f-l*i)/e;return new _aec-d+n*c,a-d+g*a,d,m-p+n*m,j-p+g*j,p,n,g,1)}};_ae._be=functionf,h,d,g,b,e,a,c){return this._bff,h,d,g,b,e,a,c)._fr)};function _bgb,a){this.bits=b;this.points=a}function Detectora){this.image=a;this._am=null;this._bi=functionm,l,c,b){var d=Math.absb-l)>Math.absc-m);ifd){var r=m;m=l;l=r;r=c;c=b;b=r}var j=Math.absc-m);var i=Math.absb-l);var p=-j>>1;var u=l<b?1:-1;var f=m<c?1:-1;var e=0;forvar h=m,g=l;h!=c;h+=f){var t=d?g:h;var s=d?h:g;ife==1){ifthis.image[t+s*qrcode.width]){e++}}else{if!this.image[t+s*qrcode.width]){e++}}ife==3){var o=h-m;var n=g-l;return Math.sqrto*o+n*n))}p+=i;ifp>0){ifg==b){break}g+=u;p-=j}}var k=c-m;var q=b-l;return Math.sqrtk*k+q*q))};this._bh=functioni,g,h,f){var b=this._bii,g,h,f);var e=1;var d=i-h-i);ifd<0){e=i/i-d);d=0}else{ifd>=qrcode.width){e=qrcode.width-1-i)/d-i);d=qrcode.width-1}}var c=Math.floorg-f-g)*e);e=1;ifc<0){e=g/g-c);c=0}else{ifc>=qrcode.height){e=qrcode.height-1-g)/c-g);c=qrcode.height-1}}d=Math.floori+d-i)*e);b+=this._bii,g,d,c);return b-1};this._bj=functionc,d){var b=this._bhMath.floorc.X),Math.floorc.Y),Math.floord.X),Math.floord.Y));var e=this._bhMath.floord.X),Math.floord.Y),Math.floorc.X),Math.floorc.Y));ifisNaNb)){return e/7}ifisNaNe)){return b/7}returnb+e)/14};this._bk=functiond,c,b){returnthis._bjd,c)+this._bjd,b))/2};this.distance=functiond,b){var e=d.X-b.X;var c=d.Y-b.Y;return Math.sqrte*e+c*c))};this._bx=functiong,f,d,e){var b=Math.roundthis.distanceg,f)/e);var c=Math.roundthis.distanceg,d)/e);var h=b+c)>>1)+7;switchh&3){case 0:h++;break;case 2:h–;break;case 3:throw“Error”}return h};this._bl=functiong,f,d,j){var k=Math.floorj*g);var h=Math.max0,f-k);var i=Math.minqrcode.width-1,f+k);ifi-h<g*3){throw“Error”}var b=Math.max0,d-k);var c=Math.minqrcode.height-1,d+k);var e=new _akthis.image,h,b,i-h,c-b,g,this._am);return e.find)};this.createTransform=functionl,h,k,
b,g){
var j=g-3.5;var i;var f;var e;var c;ifb!=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}var d=_ae._ag3.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);return d};this._bz=functione,b,d){var c=_aa;return c._afe,d,b)};this._cd=functionq){var j=q._gq;var h=q._gs;var n=q._gp;var d=this._bkj,h,n);ifd<1){throw“Error”}var r=this._bxj,h,n,d);var b=_a3._atr);var k=b._cr-7;var l=null;ifb._as.length>0){var f=h.X-j.X+n.X;var e=h.Y-j.Y+n.Y;var c=13/k;var t=Math.floorj.X+c*f-j.X));var s=Math.floorj.Y+c*e-j.Y));forvar p=4;p<=16;p<<=1){l=this._bld,t,s,p);break}}var g=this.createTransformj,h,n,l,r);var m=this._bzthis.image,g,r);var o;ifl==null){o=new Arrayn,j,h)}else{o=new Arrayn,j,h,l)}return new _bgm,o)};this.detect=function){var b=new _cc)._cethis.image);return this._cdb)}}var _ca=21522;var _cb=new Arraynew Array21522,0),new Array20773,1),new Array24188,2),new Array23371,3),new Array17913,4),new Array16590,5),new Array20375,6),new Array19104,7),new Array30660,8),new Array29427,9),new Array32170,10),new Array30877,11),new Array26159,12),new Array25368,13),new Array27713,14),new Array26998,15),new Array5769,16),new Array5054,17),new Array7399,18),new Array6608,19),new Array1890,20),new Array597,21),new Array3340,22),new Array2107,23),new Array13663,24),new Array12392,25),new Array16177,26),new Array14854,27),new Array9396,28),new Array8579,29),new Array11994,30),new Array11245,31));var _ch=new Array0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4);function _axa){this._cf=_cg.forBitsa>>3)&3);this._fe=a&7);this.__defineGetter__“_cg”,function){return this._cf});this.__defineGetter__“_dx”,function){return this._fe});this.GetHashCode=function){returnthis._cf.ordinal)<<3)|_fe};this.Equals=functionc){var b=c;return this._cf==b._cf&&this._fe==b._fe}}_ax._gj=functiond,c){d^=c;return _ch[d&15]+_ch[_ewd,4)&15)]+_ch[_ewd,8)&15)]+_ch[_ewd,12)&15)]+_ch[_ewd,16)&15)]+_ch[_ewd,20)&15)]+_ch[_ewd,24)&15)]+_ch[_ewd,28)&15)]};_ax._ci=functiona){var
 b=_ax._cja);
ifb!=null){return b}return _ax._cja^_ca)};_ax._cj=functiond){var b=4294967295;var a=0;forvar c=0;c<_cb.length;c++){var g=_cb[c];var f=g[0];iff==d){return new _axg[1])}var e=this._gjd,f);ife<b){a=g[1];b=e}}ifb<=3){return new _axa)}return null};function _cga,c,b){this._ff=a;this.bits=c;this.name=b;this.__defineGetter__“Bits”,function){return this.bits});this.__defineGetter__“Name”,function){return this.name});this.ordinal=function){return this._ff}}_cg.forBits=functiona){ifa<0||a>=FOR_BITS.length){throw“bad arguments”}return FOR_BITS[a]};var L=new _cg0,1,“L”);var M=new _cg1,0,“M”);var Q=new _cg2,3,“Q”);var H=new _cg3,2,“H”);var FOR_BITS=new ArrayM,L,H,Q);function _acd,a){if!a){a=d}ifd<1||a<1){throw“Both dimensions must be greater than 0”}this.width=d;this.height=a;var c=d>>5;ifd&31)!=0){c++}this.rowSize=c;this.bits=new Arrayc*a);forvar b=0;b<this.bits.length;b++){this.bits[b]=0}this.__defineGetter__“Width”,function){return this.width});this.__defineGetter__“Height”,function){return this.height});this.__defineGetter__“Dimension”,function){ifthis.width!=this.height){throw“Can’t call getDimension) on a non-square matrix”}return this.width});this._ds=functione,g){var f=g*this.rowSize+e>>5);return_ewthis.bits[f],e&31)))&1)!=0};this._dq=functione,g){var f=g*this.rowSize+e>>5);this.bits[f]|=1<<e&31)};this.flip=functione,g){var f=g*this.rowSize+e>>5);this.bits[f]^=1<<e&31)};this.clear=function){var e=this.bits.length;forvar f=0;f<e;f++){this.bits[f]=0}};this._bq=functiong,j,f,m){ifj<0||g<0){throw“Left and top must be nonnegative”}ifm<1||f<1){throw“Height and width must be at least 1”}var l=g+f;var e=j+m;ife>this.height||l>this.width){throw“The region must fit inside the matrix”}forvar i=j;i<e;i++){var h=i*this.rowSize;forvar k=g;k<l;k++){this.bits[h+k>>5)]|=1<<k&31)}}}}function _dla,b){this._dv=a;this._dw=b;this.__defineGetter__“_du”,function){return this._dv});this.__defineGetter__“Codewords”,function){return this._dw})}_dl._gn=functionc,h,r)
{
ifc.length!=h._dp){throw“bad arguments”}var k=h._bur);var e=0;var d=k._fb);forvar q=0;q<d.length;q++){e+=d[q].Count}var l=new Arraye);var n=0;forvar o=0;o<d.length;o++){var f=d[o];forvar q=0;q<f.Count;q++){var m=f._dm;var s=k._bo+m;l[n++]=new _dlm,new Arrays))}}var t=l[0]._dw.length;var b=l.length-1;whileb>=0){var v=l[b]._dw.length;ifv==t){break}b–}b++;var g=t-k._bo;var a=0;forvar q=0;q<g;q++){forvar o=0;o<n;o++){l[o]._dw[q]=c[a++]}}forvar o=b;o<n;o++){l[o]._dw[g]=c[a++]}var p=l[0]._dw.length;forvar q=g;q<p;q++){forvar o=0;o<n;o++){var u=o<b?q:q+1;l[o]._dw[u]=c[a++]}}return l};function _cla){var b=a.Dimension;ifb<21||b&3)!=1){throw“Error _cl”}this._au=a;this._cp=null;this._co=null;this._dk=functiond,c,e){return this._au._dsd,c)?e<<1)|1:e<<1};this._cm=function){ifthis._co!=null){return this._co}var g=0;forvar e=0;e<6;e++){g=this._dke,8,g)}g=this._dk7,8,g);g=this._dk8,8,g);g=this._dk8,7,g);forvar c=5;c>=0;c–){g=this._dk8,c,g)}this._co=_ax._cig);ifthis._co!=null){return this._co}var f=this._au.Dimension;g=0;var d=f-8;forvar e=f-1;e>=d;e–){g=this._dke,8,g)}forvar c=f-7;c<f;c++){g=this._dk8,c,g)}this._co=_ax._cig);ifthis._co!=null){return this._co}throw“Error _cm”};this._cq=function){ifthis._cp!=null){return this._cp}var h=this._au.Dimension;var f=h-17)>>2;iff<=6){return _a3._avf)}var g=0;var e=h-11;forvar c=5;c>=0;c–){forvar d=h-9;d>=e;d–){g=this._dkd,c,g)}}this._cp=_a3._awg);ifthis._cp!=null&&this._cp._cr==h){return this._cp}g=0;forvar d=5;d>=0;d–){forvar c=h-9;c>=e;c–){g=this._dkd,c,g)}}this._cp=_a3._awg);ifthis._cp!=null&&this._cp._cr==h){return this._cp}throw“Error _cq”};this._gk=function){var q=this._cm);var o=this._cq);var c=_dx._glq._dx);var f=this._au.Dimension;c._djthis._au,f);var k=o._aq);var n=true;var r=new Arrayo._dp);var m=0;var p=0;var h=0;forvar e=f-1;e>0;e-=2){ife==6){e–}forvar l=0;l<f;l++){var g=n?f-1-l:l;forvar d=0;d<2;d++){if!k._dse-d,g)){h++;p<<=1;ifthis._au._dse-d,g)){p|=1}ifh==8){r[m++]=p;h=0;p=0}}}}n^=true}ifm!=o.
_dp){
throw“Error _gk”}return r}}var _dx={};_dx._gl=functiona){ifa<0||a>7){throw“bad arguments”}return _dx._dy[a]};function _fg){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){returnb+a)&1)==0}}function _fh){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){returnb&1)==0}}function _fi){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){return a%3==0}}function _fj){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){returnb+a)%3==0}}function _fk){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){return_ewb,1))+a/3))&1)==0}}function _fl){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionc,b){var a=c*b;returna&1)+a%3)==0}}function _fm){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionc,b){var a=c*b;returna&1)+a%3))&1)==0}}function _fn){this._dj=functionc,d){forvar b=0;b<d;b++){forvar a=0;a<d;a++){ifthis._fwb,a)){c.flipa,b)}}}};this._fw=functionb,a){returnb+a)&1)+b*a)%3))&1)==0}}_dx._dy=new Arraynew _fg),new _fh),new _fi),new _fj),new _fk),new _fl),new _fm),new _fn));function _dba){this._fa=a;this.decode=functionj,f){var c=new _bpthis._fa,j);var p=new Arrayf);forvar g=0;g<p.length;g++){p[g]=0}var m=false;var d=true;forvar g=0;g<f;g++){var q=c.evaluateAtthis._fa.expm?g+1:g));p[p.length-1-g]=q;ifq!=0){d=false}}ifd){return}var b=new _bpthis._fa,p);var l=this._ebthis._fa._baf,1),b,f);var o=l[0];var n=l[1];var k=this._eyo);var e=this._din,k,m);forvar g=0;g<k.length;g++){var h=j.length-1this._fa.logk[g]);ifh<0){throw“ReedSolomonException Bad error location”}j[h]=_az._bdj[
h],e[g])}};
this._eb=functionz,y,f){ifz._ec<y._ec){var w=z;z=y;y=w}var B=z;var k=y;var o=this._fa.One;var j=this._fa.Zero;var e=this._fa.Zero;var i=this._fa.One;whilek._ec>=Math.floorf/2)){var x=B;var g=o;var v=e;B=k;o=j;e=i;ifB.Zero){throw“r_{i-1} was zero”}k=x;var m=this._fa.Zero;var p=B._exB._ec);var h=this._fa.inversep);whilek._ec>=B._ec&&!k.Zero){var c=k._ec-B._ec;var A=this._fa.multiplyk._exk._ec),h);m=m._bdthis._fa._bac,A));k=k._bdB._dcc,A))}j=m.multiply1o)._bdg);i=m.multiply1e)._bdv)}var u=i._ex0);ifu==0){throw“ReedSolomonException sigmaTilde0) was zero”}var d=this._fa.inverseu);var n=i.multiply2d);var l=k.multiply2d);return new Arrayn,l)};this._ey=functionf){var g=f._ec;ifg==1){return new Arrayf._ex1))}var b=new Arrayg);var d=0;forvar c=1;c<256&&d<g;c++){iff.evaluateAtc)==0){b[d]=this._fa.inversec);d++}}ifd!=g){throw“Error locator degree does not match number of roots”}return b};this._di=functionf,h,g){var k=h.length;var l=new Arrayk);forvar e=0;e<k;e++){var b=this._fa.inverseh[e]);var c=1;forvar d=0;d<k;d++){ife!=d){c=this._fa.multiplyc,_az._bd1,this._fa.multiplyh[d],b)))}}l[e]=this._fa.multiplyf.evaluateAtb),this._fa.inversec));ifg){l[e]=this._fa.multiplyl[e],b)}}return l}}function _bpf,e){ife==null||e.length==0){throw“bad arguments”}this._fa=f;var c=e.length;ifc>1&&e[0]==0){var d=1;whiled<c&&e[d]==0){d++}ifd==c){this._dd=f.Zero._dd}else{this._dd=new Arrayc-d);forvar b=0;b<this._dd.length;b++){this._dd[b]=0}forvar a=0;a<this._dd.length;a++){this._dd[a]=e[d+a]}}}else{this._dd=e}this.__defineGetter__“Zero”,function){return this._dd[0]==0});this.__defineGetter__“_ec”,function){return this._dd.length-1});this.__defineGetter__“Coefficients”,function){return this._dd});this._ex=functiong){return this._dd[this._dd.length-1-g]};this.evaluateAt=functionh){ifh==0){return this._ex0)}var l=this._dd.length;ifh==1){var g=0;forvar k=0;k<l;k++){g=_az._bdg,this._dd[k])}return g}var j=this._dd[0];forvar k=1;k<l;k++){j=_az._bdthis._fa.multiplyh,j),t
his._dd[k])}
return j};this._bd=functiong){ifthis._fa!=g._fa){throw“GF256Polys do not have same _az _fa”}ifthis.Zero){return g}ifg.Zero){return this}var o=this._dd;var n=g._dd;ifo.length>n.length){var j=o;o=n;n=j}var h=new Arrayn.length);var k=n.length-o.length;forvar m=0;m<k;m++){h[m]=n[m]}forvar l=k;l<n.length;l++){h[l]=_az._bdo[l-k],n[l])}return new _bpf,h)};this.multiply1=functiono){ifthis._fa!=o._fa){throw“GF256Polys do not have same _az _fa”}ifthis.Zero||o.Zero){return this._fa.Zero}var q=this._dd;var g=q.length;var l=o._dd;var n=l.length;var p=new Arrayg+n-1);forvar m=0;m<g;m++){var h=q[m];forvar k=0;k<n;k++){p[m+k]=_az._bdp[m+k],this._fa.multiplyh,l[k]))}}return new _bpthis._fa,p)};this.multiply2=functiong){ifg==0){return this._fa.Zero}ifg==1){return this}var j=this._dd.length;var k=new Arrayj);forvar h=0;h<j;h++){k[h]=this._fa.multiplythis._dd[h],g)}return new _bpthis._fa,k)};this._dc=functionl,g){ifl<0){throw“bad arguments”}ifg==0){return this._fa.Zero}var j=this._dd.length;var k=new Arrayj+l);forvar h=0;h<k.length;h++){k[h]=0}forvar h=0;h<j;h++){k[h]=this._fa.multiplythis._dd[h],g)}return new _bpthis._fa,k)};this.divide=functionl){ifthis._fa!=l._fa){throw“GF256Polys do not have same _az _fa”}ifl.Zero){throw“Divide by 0”}var j=this._fa.Zero;var o=this;var g=l._exl._ec);var n=this._fa.inverseg);whileo._ec>=l._ec&&!o.Zero){var m=o._ec-l._ec;var h=this._fa.multiplyo._exo._ec),n);var i=l._dcm,h);var k=this._fa._bam,h);j=j._bdk);o=o._bdi)}return new Arrayj,o)}}function _azb){this._gh=new Array256);this._gi=new Array256);var a=1;forvar e=0;e<256;e++){this._gh[e]=a;a<<=1;ifa>=256){a^=b}}forvar e=0;e<255;e++){this._gi[this._gh[e]]=e}var d=new Array1);d[0]=0;this.zero=new _bpthis,new Arrayd));var c=new Array1);c[0]=1;this.one=new _bpthis,new Arrayc));this.__defineGetter__“Zero”,function){return this.zero});this.__defineGetter__“One”,function){return this.one});this._ba=functionj,f){ifj<0){throw“bad arguments”}iff==0){return zero}var h=new Arrayj+
1);forvar g=0;g<h.length;g++){h[g]=0}h[0]=f;return new _bpthis,h)};this.exp=functionf){return this._gh[f]};this.log=functionf){iff==0){throw“bad arguments”}return this._gi[f]};this.inverse=functionf){iff==0){throw“System.ArithmeticException”}return this._gh[255this._gi[f]]};this.multiply=functiong,f){ifg==0||f==0){return 0}ifg==1){return f}iff==1){return g}return this._gh[this._gi[g]+this._gi[f])%255]}}_az._bb=new _az285);_az._bc=new _az301);_az._bd=functiond,c){return d^c};var Decoder={};Decoder.rsDecoder=new _db_az._bb);Decoder.correctErrors=functiong,b){var d=g.length;var f=new Arrayd);forvar e=0;e<d;e++){f[e]=g[e]&255}var a=g.length-b;try{Decoder.rsDecoder.decodef,a)}catchc){throw c}forvar e=0;e<b;e++){g[e]=f[e]}};Decoder.decode=functionq){var b=new _clq);var o=b._cq);var c=b._cm)._cg;var p=b._gk);var a=_dl._gnp,o,c);var f=0;forvar k=0;k<a.length;k++){f+=a[k]._du}var e=new Arrayf);var n=0;forvar h=0;h<a.length;h++){var m=a[h];var d=m.Codewords;var g=m._du;Decoder.correctErrorsd,g);forvar k=0;k<g;k++){e[n++]=d[k]}}var l=new QRCodeDataBlockReadere,o._fd,c.Bits);return l};var qrcode={};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=functiona){qrcode.localstream=a;ifqrcode.webkit){qrcode.video.src=window.webkitURL.createObjectURLa)}else{ifqrcode.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;setTimeoutqrcode.captureToCanvas,500)};qrcode.vidError=functiona){qrcode.gUM=false;return};qrcode.captureToCanvas=function){ifqrcode.gUM){try{ifqrcode.video.videoWidth==0){setTimeoutqrcode.captureToCanvas,500);return}else{qrcode.canvas_qr
2.width=qrcode.video.videoWidth;qrcode.canvas_qr2.height=qrcode.video.videoHeight}qrcode.qrcontext2.drawImageqrcode.video,0,0);try{qrcode.decode)}catcha){console.loga);setTimeoutqrcode.captureToCanvas,500)}}catcha){console.loga);setTimeoutqrcode.captureToCanvas,500)}}};qrcode.setWebcam=functionc){var d=navigator;qrcode.video=document.getElementByIdc);var a=true;ifnavigator.mediaDevices&&navigator.mediaDevices.enumerateDevices){try{navigator.mediaDevices.enumerateDevices).thenfunctione){e.forEachfunctionf){console.log“deb1”);iff.kind===“videoinput”){iff.label.toLowerCase).search“back”)>-1){a=[{sourceId:f.deviceId}]}}console.logf.kind+“: “+f.label+” id = “+f.deviceId)})})}catchb){console.logb)}}else{console.log“no navigator.mediaDevices.enumerateDevices”)}ifd.getUserMedia){d.getUserMedia{video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}else{ifd.webkitGetUserMedia){qrcode.webkit=true;d.webkitGetUserMedia{video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}else{ifd.mozGetUserMedia){qrcode.moz=true;d.mozGetUserMedia{video:a,audio:false},qrcode.vidSuccess,qrcode.vidError)}}}};qrcode.decode=functiond){ifarguments.length==0){ifqrcode.canvas_qr2){var b=qrcode.canvas_qr2;var a=qrcode.qrcontext2}else{var b=document.getElementById“qr-canvas”);var a=b.getContext“2d”)}qrcode.width=b.width;qrcode.height=b.height;qrcode.imagedata=a.getImageData0,0,qrcode.width,qrcode.height);qrcode.result=qrcode.processa);ifqrcode.callback!=null){qrcode.callbackqrcode.result)}return qrcode.result}else{var c=new Image);c.crossOrigin=“Anonymous”;c.onload=function){var g=document.getElementById“out-canvas”);ifg!=null){var j=g.getContext“2d”);j.clearRect0,0,320,240);j.drawImagec,0,0,320,240)}var i=document.createElement“canvas”);var h=i.getContext“2d”);var f=c.height;var l=c.width;ifc.width*c.height>qrcode.maxImgSize){var k=c.width/c.height;f=Math.sqrtqrcode.maxImgSize/k);l=k*f}i.width=l;i.height=f;h.drawImagec,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)}catchm){qrcode.result=“Cross domain image reading not supported in your browser! Save it to your computer then drag and drop the file!”;ifqrcode.callback!=null){qrcode.callbackqrcode.result)}return}try{qrcode.result=qrcode.processh)}catchm){console.logm);qrcode.result=“error decoding QR Code”}ifqrcode.callback!=null){qrcode.callbackqrcode.result)}};c.onerror=function){ifqrcode.callback!=null){qrcode.callback“Failed to load the image”)}};c.src=d}};qrcode.isUrl=functiona){var b=/ftp|http|https)://w+:{0,1}w*@)?S+):[09]+)?/|/[w#!:.?+=&%@!-/]))?/;return b.testa)};qrcode.decode_url=functionb){var d=“”;try{d=escapeb)}catchc){console.logc);d=b}var a=“”;try{a=decodeURIComponentd)}catchc){console.logc);a=d}return a};qrcode.decode_utf8=functiona){ifqrcode.isUrla)){return qrcode.decode_urla)}else{return a}};qrcode.process=functionq){var a=new Date).getTime);var c=qrcode.grayScaleToBitmapqrcode.grayscale));ifqrcode.debug){forvar m=0;m<qrcode.height;m++){forvar n=0;n<qrcode.width;n++){var o=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.putImageDataqrcode.imagedata,0,0)}var h=new Detectorc);var p=h.detect);ifqrcode.debug){forvar m=0;m<p.bits.Height;m++){forvar n=0;n<p.bits.Width;n++){var o=n*4*2)+m*2*qrcode.width*4);qrcode.imagedata.data[o]=p.bits._dsn,m)?0:0;qrcode.imagedata.data[o+1]=p.bits._dsn,m)?0:0;qrcode.imagedata.data[o+2]=p.bits._dsn,m)?255:0}}q.putImageDataqrcode.imagedata,0,0)}var k=Decoder.decodep.bits);var g=k.DataByte;var l=“”;forvar f=0;f<g.length;f++){forvar e=0;e<g[f].length;e++){l+=String.fromCharCodeg[f][e])}}var d=new Date).getTime);var b=d-a;console.logb);return qrcode.decode_utf8l)};qrcode.getPixel=functionb,d){ifqrcode.width<b){throw“point error”}ifqrcode.height<d){throw“point error”}var a=b*4)+d*qrcode.width*4);var c=qrcode.imagedata.data[a]*33+qrcod
e.imagedata.data[a+
1]*34+qrcode.imagedata.data[a+2]*33)/100;return c};qrcode.binarize=functiond){var c=new Arrayqrcode.width*qrcode.height);forvar e=0;e<qrcode.height;e++){forvar b=0;b<qrcode.width;b++){var a=qrcode.getPixelb,e);c[b+e*qrcode.width]=a<=d?true:false}}return c};qrcode._em=functiond){var c=4;var k=Math.floorqrcode.width/c);var j=Math.floorqrcode.height/c);var f=new Arrayc);forvar g=0;g<c;g++){f[g]=new Arrayc);forvar e=0;e<c;e++){f[g][e]=new Array0,0)}}forvar o=0;o<c;o++){forvar a=0;a<c;a++){f[a][o][0]=255;forvar l=0;l<j;l++){forvar n=0;n<k;n++){var h=d[k*a+n+j*o+l)*qrcode.width];ifh<f[a][o][0]){f[a][o][0]=h}ifh>f[a][o][1]){f[a][o][1]=h}}}}}var m=new Arrayc);forvar b=0;b<c;b++){m[b]=new Arrayc)}forvar o=0;o<c;o++){forvar a=0;a<c;a++){m[a][o]=Math.floorf[a][o][0]+f[a][o][1])/2)}}return m};qrcode.grayScaleToBitmap=functionf){var k=qrcode._emf);var b=k.length;var e=Math.floorqrcode.width/b);var d=Math.floorqrcode.height/b);var h=new ArrayBufferqrcode.width*qrcode.height);var c=new Uint8Arrayh);forvar j=0;j<b;j++){forvar a=0;a<b;a++){forvar g=0;g<d;g++){forvar i=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}}}}return c};qrcode.grayscale=function){var e=new ArrayBufferqrcode.width*qrcode.height);var c=new Uint8Arraye);forvar d=0;d<qrcode.height;d++){forvar b=0;b<qrcode.width;b++){var a=qrcode.getPixelb,d);c[b+d*qrcode.width]=a}}return c};function _ewa,b){ifa>=0){return a>>b}else{returna>>b)+2<<~b)}}var _gf=3;var _eh=57;var _el=8;var _eg=2;qrcode._er=functionc){function bm,k){var n=m.X-k.X;var l=m.Y-k.Y;return Math.sqrtn*n+l*l))}function dk,o,n){var m=o.x;var l=o.y;returnn.x-m)*k.y-l))-n.y-l)*k.x-m))}var i=bc[0],c[1]);var f=bc[1],c[2]);var e=bc[0],c[2]);var a,j,h;iff>=i&&f>=e){j=c[0];a=c[1];h=c[2]}else{ife>=f&&e>=i){j=c[1];a=c[0];h=c[2]}else{j=c[2];a=c[0];h=c[1]}}ifda,j,h)<0){var g=a;a=h;h=g}c[0]=a;c[1]=j;c[2]=h};function _czc,a,b){this.x=c;this.y=a;this.count=1;this._aj=b;this.__defineGetter__
_ei“,function){return this._aj});this.__defineGetter__”Count“,function){return this.count});this.__defineGetter__”X“,function){return this.x});this.__defineGetter__”Y“,function){return this.y});this._ek=function){this.count++};this._ev=functionf,e,d){ifMath.abse-this.y)<=f&&Math.absd-this.x)<=f){var g=Math.absf-this._aj);return g<=1||g/this._aj<=1}return false}}function _esa){this._go=a[0];this._gu=a[1];this._gr=a[2];this.__defineGetter__”_gp“,function){return this._go});this.__defineGetter__”_gq“,function){return this._gu});this.__defineGetter__”_gs“,function){return this._gr})}function _cc){this.image=null;this._cv=[];this._ge=false;this._al=new Array0,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;return this._al});this._ao=functionf){var b=0;forvar d=0;d<5;d++){var e=f[d];ife==0){return false}b+=e}ifb<7){return false}var c=Math.floorb<<_el)/7);var a=Math.floorc/2);return Math.absc-f[0]<<_el))<a&&Math.absc-f[1]<<_el))<a&&Math.abs3*c-f[2]<<_el))<3*a&&Math.absc-f[3]<<_el))<a&&Math.absc-f[4]<<_el))<a};this._an=functionb,a){returna-b[4]-b[3])-b[2]/2};this._ap=functiona,j,d,g){var c=this.image;var h=qrcode.height;var b=this._da;var f=a;whilef>=0&&c[j+f*qrcode.width]){b[2]++;f–}iff<0){return NaN}whilef>=0&&!c[j+f*qrcode.width]&&b[1]<=d){b[1]++;f–}iff<0||b[1]>d){return NaN}whilef>=0&&c[j+f*qrcode.width]&&b[0]<=d){b[0]++;f–}ifb[0]>d){return NaN}f=a+1;whilef<h&&c[j+f*qrcode.width]){b[2]++;f++}iff==h){return NaN}whilef<h&&!c[j+f*qrcode.width]&&b[3]<d){b[3]++;f++}iff==h||b[3]>=d){return NaN}whilef<h&&c[j+f*qrcode.width]&&b[4]<d){b[4]++;f++}ifb[4]>=d){return NaN}var e=b[0]+b[1]+b[2]+b[3]+b[4];if5*Math.abse-g)>=2*g){return NaN}return this._aob)?this._anb,f):NaN};this._ej=functionb,a,e,h){var d=this.image;var i=qrcode.width;var c=this._da;var g=b;whileg>=0&&d[g+a*qrcode.width]){c[2]++;g–}ifg<0){return NaN}whileg>=0&&!d[g+a*qrcode.width]&&c[1]<=e){c[1]++;g–}ifg<0||c[1]>e){r
eturn NaN}whileg>=0&&d[g+a*qrcode.width]&&c[0]<=e){c[0]++;g–}ifc[0]>e){return NaN}g=b+1;whileg<i&&d[g+a*qrcode.width]){c[2]++;g++}ifg==i){return NaN}whileg<i&&!d[g+a*qrcode.width]&&c[3]<e){c[3]++;g++}ifg==i||c[3]>=e){return NaN}whileg<i&&d[g+a*qrcode.width]&&c[4]<e){c[4]++;g++}ifc[4]>=e){return NaN}var f=c[0]+c[1]+c[2]+c[3]+c[4];if5*Math.absf-h)>=h){return NaN}return this._aoc)?this._anc,g):NaN};this._cu=functionc,f,e){var d=c[0]+c[1]+c[2]+c[3]+c[4];var n=this._anc,e);var b=this._apf,Math.floorn),c[2],d);if!isNaNb)){n=this._ejMath.floorn),Math.floorb),c[2],d);if!isNaNn)){var l=d/7;var m=false;var h=this._cv.length;forvar g=0;g<h;g++){var a=this._cv[g];ifa._evl,b,n)){a._ek);m=true;break}}if!m){var k=new _czn,b,l);this._cv.pushk);ifthis._am!=null){this._am._epk)}}return true}}return false};this._ee=function){var h=this._cv.length;ifh<3){throw“Couldn’t find enough finder patterns found “+h+“)”}ifh>3){var b=0;var j=0;forvar d=0;d<h;d++){var g=this._cv[d]._ei;b+=g;j+=g*g)}var a=b/h;this._cv.sortfunctionm,l){var k=Math.absl._ei-a);var i=Math.absm._ei-a);ifk<i){return1)}else{ifk==i){return 0}else{return 1}}});var e=Math.sqrtj/h-a*a);var c=Math.max0.2*a,e);forvar d=this._cv.length-1;d>=0;d–){var f=this._cv[d];ifMath.absf._ei-a)>c){this._cv.spliced,1)}}}ifthis._cv.length>3){this._cv.sortfunctionk,i){ifk.count>i.count){return –1}ifk.count<i.count){return 1}return 0})}return new Arraythis._cv[0],this._cv[1],this._cv[2])};this._eq=function){var b=this._cv.length;ifb<=1){return 0}var c=null;forvar d=0;d<b;d++){var a=this._cv[d];ifa.Count>=_eg){ifc==null){c=a}else{this._ge=true;return Math.floorMath.absc.X-a.X)-Math.absc.Y-a.Y))/2)}}}return 0};this._cx=function){var g=0;var c=0;var a=this._cv.length;forvar d=0;d<a;d++){var f=this._cv[d];iff.Count>=_eg){g++;c+=f._ei}}ifg<3){return false}var e=c/a;var b=0;forvar d=0;d<a;d++){f=this._cv[d];b+=Math.absf._ei-e)}return b<=0.05*c};this._ce=functione){var o=false;this.image=e;var n=qrcode.height;var k=qrcode.
width;
var a=Math.floor3*n)/4*_eh));ifa<_gf||o){a=_gf}var g=false;var d=new Array5);forvar h=a-1;h<n&&!g;h+=a){d[0]=0;d[1]=0;d[2]=0;d[3]=0;d[4]=0;var b=0;forvar f=0;f<k;f++){ife[f+h*qrcode.width]){ifb&1)==1){b++}d[b]++}else{ifb&1)==0){ifb==4){ifthis._aod)){var c=this._cud,h,f);ifc){a=2;ifthis._ge){g=this._cx)}else{var m=this._eq);ifm>d[2]){h+=m-d[2]-a;f=k-1}}}else{do{f++}whilef<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]++}}}ifthis._aod)){var c=this._cud,h,k);ifc){a=d[0];ifthis._ge){g=_cx)}}}}var l=this._ee);qrcode._erl);return new _esl)}}function _aic,a,b){this.x=c;this.y=a;this.count=1;this._aj=b;this.__defineGetter__“_ei”,function){return this._aj});this.__defineGetter__“Count”,function){return this.count});this.__defineGetter__“X”,function){return Math.floorthis.x)});this.__defineGetter__“Y”,function){return Math.floorthis.y)});this._ek=function){this.count++};this._ev=functionf,e,d){ifMath.abse-this.y)<=f&&Math.absd-this.x)<=f){var g=Math.absf-this._aj);return g<=1||g/this._aj<=1}return false}}function _akg,c,b,f,a,e,d){this.image=g;this._cv=new Array);this.startX=c;this.startY=b;this.width=f;this.height=a;this._ef=e;this._al=new Array0,0,0);this._am=d;this._an=functioni,h){returnh-i[2])-i[1]/2};this._ao=functionl){var k=this._ef;var h=k/2;forvar j=0;j<3;j++){ifMath.absk-l[j])>=h){return false}}return true};this._ap=functionh,q,l,o){var k=this.image;var p=qrcode.height;var j=this._al;j[0]=0;j[1]=0;j[2]=0;var n=h;whilen>=0&&k[q+n*qrcode.width]&&j[1]<=l){j[1]++;n–}ifn<0||j[1]>l){return NaN}whilen>=0&&!k[q+n*qrcode.width]&&j[0]<=l){j[0]++;n–}ifj[0]>l){return NaN}n=h+1;whilen<p&&k[q+n*qrcode.width]&&j[1]<=l){j[1]++;n++}ifn==p||j[1]>l){return NaN}whilen<p&&!k[q+n*qrcode.width]&&j[2]<=l){j[2]++;n++}ifj[2]>l){return NaN}var m=j[0]+j[1]+j[2];if5*Math.absm-o)>=2*o){return NaN}return this._aoj)?this._anj,n):NaN};this._cu=functionl,o,n){var m=l[0
]+l[
1]+l[2];var t=this._anl,n);var k=this._apo,Math.floort),2*l[1],m);if!isNaNk)){var s=l[0]+l[1]+l[2])/3;var q=this._cv.length;forvar p=0;p<q;p++){var h=this._cv[p];ifh._evs,k,t)){return new _ait,k,s)}}var r=new _ait,k,s);this._cv.pushr);ifthis._am!=null){this._am._epr)}}return null};this.find=function){var p=this.startX;var s=this.height;var q=p+f;var r=b+s>>1);var m=new Array0,0,0);forvar k=0;k<s;k++){var o=r+k&1)==0?k+1)>>1):-k+1)>>1));m[0]=0;m[1]=0;m[2]=0;var n=p;whilen<q&&!g[n+qrcode.width*o]){n++}var h=0;whilen<q){ifg[n+o*qrcode.width]){ifh==1){m[h]++}else{ifh==2){ifthis._aom)){var l=this._cum,o,n);ifl!=null){return l}}m[0]=m[2];m[1]=1;m[2]=0;h=1}else{m[++h]++}}}else{ifh==1){h++}m[h]++}n++}ifthis._aom)){var l=this._cum,o,q);ifl!=null){return l}}}if!this._cv.length==0)){return this._cv[0]}throw“Couldn’t find enough alignment patterns”}}function QRCodeDataBlockReaderc,a,b){this._ed=0;this._cw=7;this.dataLength=0;this.blocks=c;this._en=b;ifa<=9){this.dataLengthMode=0}else{ifa>=10&&a<=26){this.dataLengthMode=1}else{ifa>=27&&a<=40){this.dataLengthMode=2}}}this._gd=functionf){var k=0;iff<this._cw+1){var m=0;forvar e=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;return k}else{iff<this._cw+1+8){var j=0;forvar e=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;ifthis._cw<0){this._cw=8+this._cw}return k}else{iff<this._cw+1+16){var j=0;var h=0;forvar e=0;e<this._cw+1;e++){j+=1<<e)}var g=this.blocks[this._ed]&j)<<f-this._cw+1));this._ed++;var d=this.blocks[this._ed]<<f-this._cw+1+8));this._ed++;forvar e=0;e<f-this._cw+1+8);e++){h+=1<<e)}h<<=8-f-this._cw+1+8));var l=this.blocks[this._ed]&h)>>8-f-this._cw+1+8)));k=g+d+l;this._cw=this._cw-f-8)%8;ifthis._cw<0){this._cw=8+this._cw}return k}else{return 0}}}};this.NextMode=function){ifthis._ed>this.blocks.length-this._en-2)){return 0}else{return
 
this._gd4)}};this.getDataLength=functiond){var e=0;whiletrue){ifd>>e)==1){break}e++}return this._gdqrcode._eo[this.dataLengthMode][e])};this.getRomanAndFigureString=functionh){var f=h;var g=0;var j=“”;var d=new Array“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{iff>1){g=this._gd11);var i=Math.floorg/45);var e=g%45;j+=d[i];j+=d[e];f-=2}else{iff==1){g=this._gd6);j+=d[g];f-=1}}}whilef>0);return j};this.getFigureString=functionf){var d=f;var e=0;var g=“”;do{ifd>=3){e=this._gd10);ife<100){g+=“0”}ife<10){g+=“0”}d-=3}else{ifd==2){e=this._gd7);ife<10){g+=“0”}d-=2}else{ifd==1){e=this._gd4);d-=1}}}g+=e}whiled>0);return g};this.get8bitByteArray=functiong){var e=g;var f=0;var d=new Array);do{f=this._gd8);d.pushf);e–}whilee>0);return d};this.getKanjiString=functionj){var g=j;var i=0;var h=“”;do{i=_gd13);var e=i%192;var f=i/192;var k=f<<8)+e;var d=0;ifk+33088<=40956){d=k+33088}else{d=k+49472}h+=String.fromCharCoded);g–}whileg>0);return h};this.__defineGetter__“DataByte”,function){var h=new Array);var e=1;var f=2;var d=4;var o=8;do{var l=this.NextMode);ifl==0){ifh.length>0){break}else{throw“Empty data block”}}ifl!=e&&l!=f&&l!=d&&l!=o){throw“Invalid mode: “+l+” in block:”+this._ed+” bit:”+this._cw+“)”}var g=this.getDataLengthl);ifg<1){throw“Invalid data length: “+g}switchl){case e:var m=this.getFigureStringg);var k=new Arraym.length);forvar i=0;i<m.length;i++){k[i]=m.charCodeAti)}h.pushk);break;case f:var m=this.getRomanAndFigureStringg);var k=new Arraym.length);forvar i=0;i<m.length;i++){k[i]=m.charCodeAti)}h.pushk);break;case d:var n=this.get8bitByteArrayg);h.pushn);break;case o:var m=this.getKanjiStringg);h.pushm);break}}whiletrue);return h})};

 
解析实例:

 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

  <!DOCTYPE html>
<html>

<head>
    
<meta charset=“utf-8”>
    
<meta name=“viewport” content=“width=device-width,initial-scale=1.0”>
    
<title>QRCode Reader</title>
    
<script src=“jquery.min.js”></script>
    
<script src=“reqrcode.js”></script>
</head>

<body>
    
<input type=“file” id=“newfile”>
</body>

<script>
    var newfile = document.getElementById
‘newfile’);
    var getObjectURL = function file) {
        var url = null;
        if window.createObjectURL != undefined) {          
// basic
          url = window.createObjectURLfile);
        } else if window.URL != undefined) {               
// mozillafirefox)
        url = window.URL.createObjectURLfile);
        } else if window.webkitURL != undefined) {         
// webkit or chrome
          url = window.webkitURL.createObjectURLfile);
        }
        return url;
    }

    newfile.onchange = function ) {
        //   console.lognewfile[0]);
        console.loggetObjectURLthis.files[0]));           
// newfile[0]是通过input file上传的二维码图片文件
        qrcode.decodegetObjectURLthis.files[0]));
        qrcode.callback = function imgMsg) {
            alert
“二维码解析:” + imgMsg)
        }
    }
</script>

</html>

运行

注意:reqrcode.js格式是不是不好看,但是格式化后就不好使了  ~

Published by

风君子

独自遨游何稽首 揭天掀地慰生平