// это метод для кнопки логин
this.logIn = (login_email,login_password) => {
$http.post('someUrl',{
"email": login_email.toLowerCase(),
"password": login_password
}).then(d => {
// сохраняю токен в LocalStorage
localStorage.setItem('token',d.data);
// если надо перезагрузка приложения, или по другому как то
location.reload();
}, err => {});
};
// и например в фабрике делаем проверку
.factory('authFactory', ()=> {
return {
isAuth: !!localStorage.getItem('token')
}
})
@Component({
selector: 'file-uploader',
templateUrl: './file-uploader-prioriti.html'
})
@AutoUnsubscribe()
export class FileUploaderComponent {
@Input() size: number = 2e6;
@Input() uploaderClass: string;
@Input() filename: string;
@Input() url: string = 'file/upload';
@Input() accept: string = '.jpeg,.jpg,.png';
@Output() callback: EventEmitter<string> = new EventEmitter();
uploader: any;
constructor(public httpService:HttpService,
private toast:ToastsManager,
public handleData: HandleData) {
}
ngOnInit() {
this.uploader = this.httpService.uploadFileWithAuth(this.size,this.url,this.filename);
//после загрузки
this.uploader.onCompleteItem = (f,i)=> {
this.callback.emit(this.handleData.getHash(new Date + ''))
};
// при ошибке добавления файла
this.uploader.onWhenAddingFileFailed = (file)=> {
if(file.size > this.size) {
// тостик о превышение допустимого размера
this.toast.error(`Вы превысили макcимально допустимый размер ${Math.floor(this.size/1024)} Кбайт. Ваш файл ${Math.floor(file.size/1024)} Кбайт`, 'Ошибка!', {
showCloseButton: true,
toastLife: 22e3
});
}
};
this.uploader.onBeforeUploadItem = (item) => {
item.withCredentials = false;
}
}
}