我最近克隆了ngx管理模板。我试图学习角度。我想要的是为用户登录添加硬编码的用户名和密码。当且仅当键入该特定值时,登录才会重定向到仪表板。目前,我输入的任何电子邮件或密码都被重定向到仪表板页面。请帮忙。
login.component.js
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Component, Inject } from '@angular/core';
import { Router } from '@angular/router';
import { NB_AUTH_OPTIONS_TOKEN } from '../../auth.options';
import { getDeepFromObject } from '../../helpers';
import { NbAuthService } from '../../services/auth.service';
var NbLoginComponent = (function () {
function NbLoginComponent(service, config, router) {
if (config === void 0) { config = {}; }
this.service = service;
this.config = config;
this.router = router;
this.redirectDelay = 0;
this.showMessages = {};
this.provider = '';
this.errors = [];
this.messages = [];
this.user = {};
this.submitted = false;
this.redirectDelay = this.getConfigValue('forms.login.redirectDelay');
this.showMessages = this.getConfigValue('forms.login.showMessages');
this.provider = this.getConfigValue('forms.login.provider');
}
NbLoginComponent.prototype.login = function () {
var _this = this;
this.errors = this.messages = [];
this.submitted = true;
this.service.authenticate(this.provider, this.user).subscribe(function (result) {
_this.submitted = false;
if (result.isSuccess()) {
_this.messages = result.getMessages();
}
else {
_this.errors = result.getErrors();
}
var redirect = result.getRedirect();
if (redirect) {
setTimeout(function () {
return _this.router.navigateByUrl('pages/dashboard');
}, _this.redirectDelay);
}
});
};
NbLoginComponent.prototype.getConfigValue = function (key) {
return getDeepFromObject(this.config, key, null);
};
return NbLoginComponent;
}());
NbLoginComponent = __decorate([
Component({
selector: 'nb-login',
template: "\n <nb-auth-block>\n <h2 class=\"title\">Log In</h2>\n <small class=\"form-text sub-title\">Hello! Log in with your email</small>\n\n <form (ngSubmit)=\"login()\" #form=\"ngForm\" autocomplete=\"nope\">\n\n <div *ngIf=\"showMessages.error && errors && errors.length > 0 && !submitted\"\n class=\"alert alert-danger\" role=\"alert\">\n <div><strong>Oh snap!</strong></div>\n <div *ngFor=\"let error of errors\">{{ error }}</div>\n </div>\n\n <div *ngIf=\"showMessages.success && messages && messages.length > 0 && !submitted\"\n class=\"alert alert-success\" role=\"alert\">\n <div><strong>Hooray!</strong></div>\n <div *ngFor=\"let message of messages\">{{ message }}</div>\n </div>\n\n <div class=\"form-group\">\n <label for=\"input-email\" class=\"sr-only\">Email address</label>\n <input name=\"email\" [(ngModel)]=\"user.email\" id=\"input-email\" pattern=\".+@.+..+\"\n class=\"form-control\" placeholder=\"Email address\" #email=\"ngModel\"\n [class.form-control-danger]=\"email.invalid && email.touched\" autofocus\n [required]=\"getConfigValue('forms.validation.email.required')\">\n <small class=\"form-text error\" *ngIf=\"email.invalid && email.touched && email.errors?.required\">\n Email is required!\n </small>\n <small class=\"form-text error\"\n *ngIf=\"email.invalid && email.touched && email.errors?.pattern\">\n Email should be the real one!\n </small>\n </div>\n\n <div class=\"form-group\">\n <label for=\"input-password\" class=\"sr-only\">Password</label>\n <input name=\"password\" [(ngModel)]=\"user.password\" type=\"password\" id=\"input-password\"\n class=\"form-control\" placeholder=\"Password\" #password=\"ngModel\"\n [class.form-control-danger]=\"password.invalid && password.touched\"\n [required]=\"getConfigValue('forms.validation.password.required')\"\n [minlength]=\"getConfigValue('forms.validation.password.minLength')\"\n [maxlength]=\"getConfigValue('forms.validation.password.maxLength')\">\n <small class=\"form-text error\" *ngIf=\"password.invalid && password.touched && password.errors?.required\">\n Password is required!\n </small>\n <small\n class=\"form-text error\"\n *ngIf=\"password.invalid && password.touched && (password.errors?.minlength || password.errors?.maxlength)\">\n Password should contains\n from {{ getConfigValue('forms.validation.password.minLength') }}\n to {{ getConfigValue('forms.validation.password.maxLength') }}\n characters\n </small>\n </div>\n\n <div class=\"form-group accept-group col-sm-12\">\n </div>\n\n <button [disabled]=\"submitted || !form.valid\" class=\"btn btn-block btn-hero-success\"\n [class.btn-pulse]=\"submitted\">\n Log In\n </button>\n </form>\n\n <small class=\"form-text\">\n </small>\n </nb-auth-block>\n ",
}),
__param(1, Inject(NB_AUTH_OPTIONS_TOKEN)),
__metadata("design:paramtypes", [NbAuthService, Object, Router])
], NbLoginComponent);
export { NbLoginComponent };
//# sourceMappingURL=login.component.js.map