Ответ 1
Я не знаю, подходит ли то, как вы это делаете, но лично делайте следующее на стороне клиента, чтобы определить, зарегистрирован ли пользователь:
Tracker.autorun(function(){
if(Meteor.userId()){
//do your stuff
}
});
Итак, я довольно новичок в структуре метеоров и JavaScript в целом, но я работаю над небольшим проектом, использующим фреймворк, чтобы попытаться довести до нуля. В основном я работаю на сайте микро-блогов.
В настоящий момент пользователи могут входить в систему через несколько сервисов, fb, google и т.д. И я получаю их аватары через служебный идентификатор, вставленный в необходимый URL-адрес, все это прекрасно работает. Но я хочу, чтобы пользователь мог увидеть свой собственный аватар, как только они вошли в систему, что означает, что мне нужно запустить JavaScript сразу после успешного входа в систему. На данный момент я не могу найти что-либо в событии стиля onLogin. И взломали шаблон руля, чтобы запустить код, когда пользователь входит в систему. Однако этот код работает только один раз, и если пользователь выходит из системы, а затем возвращается, они больше не видят свой аватар.
Кто-нибудь знает о событии, которое я могу использовать для этого?
вот мой хакерский шаблон
{{#if currentUser}}
{{> userInput}}
{{/if}}
здесь js он вызывает
$('#inputAvatar').css('background-image', 'url('+avatarUrl+')');
Я был бы очень благодарен за помощь, я уверен, что это что-то простое, что я упустил из виду, но я не могу понять это!
Спасибо, Питер.
Я не знаю, подходит ли то, как вы это делаете, но лично делайте следующее на стороне клиента, чтобы определить, зарегистрирован ли пользователь:
Tracker.autorun(function(){
if(Meteor.userId()){
//do your stuff
}
});
Если вы используете логин google или любой другой логин o-auth, вы можете передать функцию обратного вызова, которая будет выполняться после входа в систему,
Вот пример кода.
Meteor.loginWithGoogle({
requestPermissions: ['email']
}, function(error) {
if (error) {
console.log(error); //If there is any error, will get error here
}else{
console.log(Meteor.user());// If there is successful login, you will get login details here
}
});