!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@nebular/theme"),require("@angular/forms"),require("rxjs/operators"),require("@angular/common/http"),require("jsencrypt"),require("@nebular/auth"),require("@angular/router"),require("@nebular/auth/helpers"),require("@angular/core"),require("rxjs"),require("@ngx-translate/core")):"function"==typeof define&&define.amd?define("ge-admin-auth",["exports","@angular/common","@nebular/theme","@angular/forms","rxjs/operators","@angular/common/http","jsencrypt","@nebular/auth","@angular/router","@nebular/auth/helpers","@angular/core","rxjs","@ngx-translate/core"],t):t(e["ge-admin-auth"]={},e.ng.common,e.theme,e.ng.forms,e.rxjs.operators,e.ng.common.http,e.JSEncrypt,e.auth,e.ng.router,e.helpers,e.ng.core,e.rxjs,e.core$1)}(this,function(e,t,r,n,a,s,i,l,o,u,c,g,d){"use strict";var p=Object.freeze({"default":{"与第一次输入不符合":"与第一次输入不符合.","修改密码":"修改密码","密码":"密码","密码:":"密码:","密码是必填的":"密码是必填的","密码规则提示":"密码应该包含 最小长度 {{minLength}} 最大长度 {{maxLength}} 个字符","您好,欢迎使用":"您好,欢迎使用","成功!":"成功!","新密码":"新密码","新密码:":"新密码:","新密码是必填的!":"新密码是必填的!","旧密码:":"旧密码:","旧密码是必填的!":"旧密码是必填的","登出提示":"正在登出, 请等待...","登录":"登录","确认密码":"确认密码","确认密码:":"确认密码:","确认密码是必填的!":"确认密码是必填的!","请设置您的新密码":"请设置您的新密码","账户":"账户","账户:":"账户:","账户是必填的":"账户是必填的","错误!":"错误!"}}),h=Object.freeze({"default":{"与第一次输入不符合":"與第一次輸入不符合.","修改密码":"更改密碼","密码":"密碼","密码:":"密碼:","密码是必填的":"必須填寫密碼","密码规则提示":"密碼應該包含 最小長度 {{minLength}} 最大長度 {{maxLength}} 個字符","您好,欢迎使用":"您好,歡迎使用","成功!":"成功!","新密码":"新密碼","新密码:":"新密碼:","新密码是必填的!":"必須填寫新密碼","旧密码:":"舊密碼:","旧密码是必填的!":"必須填寫舊密碼","登出提示":"正在登出, 請稍候⋯","登录":"登入","确认密码":"確認密碼","确认密码:":"確認密碼:","确认密码是必填的!":"必須填寫確認密碼","请设置您的新密码":"請設置您的新密碼","账户":"賬戶","账户:":"賬戶:","账户是必填的":"必須填寫賬戶","错误!":"錯誤!"}}),f=new c.InjectionToken("AUTH_DEFAULT_LANG"),m=function(){function e(e,t){this._translate=e,this._translate.setTranslation("zh-cn",p),this._translate.setTranslation("zh-hk",h),this._translate.setDefaultLang(t||"zh-cn")}return e.prototype.setTranslate=function(e){this._translate.use(e)},e.decorators=[{type:c.Injectable}],e.ctorParameters=function(){return[{type:d.TranslateService},{type:String,decorators:[{type:c.Optional},{type:c.Inject,args:[f]}]}]},e}(),w=function(){function e(e,t,r,n,s){void 0===r&&(r={}),this.service=e,this.langService=t,this.options=r,this.cd=n,this.router=s,this.redirectDelay=0,this.showMessages={},this.strategy="",this.errors=[],this.messages=[],this.user={},this.submitted=!1,this.socialLinks=[],this.rememberMe=!1,this.redirectDelay=this.getConfigValue("forms.login.redirectDelay"),this.showMessages=this.getConfigValue("forms.login.showMessages"),this.strategy=this.getConfigValue("forms.login.strategy"),this.socialLinks=this.getConfigValue("forms.login.socialLinks"),this.rememberMe=this.getConfigValue("forms.login.rememberMe")}return e.prototype.login=function(){var r=this;this.errors=[],this.messages=[],this.submitted=!0,this.service.authenticate(this.strategy,this.user).subscribe(function(e){r.submitted=!1,e.isSuccess()?r.messages=e.getMessages():r.errors=e.getErrors();var t=e.getRedirect();t&&setTimeout(function(){return r.router.navigateByUrl(t)},r.redirectDelay),r.cd.detectChanges()})},e.prototype.getConfigValue=function(e){return u.getDeepFromObject(this.options,e,null)},e.decorators=[{type:c.Component,args:[{selector:"auth-login",template:'

登录

\r\n

您好,欢迎使用

\r\n\r\n\r\n

错误!

\r\n \r\n
\r\n\r\n\r\n

成功!

\r\n \r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n 密码应该包含 最小长度 {{ getConfigValue(\'forms.validation.password.minLength\') }} 最大长度\r\n {{ getConfigValue(\'forms.validation.password.maxLength\') }}\r\n 个字符\r\n

\r\n
\r\n
\r\n\r\n \x3c!--
--\x3e\r\n \x3c!--记住账号--\x3e\r\n \x3c!--<!–Forgot Password?–>--\x3e\r\n \x3c!--
--\x3e\r\n\r\n \r\n \r\n\r\n\r\n\x3c!----\x3e\r\n\r\n\x3c!--
--\x3e\r\n\x3c!--Don\'t have an account? Register--\x3e\r\n\x3c!--
--\x3e\r\n',changeDetection:c.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:l.NbAuthService},{type:m},{type:undefined,decorators:[{type:c.Inject,args:[l.NB_AUTH_OPTIONS]}]},{type:c.ChangeDetectorRef},{type:o.Router}]},e}(),b=function(e,t){return(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function y(e,t){function r(){this.constructor=e}b(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var v=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.baseEndpoint="/api/auth/",e.getPublicKey={endpoint:"getPublicKey",method:"get"},e.login={alwaysFail:!1,endpoint:"login",method:"post",redirect:{success:"/",failure:null},defaultErrors:["未知错误!"],defaultMessages:["You have been successfully logged in."]},e.createUser={endpoint:"createUser",method:"post",defaultErrors:["未知错误!"]},e.updatePasswordForAdmin={endpoint:"updatePasswordForAdmin",method:"patch",defaultErrors:["未知错误!"]},e.register={alwaysFail:!1,endpoint:"register",method:"post",redirect:{success:"/",failure:null},defaultErrors:["Something went wrong, please try again."],defaultMessages:["You have been successfully registered."]},e.requestPass={endpoint:"request-pass",method:"post",redirect:{success:"/",failure:null},defaultErrors:["Something went wrong, please try again."],defaultMessages:["Reset password instructions have been sent to your email."]},e.resetPass={endpoint:"updateUserPassword",method:"patch",redirect:{success:"/",failure:null},defaultErrors:["未知错误."],defaultMessages:["Your password has been successfully changed."]},e.logout={alwaysFail:!1,endpoint:"logout",method:"delete",redirect:{success:"/",failure:null},defaultErrors:["Something went wrong, please try again."],defaultMessages:["You have been successfully logged out."]},e.errors={key:"messager",getter:function(e,t,r){return[u.getDeepFromObject(t.error,r.errors.key,r[e].defaultErrors)]}},e.messages={key:"messager",getter:function(e,t,r){return[u.getDeepFromObject(t.body,r.messages.key,!1)]}},e.success={key:"success",getter:function(e,t,r){return u.getDeepFromObject(t.body,r.success.key,r[e].defaultMessages)}},e}return y(e,t),e}(l.NbAuthStrategyOptions),P=new v,x=function E(e){this.message=e},L=function(n){function t(e,t){var r=n.call(this)||this;return r.http=e,r.route=t,r.defaultOptions=P,r}return y(t,n),t.setup=function(e){return[t,e]},t.prototype.authenticate=function(t){var r=this,n="login",s=this.getOption(n+".method"),o=this.getActionEndpoint(n);this.getOption(n+".requireValidToken");return this.getEncryptPassword(t.loginPassword).pipe(a.map(function(e){return e.loginID=t.loginId,r.http.request(s,o,{body:e,observe:"response"}).pipe(a.map(function(e){if(r.getOption(n+".alwaysFail"))throw r.createFailResponse(t);if(!r.getOption("success.getter")(n,e,r.options))throw new x(r.getOption("messages.getter")(n,e,r.options));return e}),a.map(function(e){return new l.NbAuthResult(!0,e,r.getOption(n+".redirect.success"),[],r.getOption("messages.getter")(n,e,r.options))}),a.catchError(function(e){return r.handleResponseError(e,n)}))}),a.concatAll())},t.prototype.logout=function(){var t=this,r="logout",n=this.getOption(r+".method"),s=this.getActionEndpoint(r);return g.of({}).pipe(a.switchMap(function(e){return s?t.http.request(n,s,{observe:"response"}):g.of(e)}),a.map(function(e){if(t.getOption(r+".alwaysFail"))throw t.createFailResponse();return e}),a.map(function(e){return new l.NbAuthResult(!0,e,t.getOption(r+".redirect.success"),[],t.getOption("messages.getter")(r,e,t.options))}),a.catchError(function(e){return t.handleResponseError(e,r)}))},t.prototype.refreshToken=function(e){return undefined},t.prototype.register=function(e){return undefined},t.prototype.requestPassword=function(e){return undefined},t.prototype.resetPassword=function(t){var r=this,n="resetPass",s=this.getOption(n+".method"),o=this.getActionEndpoint(n);return this.getEncryptPassword(t.loginPasswordNew+"-"+t.loginPasswordOld).pipe(a.map(function(e){return e.passwordData=e.loginPassword,r.http.request(s,o,{body:e,observe:"response"}).pipe(a.map(function(e){if(r.getOption(n+".alwaysFail"))throw r.createFailResponse(t);if(!r.getOption("success.getter")(n,e,r.options))throw new x(r.getOption("messages.getter")(n,e,r.options));return e}),a.map(function(e){return new l.NbAuthResult(!0,e,r.getOption(n+".redirect.success"),[],r.getOption("messages.getter")(n,e,r.options))}),a.catchError(function(e){return r.handleResponseError(e,n)}))}),a.concatAll())},t.prototype.createUser=function(t){var r=this,n="createUser",s=this.getOption(n+".method"),o=this.getActionEndpoint(n);return this.getEncryptPassword(t.loginPassword).pipe(a.map(function(e){return e.userName=t.userName,e.loginID=t.loginID,r.http.request(s,o,{body:e,observe:"response"}).pipe(a.map(function(e){if(r.getOption(n+".alwaysFail"))throw r.createFailResponse(t);if(!r.getOption("success.getter")(n,e,r.options))throw new x(r.getOption("messages.getter")(n,e,r.options));return e}),a.map(function(e){return new l.NbAuthResult(!0,e,r.getOption(n+".redirect.success"),[],r.getOption("messages.getter")(n,e,r.options))}),a.catchError(function(e){return r.handleResponseError(e,n)}))}),a.concatAll())},t.prototype.updatePasswordForAdmin=function(t){var r=this,n="updatePasswordForAdmin",s=this.getOption(n+".method"),o=this.getActionEndpoint(n);return this.getEncryptPassword(t.loginPassword).pipe(a.map(function(e){return e.userID=t.userID,r.http.request(s,o,{body:e,observe:"response"}).pipe(a.map(function(e){if(r.getOption(n+".alwaysFail"))throw r.createFailResponse(t);if(!r.getOption("success.getter")(n,e,r.options))throw new x(r.getOption("messages.getter")(n,e,r.options));return e}),a.map(function(e){return new l.NbAuthResult(!0,e,r.getOption(n+".redirect.success"),[],r.getOption("messages.getter")(n,e,r.options))}),a.catchError(function(e){return r.handleResponseError(e,n)}))}),a.concatAll())},t.prototype.getEncryptPassword=function(t){var r=this,n="getPublicKey",e=this.getOption(n+".method"),s=this.getActionEndpoint(n);return this.http.request(e,s,{observe:"response"}).pipe(a.map(function(e){return function o(e,t){var r=Date.now(),n=new i.JSEncrypt;n.setPublicKey(e.data.publicPEMKey);var s=n.encrypt(t+r);return{cryptoKeyID:e.data.cryptoKeyID,utcTimestamp:r,loginPassword:s}}(e.body,t)}),a.catchError(function(e){return r.handleResponseError(e,n)}))},t.prototype.handleResponseError=function(e,t){var r=[];return e instanceof s.HttpErrorResponse?r=this.getOption("errors.getter")(t,e,this.options):e instanceof l.NbAuthIllegalTokenError?r.push(e.message):e instanceof x?r=e.message:r.push("Something went wrong."),g.of(new l.NbAuthResult(!1,e,this.getOption(t+".redirect.failure"),r))},t.decorators=[{type:c.Injectable}],t.ctorParameters=function(){return[{type:s.HttpClient},{type:o.ActivatedRoute}]},t}(l.NbAuthStrategy),I=function(){function e(e,t,r,n,s){void 0===r&&(r={}),this.service=e,this.langService=t,this.options=r,this.cd=n,this.router=s,this.redirectDelay=0,this.showMessages={},this.strategy="",this.submitted=!1,this.errors=[],this.messages=[],this.user={},this.redirectDelay=this.getConfigValue("forms.resetPassword.redirectDelay"),this.showMessages=this.getConfigValue("forms.resetPassword.showMessages"),this.strategy=this.getConfigValue("forms.resetPassword.strategy")}return e.prototype.resetPass=function(){var r=this;this.errors=this.messages=[],this.submitted=!0,this.service.resetPassword(this.strategy,this.user).subscribe(function(e){r.submitted=!1,e.isSuccess()?r.messages=e.getMessages():r.errors=e.getErrors();var t=e.getRedirect();t&&setTimeout(function(){return r.router.navigateByUrl(t)},r.redirectDelay),r.cd.detectChanges()})},e.prototype.getConfigValue=function(e){return u.getDeepFromObject(this.options,e,null)},e.decorators=[{type:c.Component,args:[{selector:"auth-reset-password-page",template:'

修改密码

\r\n

请设置您的新密码

\r\n\r\n\r\n

错误!

\r\n
    \r\n
  • {{ error }}
  • \r\n
\r\n
\r\n\r\n\r\n

成功!

\r\n
    \r\n
  • {{ message }}
  • \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n 密码应该包含\r\n 最小长度 {{ getConfigValue(\'forms.validation.password.minLength\') }}\r\n 最大长度 {{ getConfigValue(\'forms.validation.password.maxLength\') }}\r\n 个字符\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n\r\n 密码应该包含\r\n 最小长度 {{ getConfigValue(\'forms.validation.password.minLength\') }}\r\n 最大长度 {{ getConfigValue(\'forms.validation.password.maxLength\') }}\r\n 个字符\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n

\r\n\r\n

\r\n

\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n\x3c!----\x3e\r\n',changeDetection:c.ChangeDetectionStrategy.OnPush,styles:[":host .form-group:last-of-type{margin-bottom:3rem}"]}]}],e.ctorParameters=function(){return[{type:l.NbAuthService},{type:m},{type:undefined,decorators:[{type:c.Inject,args:[l.NB_AUTH_OPTIONS]}]},{type:c.ChangeDetectorRef},{type:o.Router}]},e}(),O=function(){function e(e,t,r,n){void 0===r&&(r={}),this.service=e,this.langService=t,this.options=r,this.router=n,this.redirectDelay=0,this.strategy="",this.redirectDelay=this.getConfigValue("forms.logout.redirectDelay"),this.strategy=this.getConfigValue("forms.logout.strategy")}return e.prototype.ngOnInit=function(){this.logout(this.strategy)},e.prototype.logout=function(e){var r=this;this.service.logout(e).subscribe(function(e){var t=e.getRedirect();t&&setTimeout(function(){return r.router.navigateByUrl(t)},r.redirectDelay)})},e.prototype.getConfigValue=function(e){return u.getDeepFromObject(this.options,e,null)},e.decorators=[{type:c.Component,args:[{selector:"auth-logout",template:'
\r\n',styles:["div{text-align:center}"]}]}],e.ctorParameters=function(){return[{type:l.NbAuthService},{type:m},{type:undefined,decorators:[{type:c.Inject,args:[l.NB_AUTH_OPTIONS]}]},{type:o.Router}]},e}(),M=function(){function e(){this.subject=new g.Subject}return e.prototype.changeStatus=function(e){this.status!==e&&(this.status=e,this.subject.next(e))},e.decorators=[{type:c.Injectable}],e.ctorParameters=function(){return[]},e}(),C={Login:1,Logout:2};C[C.Login]="Login",C[C.Logout]="Logout";var k=function(){function e(){}return e.decorators=[{type:c.NgModule,args:[{declarations:[w,I,O],imports:[t.CommonModule,r.NbLayoutModule,r.NbCardModule,r.NbCheckboxModule,r.NbAlertModule,r.NbInputModule,r.NbButtonModule,o.RouterModule,n.FormsModule,d.TranslateModule.forRoot(),l.NbAuthModule.forRoot()],providers:[L,M,m],exports:[w,I,O]}]}],e}();e.GeAdminAuthModule=k,e.LoginStatusService=M,e.LoginStatus=C,e.LoginComponent=w,e.LogoutComponent=O,e.ResetPasswordComponent=I,e.ResultError=x,e.NamePasswordStrategyService=L,e.NamePasswordAuthStrategyOptions=v,e.namePasswordStrategyOptions=P,e.AUTH_DEFAULT_LANG=f,e.LoginLangService=m,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ge-admin-auth.umd.min.js.map