{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/core-js/json/stringify.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/core-js/object/define-property.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/core-js/object/keys.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/core-js/promise.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/helpers/classCallCheck.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/babel-runtime/helpers/createClass.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/charenc/charenc.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/fn/json/stringify.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/fn/object/define-property.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/fn/object/keys.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/fn/promise.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_a-function.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_an-instance.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_an-object.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_array-includes.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_classof.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_cof.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_core.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_ctx.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_defined.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_descriptors.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_dom-create.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_export.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_fails.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_for-of.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_global.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_has.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_hide.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_html.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_invoke.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iobject.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_is-array-iter.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_is-object.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iter-call.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iter-create.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iter-define.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iter-detect.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iter-step.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_iterators.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_library.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_microtask.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_new-promise-capability.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-create.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-dp.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-dps.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-gpo.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-keys-internal.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-keys.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_object-sap.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_perform.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_promise-resolve.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_property-desc.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_redefine-all.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_redefine.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_set-species.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_shared-key.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_shared.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_species-constructor.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_string-at.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_task.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-absolute-index.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-integer.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-iobject.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-length.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-object.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_to-primitive.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_uid.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_user-agent.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/_wks.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es6.array.iterator.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es6.object.define-property.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es6.object.keys.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es6.promise.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es6.string.iterator.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es7.promise.finally.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/es7.promise.try.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/core-js/library/modules/web.dom.iterable.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/crypt/crypt.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/is-buffer/index.js","webpack:////Users/wanghui/Projects/trunk/template/node_modules/md5/md5.js","webpack:///./metro/css/login.css?68fd","webpack:///./metro/css/qrcodeLogin.css?52e5","webpack:///./metro/css/ucenter.css?5fea","webpack:///./metro/entry/login.js","webpack:///./metro/js/global.js","webpack:///./metro/js/qrcodeLogin.js","webpack:///./metro/js/ucenter.js","webpack:///./metro/js/utils/utils.js"],"names":["tpl","$","text","isMine","qrcodelogin","QRCodeLogin","indexOf","require","css","document","body","scrollHeight","Utils","Cookies","getItem","Global","getUserInfo","isUpdate","res","window","location","href","UrlParams","from_url","from","$userMenu","children","remove","append","class","target","html","id","show","attr","removeClass","notLogined","each","generateSocialMediaAuthUrl","$step1","find","capi","data","length","HttpRequest","get","crossDomain","code","addClass","siblings","hide","on","hasClass","position_left","animate","left","position","secCodeImg","$qrcodeWrapper","parents","create","toggleClass","val","keyup","$del","trim","click","$pop_login","captchaCallbackOK","change","parent","$phone","$loginErr","sms_tag","sms_from","Validator","validatePhone","sendSMS","$captcha","createSmallCaptcha","link","insertAfter","createPopupCaptcha","msg","focus","e","doLogout","reload","preventDefault","step","type","$code","smsCApi","validateEmail","post","checkSecCode","op","seccode","email","checkEmail","tag","isCommonEmail","split","err","$password","$repassword","new_passwd","new_repasswd","resetPasswd","loginType","loginFrom","loginData","account","password","remember_me","is","phone","doLogin","regType","regData","$passwd","$rePasswd","dataError","$nickname","$email","rtype","nickname","replace","passwd","repasswd","$smsCApi","phone_number","smscode","sms_capi","doRegister","$d","resendEmail","hover","label","Inputing","Number","$dom","sign","success","ac","toLowerCase","utype","platform","t","Date","getTime","toFixed","_refer","sign_str","DataSign","data_arr","ext","setItem","encodeURIComponent","forEach","k","push","join","$el","phoneNumber","callback","sendValidateCodeInterval","options","isSign","response","sendValidateCodeTimer","setInterval","clearInterval","u","getCollectionList","ajax","url","dataType","format","$capt","addEventListener","event","error","d","expire","uid","fail","console","log","removeItem","alert","qrData","$obj","timer","websocket","STATUS_MAP","DEFAULT","LOADED_SUCC","LOADED_ERR","UPLOADED_SUCC","UPLOADED_ERR","EXPIRED","SCAN_SUCC","SOCKET_URL","refresh","createSocket","then","getQrcode","socketSend","action","tid","catch","_this","clear","status","qrImgStr","expired","timeAway","end","userTime","time","token","parseInt","before","resolve","reject","WebSocket","onopen","evt","onmessage","onMessage","onclose","onClose","onerror","send","jsonData","JSON","parse","loginSuccess","uploadSuccess","scanSuccess","$mineSetting","comment","sex_type","item","open_platform_cnt","unions","union","unick","substr","$qq","$wechat","$weibo","generateSocialMediaBindUrl","_bindType","bindTypeName","bindStatus","_bindStatus","setTimeout","phone1","map","phone2","$org","$step2","updateUserInfo","is_sure","typeTxt","unbindSocialMediaAccount","btn_type","resp","$parent","$phoneCode","$old_passwd","$new_passwd","$new_repasswd","resetData","blur","original_nickname","delAccount","isBind","ensure","md5","docCookies","sKey","decodeURIComponent","cookie","RegExp","sValue","vEnd","sPath","sDomain","bSecure","test","sExpires","constructor","Infinity","String","toUTCString","hasItem","keys","aKeys","nIdx","setUp","ajaxSetup","xhrFields","withCredentials","sign_data","toString","Sign","jsonp","jsonpCallback","cache","reg","sort","str","getUrlParams","search","theRequest","strs","i","unescape","Math","random","is_success","capt_url","mail","arr","getNextDayZeroSeconds","date","year","getFullYear","month","getMonth","day","getDate","string2timestamp"],"mappings":"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;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,iFAAQ;AAC/B;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;ACrBA;AACA,UAAU;AACV;;;;;;;;;;;;ACFA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA,aAAa,mBAAO,CAAC,uFAAW;AAChC,gBAAgB,mBAAO,CAAC,mFAAS;AACjC;AACA;AACA;AACA,aAAa,mBAAO,CAAC,iFAAQ;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACpEa;AACb;AACA,gBAAgB,mBAAO,CAAC,+FAAe;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AA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AAC9B;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,+FAAe;AACvC,cAAc,mBAAO,CAAC,yFAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA,UAAU,mBAAO,CAAC,iFAAQ;AAC1B,aAAa,mBAAO,CAAC,uFAAW;AAChC,WAAW,mBAAO,CAAC,mFAAS;AAC5B,UAAU,mBAAO,CAAC,+FAAe;AACjC,aAAa,mBAAO,CAAC,uFAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAO,CAAC,iFAAQ;AACtB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnFA,gBAAgB,mBAAO,CAAC,+FAAe;AACvC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACLA;AACA,cAAc,mBAAO,CAAC,yFAAY;AAClC,cAAc,mBAAO,CAAC,yFAAY;AAClC;AACA;AACA;;;;;;;;;;;;ACLA;AACA,gBAAgB,mBAAO,CAAC,+FAAe;AACvC;AACA;AACA,2DAA2D;AAC3D;;;;;;;;;;;;ACLA;AACA,cAAc,mBAAO,CAAC,yFAAY;AAClC;AACA;AACA;;;;;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,6FAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACJA,aAAa,mBAAO,CAAC,uFAAW;AAChC;;AAEA;;;;;;;;;;;;ACHA,YAAY,mBAAO,CAAC,uFAAW;AAC/B,UAAU,mBAAO,CAAC,iFAAQ;AAC1B,aAAa,mBAAO,CAAC,uFAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACVA,cAAc,mBAAO,CAAC,yFAAY;AAClC,eAAe,mBAAO,CAAC,iFAAQ;AAC/B,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,iBAAiB,mBAAO,CAAC,mFAAS;AAClC;AACA;AACA;AACA;;;;;;;;;;;;;ACPa;AACb,uBAAuB,mBAAO,CAAC,+GAAuB;AACtD,WAAW,mBAAO,CAAC,6FAAc;AACjC,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,gBAAgB,mBAAO,CAAC,+FAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,iGAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACjCA,cAAc,mBAAO,CAAC,uFAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,iGAAgB,cAAc,iBAAiB,mBAAO,CAAC,6FAAc,KAAK;;;;;;;;;;;;ACFnH;AACA,eAAe,mBAAO,CAAC,6FAAc;AACrC,YAAY,mBAAO,CAAC,iGAAgB;;AAEpC,mBAAO,CAAC,+FAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACRY;AACb,cAAc,mBAAO,CAAC,yFAAY;AAClC,aAAa,mBAAO,CAAC,uFAAW;AAChC,UAAU,mBAAO,CAAC,iFAAQ;AAC1B,cAAc,mBAAO,CAAC,yFAAY;AAClC,cAAc,mBAAO,CAAC,uFAAW;AACjC,eAAe,mBAAO,CAAC,6FAAc;AACrC,gBAAgB,mBAAO,CAAC,+FAAe;AACvC,iBAAiB,mBAAO,CAAC,iGAAgB;AACzC,YAAY,mBAAO,CAAC,uFAAW;AAC/B,yBAAyB,mBAAO,CAAC,iHAAwB;AACzD,WAAW,mBAAO,CAAC,mFAAS;AAC5B,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,iCAAiC,mBAAO,CAAC,uHAA2B;AACpE,cAAc,mBAAO,CAAC,yFAAY;AAClC,gBAAgB,mBAAO,CAAC,+FAAe;AACvC,qBAAqB,mBAAO,CAAC,yGAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,EAAE,mBAAO,CAAC,iFAAQ;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA,uBAAuB,mBAAO,CAAC,mGAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E,mBAAO,CAAC,6GAAsB;AAC9B,mBAAO,CAAC,iGAAgB;AACxB,UAAU,mBAAO,CAAC,mFAAS;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gDAAgD,mBAAO,CAAC,iGAAgB;AACxE;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;AC7RY;AACb,UAAU,mBAAO,CAAC,6FAAc;;AAEhC;AACA,mBAAO,CAAC,iGAAgB;AACxB,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;;;;;;AChBD;AACa;AACb,cAAc,mBAAO,CAAC,uFAAW;AACjC,WAAW,mBAAO,CAAC,mFAAS;AAC5B,aAAa,mBAAO,CAAC,uFAAW;AAChC,yBAAyB,mBAAO,CAAC,iHAAwB;AACzD,qBAAqB,mBAAO,CAAC,yGAAoB;;AAEjD,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;;;;;;ACnBU;AACb;AACA,cAAc,mBAAO,CAAC,uFAAW;AACjC,2BAA2B,mBAAO,CAAC,uHAA2B;AAC9D,cAAc,mBAAO,CAAC,yFAAY;;AAElC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACXH,mBAAO,CAAC,6GAAsB;AAC9B,aAAa,mBAAO,CAAC,uFAAW;AAChC,WAAW,mBAAO,CAAC,mFAAS;AAC5B,gBAAgB,mBAAO,CAAC,6FAAc;AACtC,oBAAoB,mBAAO,CAAC,iFAAQ;;AAEpC;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,cAAc;AACnC;AACA;AACA,KAAK;;AAEL;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;AACA,KAAK;;AAEL;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA,KAAK;;AAEL;AACA;AACA,iCAAiC,uBAAuB;AACxD;AACA;AACA,KAAK;;AAEL;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA,KAAK;;AAEL;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;AC/FD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACpBA;AACA,cAAc,mBAAO,CAAC,+DAAO;AAC7B,aAAa,mBAAO,CAAC,qEAAS;AAC9B,iBAAiB,mBAAO,CAAC,uEAAW;AACpC,YAAY,mBAAO,CAAC,qEAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,cAAc;;AAEjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;AC/JD,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;;;;;;ACMA;;;;AACA;;;;AAEA;;AAEA;;AACA;;;;AAHiD;;AAKjD,IAAMA,MAAMC,EAAE,UAAF,EAAcC,IAAd,EAAZ,C,CAdA;;;;;;AAeA,IAAIC,SAAS,KAAb;AACA,IAAIC,cAAc,IAAIC,wBAAJ,EAAlB;;AAEA,IAAIL,IAAIM,OAAJ,CAAY,MAAZ,IAAsB,CAAC,CAA3B,EAA8B;AAC1BH,aAAS,IAAT;AACAI,uBAAOA,CAAC,4CAAR;AACH;;AAEDN,EAAE,YAAY;AACVA,MAAE,WAAF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","file":"login.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/template/metro/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./metro/entry/login.js\");\n","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function () { /* empty */ };\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = true;\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n","module.exports = require('./_hide');\n","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message))\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","/**\n * 用户登录与注册相关操作,用户登录后的个人操作不要写在这里\n * @author wanghui\n * @date 2020/01/06\n */\n\nimport Utils from '../js/utils/utils'\nimport Global from '../js/global'\n\nimport { QRCodeLogin } from '../js/qrcodeLogin' // app 扫码登录\n\nimport '../css/login.css'\nimport '../css/qrcodeLogin.css'\n\nconst tpl = $('#tpl_now').text();\nlet isMine = false;\nlet qrcodelogin = new QRCodeLogin();\n\nif (tpl.indexOf('mine') > -1) {\n isMine = true;\n require('../js/ucenter');\n}\n\n$(function () {\n $('#pop_mask').css('height', document.body.scrollHeight + 'px');\n\n if (Utils.Cookies.getItem('GWD_USER_TOKEN')) {\n if (! isMine) {\n Global.getUserInfo({isUpdate: true,}, (res) => { // logined\n\n if (['user_login', 'user_register'].indexOf(tpl) >= 0) {\n window.location.href = Utils.UrlParams().from_url ? Utils.UrlParams().from_url : (Utils.UrlParams().from || '/');\n return;\n }\n\n let $userMenu = $('.header_new .top-nav #user-menu');\n $userMenu.children().remove();\n $userMenu && $userMenu.append(\n $('
  • ', {\n class: 'item fl',\n }).append(\n $('', {\n href: '/mine?from=top-nav',\n class: 'hui666',\n target: '_blank'\n }).text(Utils.Cookies.getItem('plt_user_nk'))\n )\n ).append(\n $('
  • ', {\n class: 'item fl ml-10'\n }).text('欢迎回到购物党!')\n ).append(\n $('
  • ', {\n class: 'item fl ml-20'\n }).append(\n $('', {\n href: '/mine/setting',\n class: 'hui666',\n target: '',\n }).html('消息(' + 0 + ')')\n )\n ).append(\n $('
  • ', {\n class: 'item fl ml-10 hui333',\n id: 'logout',\n }).append(\n $('', {\n href: 'javascript:;',\n class: 'hui999'\n }).text('退出')\n )\n ).show();\n\n $('.myStore .hover-menu .item:nth-child(1)')\n .attr('href', '/mine')\n .attr('target', '_blank')\n .removeClass('pop_login')\n .html('个人中心');\n },\n () => {\n notLogined();\n });\n }\n } else {\n notLogined();\n }\n\n // 设置第三方登录\n if (['user_login', 'user_register'].indexOf(tpl) >= 0) {\n $(\".container .oauth-login .oauth-list .oauth-item\").each(function () {\n generateSocialMediaAuthUrl($(this))\n });\n }\n\n // 密码找回-邮箱找回验证email\n if ('user_forgot_pwd' === tpl) {\n let $step1 = $('.form-section .step-imgs').find('.step-1.active');\n let capi = $('.form-section #input-validate-email[data-step=\\'1\\']').data('capi');\n if ($step1.length && capi) {\n Utils.HttpRequest.get(capi, null, {crossDomain: true,}, (res) => {\n if (res.code == 1) {\n $('.section-wrapper .form-section').children('.step-imgs').children('.step-2').addClass('active').siblings().removeClass('active');\n $('.form-section #input-validate-email[data-step=\\'1\\']').hide();\n $('.form-section #input-validate-email[data-step=\\'2\\']').show();\n } else {\n $('.section-wrapper .form-section').children('.step-imgs').children('.step-1').addClass('active').siblings().removeClass('active');\n $('.form-section #input-validate-email, .form-section #to-validate-email, .form-section .bind-result').hide();\n $('.form-section .bind-result-error').show();\n }\n });\n }\n }\n});\n\n// 登录方式切换\n$('.header .login-section-title').on('click', function () {\n if (! $(this).hasClass('active') && ! $(this).hasClass('locked')) {\n let position_left = 29;\n\n if ($(this).attr('id') === 'form-reg') { position_left = 21; }\n if ($(this).attr('id') === 'form-login') { position_left = 39; }\n\n $(this).addClass('active').siblings('.login-section-title').removeClass('active')\n .siblings('.section-active-sign')\n .animate({\n left: $(this).position().left + position_left + 'px',\n }, 'fast');\n\n if ($(this).attr('for')) {\n $(\".section-wrapper .form-section#\" + $(this).attr('for')).show().siblings('.form-section').hide();\n $('.area-login .section-wrapper .login-errors, #pop_login .section-wrapper .login-errors').hide();\n }\n\n if ('user_register' === tpl && 'section-account' === $(this).attr('for')) {\n $('.section-wrapper .section-account .sec-code .seccode-img').attr('src', Utils.secCodeImg());\n }\n\n if ('section-qrcode' === $(this).attr('for')) {\n let $qrcodeWrapper = $(this).parents('.header').siblings('.section-wrapper').children('.section-qrcode');\n\n $(this).parents('#pop_login').find('.agreement').hide();\n\n if ($(this).parents('#pop_login').length) {\n $qrcodeWrapper.css('padding-top', '8px');\n }\n\n qrcodelogin.create($qrcodeWrapper, true);\n } else {\n $(this).parents('#pop_login').find('.agreement').show();\n }\n }\n});\n\n$('.input-action.pwd-eye').on('click', function () {\n $(this).toggleClass('opened');\n $(this).siblings('input[name=password],input[name=confirm_password]').attr('type', $(this).hasClass('opened') ? 'text' : 'password' );\n});\n\n$('.input-action.input-del').on('click', function () {\n $(this).hide().siblings('input').val('');\n});\n\n$('.section-wrapper .form-section input').keyup(function () {\n let $del = $(this).siblings('.input-action.input-del');\n if ($del.length) {\n $(this).val().trim().length ? $del.show() : $del.hide();\n }\n\n $(this).parents('.section-wrapper').find('.login-errors').hide();\n $(this).siblings('.tips').hide();\n});\n\n// 关闭登录弹窗\n$(\"#pop_login_close, #pop_mask\").click(function () {\n $('#pop_mask').hide();\n\n let $pop_login = $('#pop_login');\n $pop_login.hide();\n\n $pop_login.find('.header .login-section-title:nth-child(1)').addClass('active').siblings('.login-section-title').removeClass('active');\n $pop_login.find('.header .section-active-sign').css('left', '83px');\n $pop_login.find('.section-wrapper .section-phone').show();\n $pop_login.find('.section-wrapper .section-phone').siblings().hide();\n $pop_login.find('.section-wrapper input').val('');\n $pop_login.find('.section-wrapper .btn-send-code').removeClass('disabled').attr('disabled', false);\n\n\n if ($('.section-wrapper .section-qrcode').length) {\n $pop_login.find('.header .section-active-sign').css('left', '53px');\n $pop_login.find('.agreement').show();\n }\n\n // 滑块验证\n window.captchaCallbackOK();\n});\n\n// 记住我\n$('.section-wrapper .form-section .input-item.remember input#remember-me').change(function () {\n $(this).parent().toggleClass('remembered');\n\n if (tpl !== 'user_login') {\n $(this).parents('.form-section#section-account').find('.input-item.email, .input-item.password').toggleClass('remembered');\n }\n});\n\n// 发送验证码\n$('.section-wrapper .form-section .btn-send-code').on('click', function () {\n let $phone = $(this).parents('.form-section').find('.input-item.phone input[id=phone]');\n let $loginErr = $(this).parents('.section-wrapper').find('.login-errors') || null;\n let sms_tag = $(this).data('sms-tag');\n let sms_from = $(this).data('sms-from') || '';\n\n if (tpl === 'mine_setting_phone') {\n $phone = $(this).parents('#input-validate-email').children('.input-item#phone').find('input[name=phone]');\n }\n\n if (sms_tag === 'register') {\n $loginErr = $(this).siblings('.login-errors');\n }\n\n if (sms_tag === 'bind' || sms_tag === 'change' || sms_tag === 'rechange') {\n $loginErr = $(this).siblings('.tips');\n }\n\n $loginErr && $loginErr.hide();\n $(this).parents('.form-section').find('.input-item .tips').hide();\n\n if (Utils.Validator.validatePhone($phone.val())) {\n sendSMS($(this), $phone.val(), sms_tag, (res) => {\n if (res.code == 0) { // 滑块验证码\n if (sms_from === 'popup-login') {\n let $captcha = Utils.createSmallCaptcha(res.data.link);\n $(this).parents('.section-wrapper').hide().siblings('.agreement').hide();\n $(this).parents('.section-wrapper').siblings('.other_platform').css('margin-top', '0');\n $captcha.insertAfter($(this).parents('.section-wrapper'));\n\n $(this).parents('#pop_login').children('.header').find('.login-section-title').addClass('locked');\n } else {\n Utils.createPopupCaptcha(res.data.link);\n }\n } else {\n if (sms_tag === 'register') {\n $(this).siblings('.login-errors').show().children('span').text(res.msg);\n } else if (sms_tag === 'login') {\n $(this).parents('.section-wrapper').children('.login-errors').show().find('span').text(res.msg);\n } else {\n $(this).siblings('.tips').text(res.msg).show();\n }\n }\n })\n } else {\n if (sms_tag === 'register') {\n $(this).parents('.input-item').siblings('.input-item#phone').children('.login-errors').show().children('span').text('请输入正确的手机号码');\n } else if (['forgot', 'bind', 'change', 'rechange'].indexOf(sms_tag) > -1) {\n $(this).parents('.input-item').siblings('.input-item#phone').children('.tips').text('请输入正确的手机号码').show();\n } else {\n if ($loginErr) {\n $loginErr.show().children('span').text('请输入正确的手机号码');\n }\n }\n $phone.focus();\n }\n});\n\n// 退出登录\n$('.top-nav #user-menu').on('click', '.item#logout a', (e) => {\n Global.doLogout(() => {\n let href = $(this).data('href');\n if (href) {\n window.location.href = href;\n } else if (['mine_collection'].indexOf(tpl) > -1) {\n window.location.href = '/';\n } else {\n window.location.reload();\n }\n });\n});\n\n// 登录/密码找回\n$('.section-wrapper .btn-login:not(.btn-register)').on('click', function (e) {\n if (['mine_setting_email', 'mine_setting_phone', 'user_register', 'mine_setting_password'].indexOf(tpl) > -1) {\n return ;\n }\n e.preventDefault();\n\n // 忘记密码-验证身份1\n if ('user_forgot_pwd' === tpl) {\n let step = $(this).parents('#input-validate-email').data('step');\n\n if (step == 1) {\n let type = $(this).siblings('.input-item#phone').find('label span').text().trim();\n let $phone = $(this).siblings('.input-item#phone').find('input#phone');\n let $code = $(this).siblings('.input-item#phone-code').find('input#phone-code');\n let smsCApi = $(this).siblings('.input-item#phone-code').find('input#sms-capi').val().trim();\n\n $phone.siblings('.tips').hide();\n $code.siblings('.tips').hide();\n\n if (type === '手机号' && ! Utils.Validator.validatePhone($phone.val().trim())) {\n $phone.siblings('.tips').show().text('请输入正确的手机号码');\n $phone.focus();\n return ;\n }\n\n if (type === '邮箱' && ! Utils.Validator.validateEmail($phone.val().trim())) {\n $phone.siblings('.tips').show().text('请输入正确的邮箱');\n $phone.focus();\n return ;\n }\n\n if (! $code.val().trim().length) {\n $code.siblings('.tips').text('验证码错误,请重新输入').show();\n $code.focus();\n return ;\n }\n\n if (type === '手机号') {\n if (! smsCApi) {\n $code.siblings('.tips').text('验证码错误,请重新输入').show();\n return ;\n }\n\n Utils.HttpRequest.post(smsCApi, {code: $code.val().trim()}, {crossDomain: true,}, res => {\n if (res.code == 1) {\n $(this).parents('#input-validate-email').hide().siblings('#input-validate-email[data-step=2]').show();\n $(this).parents('.form-section').children('.step-imgs').find('.step.step-2').addClass('active').siblings().removeClass('active');\n } else {\n $code.siblings('.tips').text(res.msg).show();\n }\n }, err => {});\n } else {\n Utils.checkSecCode({\n op: 'seccode',\n seccode: $code.val().trim(),\n }, {}, () => { // success\n let email = $phone.val().trim();\n Global.checkEmail({\n email: email,\n tag: 'forgot',\n }, (res) => { // email发送成功\n $(this).parents('#input-validate-email').hide().siblings('#to-validate-email').show();\n $(this).parents('#input-validate-email').siblings('#to-validate-email').find('p:nth-child(1) span').text(email);\n\n if (Utils.isCommonEmail(email.split('@')[1])) {\n $(this).parents('#input-validate-email').siblings('#to-validate-email').find('.btn-href-login').attr('href', 'https://mail.' + email.split('@')[1]);\n $(this).parents('#input-validate-email').siblings('#to-validate-email').find('.uncommon-email').hide();\n } else {\n $(this).parents('#input-validate-email').siblings('#to-validate-email').find('.btn-href-login').hide();\n $(this).parents('#input-validate-email').siblings('#to-validate-email').find('.uncommon-email').show();\n }\n }, (err) => {\n $phone.siblings('.tips').show().text(err.msg);\n })\n }, () => { // fail\n $code.siblings('.tips').text('验证码错误,请重新输入').show();\n });\n }\n } else if (step == 2) {\n let $password = $(this).siblings('.input-item#password');\n let $repassword = $(this).siblings('.input-item#repassword');\n let type = $(this).parents('#input-validate-email').siblings('#input-validate-email[data-step=1]').find('.input-item#phone label span').text().trim();\n\n let data = {\n new_passwd: $password.children('input#password').val().trim(),\n new_repasswd: $repassword.children('input#repassword').val().trim(),\n tag: 'forgot',\n };\n\n $password.find('.tips').hide();\n if (data.new_passwd.length < 6) {\n $password.find('.tips').text('密码至少6个字符').show();\n return ;\n }\n\n $repassword.find('.tips').hide();\n if (data.new_repasswd !== data.new_passwd) {\n $repassword.find('.tips').text('两次密码不一致').show();\n return ;\n }\n\n Global.resetPasswd(data, (res) => {\n if (res.code == 1) {\n $(this).parents('.form-section').children('.step-imgs').find('.step.step-3').addClass('active').siblings().removeClass('active');\n $(this).parents('.form-section').children('.bind-result').show().siblings(':not(.step-imgs)').hide();\n } else {\n $repassword.find('.tips').text(err.msg).show();\n }\n }, err => {\n $repassword.find('.tips').text(err.msg).show();\n })\n }\n } else {\n // 账号登录\n if ($(this).hasClass('loading')) {\n return ;\n }\n\n let loginType = $(this).data('login-type');\n let loginFrom = $(this).parents('.section-wrapper').data('login-from');\n let $loginErr = $(this).parents('.section-wrapper').find('.login-errors') || null;\n let loginData = {};\n\n $loginErr.hide();\n\n if (loginType === 'account') {\n loginData = {\n account: $(this).parents('.form-section').find('input[name=account]').val().trim(),\n password: $(this).parents('.form-section').find('input[name=password]').val().trim(),\n remember_me: $(this).parents('.form-section').find('input[name=remember_me]').is(':checked') ? 1 : 0,\n };\n\n if (! Utils.Validator.validateEmail(loginData.account) && ! Utils.Validator.validatePhone(loginData.account)) {\n $loginErr && $loginErr.show().children('span').text('账户或密码错误,请重新输入');\n $(this).parents('.form-section').find('input[name=account]').focus();\n return ;\n }\n\n if (loginData.password.length < 6) {\n $loginErr && $loginErr.show().children('span').text('账户或密码错误,请重新输入');\n $(this).parents('.form-section').find('input[name=password]').focus();\n return ;\n }\n\n if (loginData.password.length > 14) {\n $loginErr && $loginErr.show().children('span').text('账户或密码错误,请重新输入');\n $(this).parents('.form-section').find('input[name=password]').focus();\n return ;\n }\n }\n\n if (loginType === 'phone') {\n loginData = {\n phone: $(this).parents('.form-section').find('input[name=phone]').val().trim(),\n code: $(this).parents('.form-section').find('input[name=code]').val().trim(),\n smsCApi: $(this).parents('.form-section').find('input#sms-capi').val().trim(),\n };\n\n if (! Utils.Validator.validatePhone(loginData.phone)) {\n $loginErr && $loginErr.show().children('span').text('请输入正确的手机号码');\n $(this).parents('.form-section').find('input[name=phone]').focus();\n return ;\n }\n\n if (! loginData.code) {\n $loginErr && $loginErr.show().children('span').text('验证码错误,请重新输入');\n $(this).parents('.form-section').find('input[name=code]').focus();\n return ;\n }\n\n if (! loginData.smsCApi) {\n $loginErr && $loginErr.show().children('span').text('验证码错误,请重新输入');\n return ;\n }\n }\n\n $(this).addClass('loading');\n doLogin(loginType, loginData, loginFrom, (res) => {\n if (res.code == -1) {\n res.msg && $loginErr && $loginErr.show().children('span').text(res.msg);\n $(this).removeClass('loading');\n } else {\n let from = Utils.UrlParams().from;\n\n if (['user_login', 'user_register'].indexOf(tpl) >= 0) {\n if (! from && Utils.UrlParams().from_url) {\n from = Utils.UrlParams().from_url;\n }\n\n if (! from) from = '/';\n window.location.href = from;\n } else {\n window.location.reload();\n }\n }\n })\n }\n});\n\n// 注册\n$(\".container#register .area-login .section-wrapper .btn-login:not(.reg-to-login)\").on('click', function (e) {\n e.preventDefault();\n let regType = $(this).data('reg-type');\n let regData = {};\n\n $(this).parents('.form-section').find('.login-errors').hide();\n $(this).parents('.form-section').find('.tips-txt').hide();\n\n let $passwd = null;\n let $rePasswd = null;\n let dataError = false;\n let seccode = '';\n\n if (regType === 'account') {\n let $nickname = $(this).parents('.form-section').find('input[name=nickname]');\n let $email = $(this).parent('.form-section').find('input[name=email]');\n seccode = $(this).parents('.form-section').find('.input-item.sec-code input[name=seccode]').val().trim();\n $passwd = $(this).parents('.form-section').find('input[name=password]');\n $rePasswd = $(this).parents('.form-section').find('input[name=confirm_password]');\n\n regData = {\n rtype: 'email',\n nickname: $nickname.val().trim().replace(/\\s/g, ''),\n email: $email.val().trim().replace(/\\s/g, ''),\n passwd: $passwd.val().trim().replace(/\\s/g, ''),\n repasswd: $rePasswd.val().trim().replace(/\\s/g, ''),\n };\n\n if (regData.nickname.length < 2) {\n $nickname.siblings('.login-errors').show().children('span').text('昵称不少于2字符');\n dataError = true;\n } else if (regData.nickname.length > 20) {\n $nickname.siblings('.login-errors').show().children('span').text('昵称不超过20字符');\n dataError = true;\n } else {\n $nickname.siblings('.tips-icon').show();\n }\n\n if (! Utils.Validator.validateEmail(regData.email)) {\n $email.siblings('.login-errors').show().children('span').text('请输入正确的邮箱');\n dataError = true;\n } else {\n $email.siblings('tips-icon').show();\n }\n\n if (seccode.length < 4) {\n $(this).parents('.form-section').find('.input-item.sec-code .login-errors').show();\n dataError = true;\n }\n }\n\n if (regType === 'phone') {\n let $nickname = $(this).parents('.form-section').find('input[name=nickname]');\n let $phone = $(this).parent('.form-section').find('input[name=phone]');\n let $code = $(this).parent('.form-section').find('input[name=code]');\n let $smsCApi = $(this).parent('.form-section').find('input#sms-capi');\n $passwd = $(this).parents('.form-section').find('input[name=password]');\n $rePasswd = $(this).parents('.form-section').find('input[name=confirm_password]');\n\n regData = {\n rtype: 'phone',\n nickname: $nickname.val().trim().replace(/\\s/g, ''),\n passwd: $passwd.val().trim().replace(/\\s/g, ''),\n repasswd: $rePasswd.val().trim().replace(/\\s/g, ''),\n phone_number: $phone.val().trim().replace(/\\s/g, ''),\n smscode: $code.val().trim().replace(/\\s/g, ''),\n sms_capi: $smsCApi.val().trim().replace(/\\s/g, ''),\n };\n\n if (regData.nickname.length < 2) {\n $nickname.siblings('.login-errors').show().children('span').text('昵称不少于2字符');\n // $nickname.focus();\n dataError = true;\n } else if (regData.nickname.length > 20) {\n $nickname.siblings('.login-errors').show().children('span').text('昵称不超过20字符');\n // $nickname.focus();\n dataError = true;\n } else {\n $nickname.siblings('.tips-icon').show();\n }\n\n if (! Utils.Validator.validatePhone(regData.phone_number)) {\n $phone.siblings('.login-errors').show().children('span').text('请输入正确的手机号码');\n // $phone.focus();\n dataError = true;\n }\n\n if (regData.smscode.length < 4 || ! regData.sms_capi.length) {\n $code.siblings('.login-errors').show().children('span').text('验证码错误,请重新输入');\n // $code.focus();\n dataError = true;\n } else {\n $code.siblings('.tips-icon').show();\n }\n }\n\n if (regData.passwd.length < 6) {\n $passwd.siblings('.login-errors').show().children('span').text('密码至少6个字符');\n dataError = true;\n }\n\n if (regData.passwd.length > 14) {\n $passwd.siblings('.login-errors').show().children('span').text('密码不超过14个字符');\n dataError = true;\n }\n\n if (regData.repasswd !== regData.passwd) {\n $rePasswd.siblings('.login-errors').show().children('span').text('两次密码不一致');\n dataError = true;\n }\n\n if (dataError) {\n return ;\n }\n\n if (regType === 'phone') {\n doRegister(regType, regData, (res, regType) => {\n if (res.code == -1) {\n $(this).siblings('.input-item.phone').find('.login-errors').show().children('span').text(res.msg);\n } else if (res.code == 1) {\n let from = Utils.UrlParams().from ? Utils.UrlParams().from : '/';\n window.location.href = from;\n\n // let loginData = {\n // account: regData.phone_number,\n // password: regData.passwd,\n // remember_me: 1,\n // };\n // $(this).hide();\n // // $(this).siblings('.reg-to-login').attr('href', '/user/login?from=' + encodeURIComponent(from)).css('display', 'block');\n //\n // doLogin('account', loginData, 'form_login', (loginRes) => {\n // if (loginRes.code == 1) {\n // window.location.href = from;\n // } else {\n // alert(loginRes.msg);\n // }\n // });\n }\n })\n } else {\n Utils.checkSecCode({\n seccode: seccode\n }, {}, () => { // success\n doRegister(regType, regData, (res, regType) => {\n if (res.code == -1) {\n $(this).siblings('.input-item.email').find('.login-errors').show().children('span').text(res.msg);\n } else if (res.code == 1) { // email发送成功\n $(this).parents('.container#register').hide();\n let $d = $(this).parents('.container#register').siblings('.container#email-validation');\n $d.find('.section-wrapper h1 span').text(regData.email);\n\n if (Utils.isCommonEmail(regData.email.split('@')[1])) {\n $d.find('.section-wrapper .btn-validate').attr('href', 'https://mail.' + regData.email.split('@')[1]);\n } else {\n $d.find('.uncommon-email').show();\n $d.find('.section-wrapper .btn-validate').hide();\n }\n\n $d.find('.section-wrapper .check_mail_notice .resend-status span').text(regData.email);\n $d.find('.section-wrapper .btn-resend-email').on('click', () => {\n resendEmail({\n tag: 'register',\n email: regData.email\n });\n });\n $d.show();\n }\n })\n }, () => { // fail\n $(this).parents('.form-section').find('.input-item.sec-code .login-errors').show();\n });\n }\n});\n\n// 收藏夹toggle\n$('.myStore .hover-menu').hover(function () {\n if (Utils.Cookies.getItem('GWD_USER_TOKEN')) {\n if ($(this).find('.item:not(:nth-child(1))').length === 0) {\n $(this).append('收藏夹');\n $(this).append('价保订单');\n $(this).append('账户积分');\n $(this).append('个人设置');\n }\n\n $(this).find('.item:not(:nth-child(1))').show();\n }\n}, function () {\n $(this).find('.item:not(:nth-child(1))').hide();\n});\n\n/**\n * 未登录状态下的一些操作\n */\nlet notLogined = () => {\n $(\".top-nav .menu#user-menu .item#login-box dd a\").each(function () {\n generateSocialMediaAuthUrl($(this))\n });\n\n $(\".form_contaner#pop_login .other_platform .other-logos .logo-item\").each(function () {\n generateSocialMediaAuthUrl($(this))\n });\n\n $('.myStore .hover-menu .item:not(:nth-child(1))').remove();\n};\n\n// 注册时重新发送email\nlet resendEmail = (data) => {\n Global.checkEmail(data, (res) => {\n $(\".container#email-validation .section-wrapper .check_mail_notice .resend-status\").show();\n }, (err) => {\n $(\".container#email-validation .section-wrapper .check_mail_notice .resend-status\").show().text(err.msg);\n });\n};\n\n// 忘记密码-选择手机号或邮箱找回\n$('.form-section#section-bind #input-validate-email #phone label').on('click', function () {\n $(this).toggleClass('active');\n\n $(this).hasClass('active') ? $(this).siblings('.label-txt-list').show() : $(this).siblings('.label-txt-list').hide();\n});\n\n// 忘记密码-选择手机号或邮箱\n$('.form-section .label-txt-list').on('click', '.label-item', function () {\n let label = $(this).text().trim();\n\n if (label !== $(this).parents('.label-txt-list').siblings('label').children('span').text().trim()) {\n $(this).addClass('active').siblings().removeClass('active');\n $(this).parents('.label-txt-list').siblings('label').children('span').text(label);\n $(this).parents('.label-txt-list').siblings('input').val('').siblings('.input-action.input-del').hide();\n\n $(this).parents('.form-section').find('.tips').hide();\n $(this).parents('.input-item').siblings('.input-item').find('input').val('');\n }\n\n $(this).parents('.label-txt-list').hide().siblings('label').toggleClass('active');\n\n if (label === '邮箱') {\n $(this).parents('.input-item').siblings('#phone-code').children('.seccode').show().siblings('.btn-send-code').hide();\n $(this).parents('.input-item').siblings('#phone-code').children('.seccode').children('.seccode-img').attr('src', Utils.secCodeImg());\n }\n\n if (label === '手机号') {\n $(this).parents('.input-item').siblings('#phone-code').children('.seccode').hide().siblings('.btn-send-code').show();\n }\n});\n\n// 刷新验证码\n$('.seccode').on('click', function () {\n $(this).children('.seccode-img').attr('src', Utils.secCodeImg());\n});\n\n// 发送邮件后,返回上一步\n$('.form-section#section-bind #to-validate-email .back').on('click', function () {\n let step = $(this).parent().data('step') || '1';\n $(this).parent().hide().siblings(`#input-validate-email[data-step='${step}']`).show();\n});\n\n// 手机号输入数字限制\n$('.section-wrapper .form-section .input-item.phone input[name=phone]').on('input', Utils.Inputing.Number);\n\n/**\n * 生成第三方登录的地址\n * @param $dom\n * @param sign 手动传入参数\n * @param success 成功回调\n */\nlet generateSocialMediaAuthUrl = function ($dom, sign, success) {\n if (! sign || ! Object.keys(sign).length) {\n sign = {\n ac: 'UserUnion.Authorize'.toLowerCase(),\n utype: $dom.data('oauth-type'),\n platform: 'pc',\n t: (new Date().getTime() / 1e3).toFixed(0),\n }\n }\n\n let from = Utils.UrlParams().from_url;\n if (from) {\n sign._refer = from;\n }\n\n let sign_str = Utils.DataSign(sign);\n delete sign['ac'];\n let data_arr = [];\n if (sign._refer) {\n if (Utils.UrlParams().ext && Utils.UrlParams().ext == 1) {\n Utils.Cookies.setItem('_referer', sign._refer, 3600 * 3, '/', '.gwdang.com');\n }\n sign._refer = encodeURIComponent(sign._refer);\n }\n Object.keys(sign).forEach((k) => {\n data_arr.push(k + '=' + sign[k])\n });\n data_arr.push('sign=' + sign_str);\n $dom.attr('href', 'https://i.gwdang.com/UserUnion/Authorize?' + data_arr.join('&'));\n\n success && 'function' === typeof success && success();\n};\n\n/**\n * 发送短信验证码\n * @param $el\n * @param phoneNumber\n * @param tag\n * @param callback\n */\nlet sendSMS = ($el, phoneNumber, tag, callback) => {\n if (! phoneNumber ) return;\n tag = tag || 'login';\n if (tag === 'register') tag = 'login';\n\n let sendValidateCodeInterval = 60;\n let options = {\n isSign: true,\n ac:'UserHelper.SmsCode',\n crossDomain: true,\n };\n let data = {\n phone: phoneNumber,\n tag: tag,\n };\n\n Utils.HttpRequest.post('https://i.gwdang.com/UserHelper/SmsCode', data, options, (response) => {\n if (response.code == 1) {\n $el.siblings('#sms-capi').val(response.data.capi);\n\n let sendValidateCodeTimer = setInterval(() => {\n if (sendValidateCodeInterval) {\n sendValidateCodeInterval --;\n $el.addClass('disabled').text(sendValidateCodeInterval + 's').attr('disabled', true);\n } else {\n sendValidateCodeInterval = 60;\n $el.removeClass('disabled').text('发送验证码').attr('disabled',false);\n clearInterval(sendValidateCodeTimer)\n }\n }, 1e3);\n } else {\n callback && 'function' === typeof callback && callback(response)\n }\n });\n};\n\n/**\n * 账号登录,手机快捷登录\n * @param loginType\n * @param data\n * @param loginFrom\n * @param callback\n */\nlet doLogin = (loginType, data, loginFrom, callback) => {\n loginType = loginType || 'account';\n data = data || {};\n let loginData = {};\n let options = {\n isSign: true,\n ac: 'User.Login',\n crossDomain: true,\n };\n let u = 'https://i.gwdang.com/User/Login';\n if (loginType === 'account') {\n loginData = {\n account: data.account,\n passwd: data.password,\n remember_me: data.remember_me,\n };\n } else if (loginType === 'phone') {\n loginData = { code: data.code, };\n u = data.smsCApi;\n options.isSign = false;\n options.ac = 'UserUnion.AuthorizeCallback';\n }\n\n Utils.HttpRequest.post(u, loginData, options, function (response) {\n callback && 'function' === typeof callback && callback(response);\n })\n};\n\n/**\n * 账号注册\n * @param regType\n * @param data\n * @param callback\n */\nlet doRegister = (regType, data, callback) => {\n regType = regType || 'account';\n data = data || {};\n let regData = data;\n if (! regData.platform) regData.platform = 'pc';\n\n let options = {\n isSign: true,\n ac: 'User.Register',\n crossDomain: true,\n };\n let u = 'https://i.gwdang.com/User/Register';\n if (regType === 'phone') {\n delete regData['sms_capi'];\n }\n\n Utils.HttpRequest.post(u, regData, options, (response) => {\n callback && 'function' === typeof callback && callback(response, regType);\n })\n};\n\n/**\n * 获取用户收藏列表\n * @param data\n * @param success\n */\nlet getCollectionList = (data, success) => {\n $.ajax({\n url: '/app/collection?rand=' + new Date().getTime(),\n dataType: 'json',\n data: {\n format: 'json',\n },\n success: function (response) {\n success && 'function' === typeof success && success(response);\n }\n })\n};\n\n/**\n * 滑块验证成功回调处理\n */\nwindow.captchaCallbackOK = function () {\n $('.popup-captcha').length && $('.popup-captcha').remove();\n\n if ($('.small-captcha').length) {\n let $capt = $('.small-captcha');\n $capt.siblings('.section-wrapper').show();\n $capt.siblings('.agreement').show();\n $capt.siblings('.other_platform').css('margin-top', '36px');\n $('#pop_login .login-section-title').removeClass('locked');\n $capt.remove();\n }\n};\n\n/**\n * 滑块验证成功回调处理(跨域fallback)\n * postMessage方式\n */\nwindow.addEventListener('message', function (event) {\n if (event.data === 'success') {\n $('.popup-captcha').length && $('.popup-captcha').remove();\n\n if ($('.small-captcha').length) {\n let $capt = $('.small-captcha');\n $capt.siblings('.section-wrapper').show();\n $capt.siblings('.agreement').show();\n $capt.siblings('.other_platform').css('margin-top', '36px');\n $('#pop_login .login-section-title').removeClass('locked');\n $capt.remove();\n }\n }\n}, false);","import Utils from './utils/utils'\n\n/**\n * 获取登录的用户信息\n * @param data\n * @param success\n * @param error\n */\nlet getUserInfo = function(data, success, error) {\n data = data ? data : {\n isUpdate: false\n };\n let isUpdate = data.isUpdate ? true : false;\n if (! isUpdate && Utils.Cookies.getItem('plt_uid') && Utils.Cookies.getItem('plt_user_nk') && Utils.Cookies.getItem('GWD_USER_TOKEN')) {\n success && 'function' === typeof success && success();\n return;\n }\n\n const options = {\n isSign: true,\n ac:'User.Detail',\n crossDomain: true,\n };\n Utils.HttpRequest.get('https://i.gwdang.com/User/Detail', null, options, (response) => {\n if (response.code == 1) {\n let d = response.data;\n let expire = 3600 * 24 * 7;\n Utils.Cookies.setItem('plt_uid', d.uid, null, '/', '.gwdang.com');\n Utils.Cookies.setItem('plt_user_nk', d.nickname, null, '/', '.gwdang.com');\n Utils.Cookies.setItem('plt_user_email', '_default', expire, '/', '.gwdang.com');\n\n success && 'function' === typeof success && success(d);\n } else {\n error && 'function' === typeof error && error();\n }\n })\n};\n\n/**\n * 发送验证邮件\n * 使用场景:邮箱注册/重发、忘记密码、绑定邮箱\n * @param data\n * @param success\n * @param error\n */\nlet checkEmail = (data, success, error) => {\n data.tag = data.tag || 'bind';\n\n let u = 'https://i.gwdang.com/UserHelper/SendMail';\n let options = {\n isSign: true,\n ac: 'UserHelper.SendMail',\n crossDomain: true,\n };\n\n if (data.tag === 'register') {\n options.ac = 'UserHelper.ReSendMail';\n u = 'https://i.gwdang.com/UserHelper/ReSendMail';\n }\n\n Utils.HttpRequest.post(u, data, options, (response) => {\n if (response.code == 1) {\n success && 'function' === typeof success && success(response);\n } else {\n error && 'function' === typeof error && error(response);\n }\n });\n}\n\n/**\n * 重置密码\n * @param data\n * @param success\n * @param fail\n */\nlet resetPasswd = (data, success, fail) => {\n let options = {\n isSign: true,\n ac: 'User.ResetPasswd',\n crossDomain: true,\n };\n\n Utils.HttpRequest.post('https://i.gwdang.com/User/ResetPasswd', data, options, (response) => {\n if (response.code == 1) {\n success && 'function' === typeof success && success(response);\n } else {\n fail && 'function' === typeof fail && fail(response);\n }\n }, err => {\n console.log(err)\n });\n};\n\n/**\n * 账号退出登录\n * @param callback\n */\nlet doLogout = (callback) => {\n let options = {\n isSign: true,\n ac: 'User.Logout',\n crossDomain: true,\n };\n Utils.HttpRequest.post('https://i.gwdang.com/User/Logout', null, options, (response) => {\n if (response.code == 1) {\n Utils.Cookies.removeItem('plt_uid', '/', '.gwdang.com');\n Utils.Cookies.removeItem('plt_user_nk', '/', '.gwdang.com');\n Utils.Cookies.removeItem('plt_user_email', '/', '.gwdang.com');\n\n callback && 'function' === typeof callback && callback();\n } else {\n alert('出错了,请联系管理员');\n }\n })\n};\n\nexport default {\n getUserInfo,\n checkEmail,\n resetPasswd,\n doLogout,\n}\n","import Utils from './utils/utils'\n\n\n/**\n * APP扫码登录\n */\nexport class QRCodeLogin {\n\n constructor () {\n this.qrData = null;\n this.$obj = null;\n this.timer = null;\n this.websocket = null;\n\n QRCodeLogin.STATUS_MAP = {\n DEFAULT: 0,\n LOADED_SUCC: 1, // 加载成功\n LOADED_ERR: -1, // 加载失败\n UPLOADED_SUCC: 2, // 加载后上报成功\n UPLOADED_ERR: -2, // 加载后上报失败\n EXPIRED: -3, // 二维码过期\n SCAN_SUCC: 4, // 扫码成功\n };\n\n QRCodeLogin.SOCKET_URL = 'wss://www.gwdang.com/sck';\n // this.status = QRCodeLogin.STATUS_MAP.DEFAULT;\n }\n\n clear () {\n clearInterval(this.timer);\n this.timer = null;\n // this.qrData = null;\n }\n\n create ($obj, refresh = false) {\n this.$obj = $obj;\n\n if (refresh) {\n this.refresh();\n }\n\n if (! this.websocket) {\n this.createSocket().then(evt => {\n\n if (! this.qrData) {\n this.getQrcode($obj);\n\n } else {\n this.socketSend(JSON.stringify({\n action: 'QrCodeLogin',\n msg: { tid : this.qrData.id }\n }));\n }\n }).catch(err => {\n console.error(err)\n })\n } else {\n this.getQrcode($obj);\n }\n }\n\n /**\n * 获取二维码数据\n * @param $obj\n */\n getQrcode ($obj) {\n // this.status = QRCodeLogin.STATUS_MAP.DEFAULT;\n\n Utils.HttpRequest.get(\"https://u.gwdang.com/helper/QrCode?event=scanLogin\", {}, {}, (response) => {\n if (response.code != 1) {\n $obj.html(`

    网络异常

    刷新

    `);\n let _this = this;\n $obj.find('.wrapper .refresh-qrcode').on('click', function () {\n _this.refresh();\n _this.create(_this.$obj, true);\n });\n\n _this.qrData = null;\n // this.status = QRCodeLogin.STATUS_MAP.LOADED_ERR;\n return ;\n }\n\n this.qrData = response.data;\n // this.status = QRCodeLogin.STATUS_MAP.LOADED_SUCC;\n\n this.clear();\n\n // 上报\n this.socketSend(JSON.stringify({\n action: 'QrCodeLogin',\n msg: { tid : this.qrData.id }\n }));\n });\n }\n\n /**\n * 上报成功后,前端渲染二维码\n */\n uploadSuccess () {\n if (! this.qrData) return;\n\n if (this.status === QRCodeLogin.STATUS_MAP.EXPIRED) return;\n if (this.timer) return;\n\n this.$obj.html(`

    打开 购物党APP 扫码登录

    `);\n\n if (this.qrData.expired) {\n let timeAway = 0;\n this.timer = setInterval(() => {\n timeAway += 10;\n if (timeAway >= this.qrData.expired) {\n this.expired();\n }\n }, 1000 * 10)\n }\n }\n\n /**\n * app端扫码登录成功\n * @param loginData\n */\n loginSuccess (loginData) {\n let end = new Date(loginData.expire * 1e3);\n let userTime = new Date(loginData.time);\n Utils.Cookies.setItem('GWD_USER_TOKEN', loginData.token, end, '/', '.gwdang.com');\n Utils.Cookies.setItem('GWD_USER_TIME', parseInt(userTime.getTime() / 1e3), end, '/', '.gwdang.com');\n Utils.Cookies.setItem('plt_user_email', '_default', end, '/', '.gwdang.com');\n\n window.location.reload();\n }\n\n /**\n * 扫码成功,等待确认\n */\n scanSuccess () {\n if (QRCodeLogin.STATUS_MAP.SCAN_SUCC === this.status || QRCodeLogin.STATUS_MAP.EXPIRED === this.status) {\n return ;\n }\n\n // this.clear();\n this.status = QRCodeLogin.STATUS_MAP.SCAN_SUCC;\n\n this.$obj.find('.wrapper .qrcode-mask').remove();\n this.$obj.find('.hint').remove();\n this.$obj.find('.wrapper').append(\"
    \");\n this.$obj.find('.info').before(\"

    扫码成功

    \");\n this.$obj.find('.info').text(\"请在手机上根据提示确认登录\").addClass('bold').css('margin-top', '10px');\n\n this.$obj.parents('.section-wrapper').siblings('.other_platform').css('margin-top', '22px');\n }\n\n expired () {\n if (this.status === QRCodeLogin.STATUS_MAP.EXPIRED) {\n return;\n }\n\n this.clear();\n this.status = QRCodeLogin.STATUS_MAP.EXPIRED;\n\n this.$obj.find('.wrapper .qrcode-mask').remove();\n this.$obj.find('.hint').remove();\n this.$obj.find('.wrapper').append(\"

    二维码失效

    刷新二维码

    \");\n this.$obj.find('.info').text(\"请在手机上根据提示重新扫码\").addClass('bold').css('margin-top', '15px');\n\n let _this = this;\n this.$obj.find('.wrapper .refresh-qrcode').on('click', function () {\n _this.refresh();\n _this.create(_this.$obj, true);\n });\n }\n\n /**\n * 刷新二维码\n */\n refresh () {\n this.qrData = null;\n\n this.status = QRCodeLogin.STATUS_MAP.DEFAULT;\n this.clear();\n }\n\n /**\n * 创建websocket,事件监听\n */\n createSocket () {\n try {\n let _this = this;\n return new Promise((resolve, reject) => {\n _this.websocket = new WebSocket(QRCodeLogin.SOCKET_URL);\n\n _this.websocket.onopen = function(evt) {\n resolve(evt);\n };\n\n this.websocket.onmessage = function(evt) {\n _this.onMessage(evt)\n };\n\n _this.websocket.onclose = function(evt) {\n _this.onClose(evt)\n };\n\n _this.websocket.onerror = function(err) {\n reject(err);\n };\n });\n\n } catch (error) {\n console.error(error);\n }\n }\n\n /**\n * websocket 发送消息\n * @param data String\n */\n socketSend (data) {\n try {\n this.websocket.send(data)\n } catch (error) {\n console.error(error);\n }\n }\n\n onMessage (e) {\n if ('string' === typeof e.data) {\n let jsonData = JSON.parse(e.data);\n\n if (jsonData.code == 1) {\n\n if (jsonData.data) {\n this.loginSuccess(jsonData.data);\n\n } else if (jsonData.msg === 'Success') {\n this.uploadSuccess();\n\n } else if (jsonData.msg === 'LoginConnected') {\n this.scanSuccess();\n\n } else if (jsonData.msg === 'Connected') { // 首次加载\n } else {\n console.error(jsonData);\n }\n } else {\n this.expired();\n }\n }\n }\n\n onClose (e) {\n this.websocket = null;\n\n this.create(this.$obj);\n }\n}","/**\n * 用户个人中心相关操作\n */\n\nimport Utils from './utils/utils'\nimport Global from './global'\n\nimport '../css/ucenter.css'\n\nconst tpl = $('#tpl_now').text();\n\n$(function () {\n let $mineSetting = $('.container#mine-setting');\n\n Global.getUserInfo({isUpdate: true}, (res) => {\n $('.header_user .top-nav #user-menu .item:nth-child(1) a').text(res.nickname);\n if ('mine_setting_basic' === tpl) {\n // 昵称\n $mineSetting.find('#section-mine-setting #name .field .nickname').text(res.nickname);\n $mineSetting.find('#section-mine-setting #name input[name=nickname]').val(res.nickname);\n\n // 简介\n $mineSetting.find('#section-mine-setting #comment input[name=comment]').val(res.comment);\n\n // 性别\n if (res.sex_type == 1) {\n let item = $mineSetting.find('#section-mine-setting #sex .radio-group .radio-item')[0];\n $(item).addClass('active').children('input[type=radio]').attr('checked', true);\n } else if (res.sex_type == 2) {\n let item = $mineSetting.find('#section-mine-setting #sex .radio-group .radio-item')[1];\n $(item).addClass('active').children('input[type=radio]').attr('checked', true);\n }\n\n let open_platform_cnt = 0;\n res.unions.forEach((union) => {\n if ([1,2,3].indexOf(Number(union.utype)) > -1 && union.status == 1) {\n open_platform_cnt++;\n }\n });\n\n // 手机号、邮箱与第三方账号绑定\n res.unions.forEach((union) => {\n let unick = union.unick;\n\n if (union.utype == 4) { // phone\n let $phone = $mineSetting.find('#section-mine-setting #phone');\n let phoneNumber = unick.substr(0,3) + '*****' + unick.substr(-3,3);\n $phone.find('.field').html(`

    ${phoneNumber}

    更换`)\n\n } else if (union.utype == 5) { // email\n let $email = $mineSetting.find('#section-mine-setting #email');\n let email = unick;\n $email.find('.field').html(`

    ${email}

    更换`);\n\n } else if (union.utype == 1) { // qq\n if (union.status == 1) {\n let $qq = $mineSetting.find('#section-mine-setting #third-plt .third-plt-list #qq');\n $qq.attr('bind', '1');\n if (open_platform_cnt <= 1) {\n $qq.children('a').attr('target', '_self').find('span').remove();\n } else {\n $qq.find('a span').addClass('active').text('取消绑定');\n }\n }\n\n } else if (union.utype == 2) { // wechat\n if (union.status == 1) {\n let $wechat = $mineSetting.find('#section-mine-setting #third-plt .third-plt-list #wechat');\n $wechat.attr('bind', '1');\n if (open_platform_cnt <= 1) {\n $wechat.children('a').attr('target', '_self').find('span').remove();\n } else {\n $wechat.find('a span').addClass('active').text('取消绑定');\n }\n }\n\n } else if (union.utype == 3) { // weibo\n if (union.status == 1) {\n let $weibo = $mineSetting.find('#section-mine-setting #third-plt .third-plt-list #weibo');\n $weibo.attr('bind', '1');\n if (open_platform_cnt <= 1) {\n $weibo.children('a').attr('target', '_self').find('span').remove();\n } else {\n $weibo.find('a span').addClass('active').text('取消绑定');\n }\n }\n }\n });\n\n $mineSetting.find('#third-plt .third-plt-list .third-plt-item').each(function (item) {\n // 没有绑定\n if (! $(this).attr('bind')) {\n generateSocialMediaBindUrl($(this).find('a'));\n }\n });\n\n // 绑定结果处理\n if (Utils.UrlParams()._bindType) {\n let bindTypeName = 'QQ';\n if (Utils.UrlParams()._bindType == 2) {\n bindTypeName = '微信';\n }\n if (Utils.UrlParams()._bindType == 3) {\n bindTypeName = '新浪微博';\n }\n\n let bindStatus = Utils.UrlParams()._bindStatus;\n if (bindStatus) {\n // 绑定失败\n if (bindStatus != 1) {\n $('.popup-modal.modal-bind').show();\n $('.popup-modal.modal-bind .content p:nth-child(2) span').text(bindTypeName);\n setTimeout(function () {\n location.href = '/mine/setting';\n }, 2000);\n } else {\n $('.popup-modal.modal-bind-success').show();\n setTimeout(function () {\n location.href = '/mine/setting';\n }, 2000);\n }\n }\n }\n }\n\n if ('mine_setting_phone' === tpl) {\n let phone1 = '';\n res.unions.map(union => {\n if (union.utype == 4) {\n phone1 = union.unick\n }\n });\n\n if (phone1) {\n if (Utils.UrlParams().op === 'change') {\n let phone2 = phone1.substr(0,3) + '*****' + phone1.substr(-3,3);\n $('.section-wrapper .form-section.change #input-validate-email[data-step=\\'1\\']').find('.input-item#phone .origin-phone').text('原绑定手机:' + phone2)\n $('.section-wrapper .form-section.change #input-validate-email[data-step=\\'1\\']').find('.input-item#phone input#phone').val(phone1)\n } else {\n window.location.href = '/mine/setting_phone?op=change'\n }\n } else {\n if (Utils.UrlParams().op === 'change') {\n window.location.href = '/mine/setting_phone'\n }\n }\n }\n\n // 用户更换邮箱\n if ('mine_setting_email' === tpl) {\n let email = '';\n res.unions.map(union => {\n if (union.utype == 5) {\n email = union.unick\n }\n });\n\n if (email) {\n if (Utils.UrlParams().op === 'change') {\n let $org = $('.section-wrapper .form-section #input-validate-email .input-item.origin-email');\n $org.children('.origin-email').text('原绑定邮箱:' + email).siblings('input[name=email]').val(email);\n } else {\n // window.location.href = '/mine/setting_email?op=change'\n }\n } else {\n if (Utils.UrlParams().op === 'change') {\n // window.location.href = '/mine/setting_email'\n }\n }\n }\n\n }, () => {\n Global.doLogout(() => {\n window.location.href = '/user/login?from_url=' + encodeURIComponent(window.location.href);\n });\n });\n\n // 验证码\n $('.seccode .seccode-img').attr('src', Utils.secCodeImg());\n $('.seccode').on('click', function () {\n $(this).children('.seccode-img').attr('src', Utils.secCodeImg());\n });\n\n // 更换邮箱-验证邮箱\n if ('mine_setting_email' === tpl) {\n let $step1 = $('.form-section .step-imgs .step-1');\n let $step2 = $('.form-section .step-imgs .step-2');\n let capi = '',\n step = 1;\n if ($step1.hasClass('active')) { // change\n capi = $('.form-section #input-validate-email[data-step=\\'1\\']').data('capi') || '';\n }\n\n if ($step2.hasClass('active')) { // rechange\n capi = $('.form-section #input-validate-email[data-step=\\'2\\']').data('capi') || '';\n step = 2;\n }\n\n if (capi.length) {\n Utils.HttpRequest.get(capi, null, {crossDomain: true,}, (res) => {\n if (res.code == 1) {\n if (step == 1) {\n $('.form-section .step-imgs .step-2').addClass('active').siblings().removeClass('active');\n $('.form-section #input-validate-email[data-step=\\'1\\']').hide();\n $('.form-section #input-validate-email[data-step=\\'2\\']').show();\n $('.form-section #to-validate-email').data('step', 2);\n }\n\n if (step == 2) {\n $('.form-section .step-imgs .step-3').addClass('active').siblings().removeClass('active');\n $('.form-section .bind-result').show();\n }\n } else {\n $('.form-section .bind-result-error').show().siblings(':not(.step-imgs)').hide();\n }\n }, () => {\n window.location.href = '/mine/setting';\n });\n }\n }\n});\n\n// 选择性别\n$(\".container#mine-setting #section-mine-setting #sex.setting-item .radio-item\").on('click', function (e) {\n e.preventDefault();\n $(this).addClass('active').children('input[type=radio]').attr('checked',true);\n $(this).siblings('.radio-item').removeClass('active');\n\n let data = {\n // nickname: $(this).parents('#section-mine-setting').find('.setting-item#name .field .nickname').text(),\n sex_type: $(this).children('input[type=radio]').attr('id') === 'sex-1' ? 1 : 2,\n comment: $(this).parents('#section-mine-setting').find('.setting-item#comment .field input[name=comment]').val()\n };\n\n updateUserInfo(data, (res) => {}, (err) => {\n alert(err.msg);\n });\n});\n\n// 第三方账号绑定与解绑\n$('.container#mine-setting #third-plt .third-plt-list').on('click', '.third-plt-item', function (e) {\n if ($(this).attr('bind') == 1) { // 解绑\n if ($('.container#mine-setting #third-plt .third-plt-list .third-plt-item[bind=\\'1\\']').length <= 1) {\n return ;\n }\n\n let data = {\n utype: 1, // qq\n is_sure: 1,\n };\n let typeTxt = 'QQ';\n\n switch ($(this).attr('id')) {\n case 'wechat':\n data.utype = 2;\n typeTxt = '微信';\n break;\n case 'qq':\n break;\n case 'weibo':\n data.utype = 3;\n typeTxt = '新浪微博';\n break;\n }\n\n $('.popup-modal-mask').show();\n $('.popup-modal.modal-unbind-tip').show().data('type', data.utype);\n $('.popup-modal.modal-unbind-tip').find('.content span').text(typeTxt);\n } else { // 绑定\n console.log('bind')\n }\n});\n\n// 关闭弹窗\n$('.popup-modal.modal-unbind-tip .unbind-cancel, .popup-modal.modal-del-account .btn.cancel, .popup-modal .close').on('click', function () {\n $(this).parents('.popup-modal').hide();\n $('.popup-modal-mask').hide();\n});\n\n// 确定解绑\n$('.popup-modal.modal-unbind-tip .unbind').on('click', function () {\n let data = {\n utype: $(this).parents('.popup-modal').data('type'),\n is_sure: 1,\n };\n\n unbindSocialMediaAccount(data, () => {\n window.location.reload();\n // $(this).find('a span').removeClass('active').text('立即绑定');\n });\n});\n\n// 校验验证码,并发送验证邮件\n$('.form-section#section-bind #input-validate-email .btn-login').on('click', function () {\n\n // 邮箱绑定与更换\n if ('mine_setting_email' === tpl) {\n let btn_type = $(this).data('type') || 'bind';\n\n if (btn_type === 'bind') {\n let seccode = $(this).siblings('#phone-code').find('input[name=email_code]').val().trim();\n let email = $(this).siblings('#phone').find('input[name=email]').val().trim();\n\n $(this).siblings('#phone').find('.tips').hide();\n if (! Utils.Validator.validateEmail(email)) {\n $(this).siblings('#phone').find('.tips').text('请输入正确的邮箱').show();\n return ;\n }\n\n $(this).siblings('#phone-code').find('.tips').hide();\n if (! seccode.length) {\n $(this).siblings('#phone-code').find('.tips').text('请输入正确的验证码').show();\n return ;\n }\n\n Utils.checkSecCode({\n op: 'seccode',\n seccode: seccode,\n }, {}, () => { // success\n Global.checkEmail({email: email, tag: 'bind'}, (resp) => {\n $(this).parent('#input-validate-email').hide()\n .siblings('#to-validate-email').show().children('p:first-child').find('span').text(email);\n\n if (Utils.isCommonEmail(email.split('@')[1])) {\n $(this).parent('#input-validate-email').siblings('#to-validate-email').children('.btn-login').attr('href', 'https://mail.' + email.split('@')[1]);\n $(this).parent('#input-validate-email').siblings('#to-validate-email').children('.uncommon-email').hide();\n } else {\n $(this).parent('#input-validate-email').siblings('#to-validate-email').children('.uncommon-email').show();\n $(this).parent('#input-validate-email').siblings('#to-validate-email').children('.btn-login').hide();\n }\n }, (e) => {\n $(this).siblings('#phone').find('.tips').text(e.msg).show();\n })\n }, () => { // fail\n $(this).siblings('#phone-code').find('.tips').text('请输入正确的验证码').show();\n });\n }\n\n if (btn_type === 'change' || btn_type === 'rechange') {\n let seccode = $(this).siblings('#phone-code').find('input[name=email_code]').val().trim();\n let email = $(this).siblings('.input-item').find('input[name=email]').val().trim();\n\n $(this).siblings('#phone-code').find('.tips').hide();\n if (! seccode.length) {\n $(this).siblings('#phone-code').find('.tips').text('请输入正确的验证码').show();\n return ;\n }\n\n Utils.checkSecCode({\n op: 'seccode',\n step: 1,\n seccode: seccode\n }, {}, () => { // success\n Global.checkEmail({email: email, tag: btn_type}, (resp) => {\n let $parent = $(this).parents('#input-validate-email');\n $parent.hide();\n\n $parent.siblings('#to-validate-email').data('step', btn_type === 'change' ? '1' : '2').show();\n $parent.siblings('#to-validate-email').children('p:first-child').find('span').text(email);\n\n if (Utils.isCommonEmail(email.split('@')[1])) {\n $parent.siblings('#to-validate-email').find('.btn-login').attr('href', 'https://mail.' + email.split('@')[1]);\n $parent.siblings('#to-validate-email').children('.uncommon-email').hide();\n } else {\n $parent.siblings('#to-validate-email').find('.btn-login').hide();\n $parent.siblings('#to-validate-email').children('.uncommon-email').show();\n }\n\n }, (err) => {\n $(this).siblings('.input-item#email').find('.tips').text(err.msg).show();\n })\n }, () => { // fail\n $(this).siblings('#phone-code').find('.tips').text('请输入正确的验证码').show();\n });\n }\n }\n\n // 手机号绑定与更换\n if ('mine_setting_phone' === tpl) {\n let btn_type = $(this).data('type') || 'bind';\n\n if (btn_type === 'bind' || btn_type === 'rechange') {\n // 手机号绑定\n let $phone = $(this).siblings('.input-item#phone').children('input[name=phone]');\n let $phoneCode = $(this).siblings('.input-item#phone-code').children('input[name=phone_code]');\n let smsCApi = $phoneCode.siblings('#sms-capi').val();\n\n $phone.siblings('.tips').hide();\n if (! Utils.Validator.validatePhone($phone.val().trim())) {\n $phone.siblings('.tips').text('请输入正确的手机号码').show();\n return ;\n }\n\n $phoneCode.siblings('.tips').hide();\n if (! $phoneCode.val().trim().length || ! smsCApi) {\n $phoneCode.siblings('.tips').show();\n return ;\n }\n\n let data = {\n code: $phoneCode.val().trim(),\n };\n\n Utils.HttpRequest.post(smsCApi, data, {crossDomain: true,}, (res) => {\n if (res.code == 1) {\n $(this).parents('#input-validate-email').hide().siblings('.bind-result').show();\n\n if (btn_type === 'bind') {\n $(this).parents('.form-section').children('.step-imgs').find('.step.step-2').addClass('active').siblings().removeClass('active')\n }\n\n if (btn_type === 'rechange') {\n $(this).parents('.form-section').children('.step-imgs').find('.step.step-3').addClass('active').siblings().removeClass('active')\n }\n } else {\n alert(res.msg);\n }\n })\n }\n\n // 更换手机号\n if (btn_type === 'change') {\n let $phone = $(this).siblings('.input-item#phone').children('input[name=phone]');\n let $phoneCode = $(this).siblings('.input-item#phone-code').children('input[name=phone_code]');\n let smsCApi = $phoneCode.siblings('#sms-capi').val();\n\n $phone.siblings('.tips').hide();\n if (! Utils.Validator.validatePhone($phone.val().trim())) {\n $phone.siblings('.tips').show();\n return ;\n }\n\n $phoneCode.siblings('.tips').hide();\n if (! $phoneCode.val().trim().length || ! smsCApi) {\n $phoneCode.siblings('.tips').show();\n return ;\n }\n\n let data = {\n code: $phoneCode.val().trim(),\n };\n\n Utils.HttpRequest.post(smsCApi, data, {crossDomain: true,}, (res) => {\n if (res.code == 1) {\n $(this).parents('.form-section').children('.step-imgs').find('.step.step-2').addClass('active').siblings().removeClass('active');\n $(this).parents('#input-validate-email').hide().siblings('#input-validate-email[data-step=2]').show();\n }\n })\n }\n }\n});\n\n// 修改密码\n$('.form-section.password-setting .btn-login').on('click', function () {\n let $old_passwd = $(this).parents('.form-section').children('#password1').find('input[name=old-password]');\n let $new_passwd = $(this).parents('.form-section').children('#password2').find('input[name=new-password]');\n let $new_repasswd = $(this).parents('.form-section').children('#password3').find('input[name=confirm-password]');\n\n $(this).parents('.form-section').find('.tips').hide();\n\n if ($old_passwd.val().trim().length < 6) {\n $old_passwd.parents('.setting-item').children('.tips').show().text('密码至少6个字符');\n $old_passwd.focus();\n return ;\n }\n\n if ($old_passwd.val().trim().length > 14) {\n $old_passwd.parents('.setting-item').children('.tips').show().text('密码不超过14个字符');\n $old_passwd.focus();\n return ;\n }\n\n if ($new_passwd.val().trim().length < 6) {\n $new_passwd.parents('.setting-item').children('.tips').show().text('密码至少6个字符');\n return ;\n }\n\n if ($new_passwd.val().trim().length > 14) {\n $new_passwd.parents('.setting-item').children('.tips').show().text('密码不超过14个字符');\n return ;\n }\n\n if ($new_passwd.val().trim() != $new_repasswd.val().trim()) {\n $new_repasswd.parents('.setting-item').children('.tips').show().text('两次密码不一致');\n return ;\n }\n\n let resetData = {\n passwd: $old_passwd.val().trim(),\n new_passwd: $new_passwd.val().trim(),\n new_repasswd: $new_passwd.val().trim(),\n };\n\n Global.resetPasswd(resetData, (res) => {\n window.alert('密码修改成功,请重新登录');\n window.location.href = '/user/login?from=/mine/setting'\n }, (err) => {\n $old_passwd.parents('.setting-item').children('.tips').show().text(err.msg);\n });\n});\n\n// 修改昵称\n$('.setting-item .field .change').on('click', function () {\n $(this).hide().siblings('.nickname').hide();\n $(this).siblings('input').show();\n $(this).siblings('.input-action').show();\n $(this).siblings('.tips-txt').show();\n});\n\n// 昵称修改\n$('.setting-item#name .field input[name=nickname]').keyup(function () {\n let $del = $(this).siblings('.input-action.input-del');\n if ($del.length) {\n $(this).val().trim().length ? $del.show() : $del.hide();\n }\n $(this).siblings('.tips-success-icon').hide();\n});\n\n// 昵称修改\n$('.setting-item#name .field input[name=nickname]').blur(function () {\n let original_nickname = $(this).siblings('.nickname').text();\n\n let data = {\n nickname: $(this).val().trim(),\n // sex_type: '3',\n comment: $(this).parents('#section-mine-setting').find('.setting-item#comment .field input[name=comment]').val()\n };\n\n if ($(this).parents('#section-mine-setting').find('.setting-item#sex .radio-item.active input[name=sex]').length) {\n data.sex_type = $(this).parents('#section-mine-setting').find('.setting-item#sex .radio-item.active input[name=sex]').attr('id') === 'sex-1' ? 1 : 2;\n }\n\n $(this).siblings('.tips').hide();\n $(this).siblings('.tips-success-icon').hide();\n if (data.nickname.length < 2) {\n $(this).siblings('.tips-txt').hide();\n $(this).siblings('.tips').show().text('昵称不少于2字符');\n\n return ;\n }\n if (data.nickname.length > 20) {\n $(this).siblings('.tips-txt').hide();\n $(this).siblings('.tips').show().text('昵称不超过20字符');\n\n return ;\n }\n\n updateUserInfo(data, (res) => {\n $(this).siblings('.tips-txt').hide();\n $(this).siblings('.input-action').hide();\n $(this).siblings('.tips-success-icon').show();\n }, (err) => {\n console.log(err);\n });\n});\n\n// 注销账号-打开弹窗\n$('.setting-item#del-account .field .del').on('click', function () {\n $('.popup-modal.modal-del-account').show();\n $('.popup-modal-mask').show();\n});\n\n// 弹窗-确定\n$('.popup-modal .actions .confirm').on('click', function () {\n // 确定注销账户\n if ($(this).parents('.popup-modal').hasClass('modal-del-account')) {\n delAccount(() => {\n $('.popup-modal-mask').hide();\n $(this).parents('.popup-modal').hide();\n $('.popup-modal.modal-del-account-success').show();\n Global.doLogout(() => {\n setTimeout(() => {\n window.location.href = '/user/login?_delAccount=1';\n }, 2000);\n });\n }, (error) => {\n console.log(error);\n });\n }\n});\n\n/**\n * 解绑相关账号\n * @param data\n * @param callback\n */\nlet unbindSocialMediaAccount = (data, callback) => {\n let options = {\n isSign: true,\n ac: 'UserUnion.Unbind',\n crossDomain: true,\n };\n\n Utils.HttpRequest.post('https://i.gwdang.com/UserUnion/Unbind', data, options, (response) => {\n if (response.code == 1) {\n callback && 'function' === typeof callback && callback();\n } else {\n console.log(response)\n }\n })\n};\n\n/**\n * 生成第三方账号绑定的地址\n * @param $dom\n * @param sign 手动传入参数\n * @param success 成功回调\n */\nlet generateSocialMediaBindUrl = function ($dom, sign, success) {\n if (! sign || ! Object.keys(sign).length) {\n sign = {\n ac: 'UserUnion.Authorize'.toLowerCase(),\n utype: $dom.data('oauth-type'),\n isBind: 1,\n platform: 'pc',\n t: (new Date().getTime() / 1e3).toFixed(0),\n }\n }\n\n let sign_str = Utils.DataSign(sign);\n delete sign['ac'];\n let data_arr = [];\n Object.keys(sign).forEach((k) => {\n data_arr.push(k + '=' + sign[k])\n });\n data_arr.push('sign=' + sign_str);\n $dom.attr('href', 'https://i.gwdang.com/UserUnion/Authorize?' + data_arr.join('&'));\n\n success && 'function' === typeof success && success();\n};\n\n/**\n * 删除购物党账号\n * @param success\n * @param error\n */\nlet delAccount = function (success, error) {\n let options = {\n isSign: true,\n ac: 'User.Dispose',\n crossDomain: true,\n };\n\n let data = {\n ensure: 1\n };\n\n // success && 'function' === typeof success && success();\n // return;\n Utils.HttpRequest.post('https://i.gwdang.com/User/Dispose', data, options, (response) => {\n console.log(response);\n if (response.code == 1) {\n success && 'function' === typeof success && success();\n } else {\n error && 'function' === typeof error && error(response);\n }\n });\n};\n\n/**\n * 更新用户信息\n * @param data\n * @param success\n * @param error\n */\nlet updateUserInfo = (data, success, error) => {\n let options = {\n isSign: true,\n ac:'User.Modify',\n crossDomain: true,\n };\n\n Utils.HttpRequest.post('https://i.gwdang.com/User/Modify', data, options, (resp) => {\n if (resp.code == 1) {\n success && 'function' === typeof success && success(resp);\n } else {\n error && 'function' === typeof error && error(resp);\n }\n }, (err) => {});\n};\n","/**\n * 工具方法,依赖jquery\n * @type {{get: HttpRequest.get, post: HttpRequest.post, jsonp: HttpRequest.jsonp}}\n */\nvar md5 = require('md5');\n\n/**\n *\n |*| * docCookies.setItem(name, value[, end[, path[, domain[, secure]]]])\n |*| * docCookies.getItem(name)\n |*| * docCookies.removeItem(name[, path[, domain]])\n |*| * docCookies.hasItem(name)\n |*| * docCookies.keys()\n *\n * @type {{getItem: docCookies.getItem, setItem: docCookies.setItem, removeItem: docCookies.removeItem, hasItem: docCookies.hasItem, keys: docCookies.keys}}\n */\nlet docCookies = {\n getItem: function (sKey) {\n return decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(sKey).replace(/[-.+*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null;\n },\n setItem: function (sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n if (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) { return false; }\n let sExpires = \"\";\n if (vEnd) {\n switch (vEnd.constructor) {\n case Number:\n sExpires = vEnd === Infinity ? \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\" : \"; max-age=\" + vEnd;\n break;\n case String:\n sExpires = \"; expires=\" + vEnd;\n break;\n case Date:\n sExpires = \"; expires=\" + vEnd.toUTCString();\n break;\n }\n }\n document.cookie = encodeURIComponent(sKey) + \"=\" + encodeURIComponent(sValue) + sExpires + (sDomain ? \"; domain=\" + sDomain : \"\") + (sPath ? \"; path=\" + sPath : \"\") + (bSecure ? \"; secure\" : \"\");\n return true;\n },\n removeItem: function (sKey, sPath, sDomain) {\n if (!sKey || !this.hasItem(sKey)) { return false; }\n document.cookie = encodeURIComponent(sKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + ( sDomain ? \"; domain=\" + sDomain : \"\") + ( sPath ? \"; path=\" + sPath : \"\");\n return true;\n },\n hasItem: function (sKey) {\n return (new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(sKey).replace(/[-.+*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(document.cookie);\n },\n keys: function () {\n let aKeys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\n for (let nIdx = 0; nIdx < aKeys.length; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }\n return aKeys;\n }\n};\n\nlet HttpRequest = {\n setUp: function (options) {\n if (options.crossDomain) {\n $.ajaxSetup({crossDomain: true, xhrFields: {withCredentials: true}});\n }\n },\n get: function (url, data, options, success, error) {\n this.setUp(options);\n if (! data) data = {};\n if (! data['t'] && (url.indexOf('?t=') < 0 && url.indexOf('&t=') < 0)) {\n data['t'] = (new Date().getTime() / 1e3).toFixed(0);\n }\n\n if (options.isSign) {\n let sign_data = data;\n sign_data['ac'] = options.ac.toString().toLowerCase();\n data['sign'] = Sign(sign_data);\n delete data['ac'];\n }\n $.ajax({\n url: url,\n type: 'GET',\n data: data,\n dataType: 'json',\n success: success,\n error: error,\n })\n },\n post: function (url, data, options, success, error) {\n this.setUp(options);\n\n if (! data) data = {};\n if (! data['t'] && (url.indexOf('?t=') < 0 && url.indexOf('&t=') < 0)) {\n data['t'] = (new Date().getTime() / 1e3).toFixed(0);\n }\n\n if (options.isSign) {\n let sign_data = data;\n sign_data['ac'] = options.ac.toString().toLowerCase();\n data['sign'] = Sign(sign_data);\n delete data['ac'];\n }\n\n $.ajax({\n url: url,\n type: 'POST',\n data: data,\n dataType: 'json',\n success: success,\n error: error,\n })\n },\n jsonp: function (url, data, options, success, error) {\n if (! data['t'] && (url.indexOf('?t=') < 0 && url.indexOf('&t=') < 0)) {\n data['t'] = (new Date().getTime() / 1e3).toFixed(0);\n }\n let jsonpCallback = 'callback';\n\n if (options.isSign) {\n let sign_data = data;\n sign_data['ac'] = options.ac;\n sign_data['callback'] = jsonpCallback;\n data['sign'] = Sign(sign_data);\n delete data['ac'];\n delete data['callback'];\n }\n $.ajax({\n url: url,\n type: 'GET',\n data: data,\n dataType: 'jsonp',\n jsonpCallback: jsonpCallback,\n cache: true,\n success: success,\n error: error,\n })\n }\n};\n\nlet Validator = {\n /**\n * 手机号验证\n * @param phone\n * @return {boolean}\n */\n validatePhone: function (phone) {\n const reg = /^1(3[0-9]|4[5,7,9]|5[0,1,2,3,5,6,7,8,9]|6[2,5,6,7]|7[0,1,2,3,5,6,7,8]|8[0-9]|9[1,2,3,8,9])\\d{8}$/;\n return reg.test(phone);\n },\n\n /**\n * email验证\n * @param email\n * @return {boolean}\n */\n validateEmail: function (email) {\n const reg = /^([a-zA-Z0-9]+[_|\\.\\-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\\.]?)*[a-zA-Z0-9]+\\.[a-zA-Z]{2,4}$/;\n return reg.test(email);\n }\n};\n\n/**\n * 参数签名\n * @param data\n * @return {string|Buffer}\n * @constructor\n */\nlet Sign = (data) => {\n let keys = Object.keys(data);\n keys.sort();\n\n let str = '';\n keys.forEach(k => {\n str += k.toString() + data[k]\n });\n\n return md5(md5(str) + data['ac']);\n};\n\nlet getUrlParams = function () {\n let url = location.search;\n let theRequest = {};\n if (url.indexOf(\"?\") !== -1) {\n let str = url.substr(url.indexOf(\"?\") + 1);\n let strs = str.split(\"&\");\n for(let i = 0; i < strs.length; i ++) {\n theRequest[strs[i].split(\"=\")[0]]=unescape(decodeURIComponent(strs[i].split(\"=\")[1].replace(/%/g, '%25')));\n }\n }\n return theRequest;\n};\n\n//验证码\nfunction secCodeImg() {\n return '/do/seccode/?rand='+Math.random();\n}\n\n/**\n * 验证码校验\n * @param data\n * @param options\n * @param success\n * @param fail\n */\nfunction checkSecCode(data, options, success, fail) {\n if (! Object.keys(data).length) {\n fail && 'function' === typeof fail && fail();\n return ;\n }\n\n HttpRequest.get('/do/check_seccode', data, {}, (res) => {\n if (res.is_success == 1) {\n success && 'function' === typeof success && success();\n } else {\n fail && 'function' === typeof fail && fail()\n }\n });\n}\n\n/**\n * 弹出式登录框的滑块验证\n * @param capt_url\n * @return {*|jQuery|HTMLElement}\n */\nlet createSmallCaptcha = (capt_url) => {\n let $dom = $(`\n
    \n
    \n \n
    \n
    `);\n\n return $dom;\n};\n\n/**\n * 创建全屏弹出式滑块验证\n * @param capt_url\n * @return {*|jQuery|HTMLElement}\n */\nlet createPopupCaptcha = (capt_url) => {\n let $dom = $(`
    \n
    \n \n \n
    \n
    `);\n\n $('body').append($dom);\n\n $dom.find('.close').on('click', function () {\n $('.popup-captcha').remove();\n });\n\n return $dom;\n};\n\nlet Inputing = {\n // 输入数字/手机号\n Number: function () {\n $(this).val($(this).val().replace(/[^\\d]/g,''));\n },\n};\n\nlet isCommonEmail = (mail) => {\n let arr = [\n 'qq.com',\n '163.com',\n '139.com',\n 'sina.com',\n 'yeah.com',\n '126.com',\n '21cn.com',\n 'gmail.com',\n 'yahoo.com',\n 'msn.com',\n 'hotmail.com',\n 'aol.com',\n 'ask.com',\n 'live.com',\n ];\n\n return arr.indexOf(mail.toLowerCase()) > -1;\n};\n\n/**\n * 当前时间到第二天0点的秒数\n * 用于一些cookie的过期时长\n * @return {number}\n */\nlet getNextDayZeroSeconds = () => {\n let date = new Date();\n let year = date.getFullYear();\n let month = date.getMonth() + 1;\n let day = date.getDate() + 1;\n let string2timestamp = year+\"/\"+month+\"/\"+day+\" 00:00:00\";\n return (Date.parse(string2timestamp) - Date.parse(new Date()))/1000;\n};\n\nexport default {\n HttpRequest,\n Validator,\n Cookies: docCookies,\n UrlParams: getUrlParams,\n DataSign: Sign,\n secCodeImg,\n checkSecCode,\n createSmallCaptcha,\n createPopupCaptcha,\n Inputing,\n isCommonEmail,\n getNextDayZeroSeconds,\n}"],"sourceRoot":""}