[英]Account onLogin hook Meteor loop
我正在使用Meteor構建應用程序。 我想在每次用戶登錄我的應用程序時創建一個新的購物車ID(作為我可以存儲物品的購物車)。 但是,每次在應用程序中打開新頁面時,都會創建一個新的購物車ID。 這是否意味着應用程序每次單擊應用程序中的新頁面時“登錄”? 這是我的代碼:
Accounts.onLogin(function(user){
var newCartId = uuid.new()
Meteor.users.update({_id: user.user._id}, {$set: {'profile.cartId': newCartId}})
console.log('just created a new Cart ID at ' + Date());
});
是的,這是真的。
每次打開新頁面時都沒有登錄。當localStorage令牌驗證您時,類似於cookie的操作,您將自動登錄。 當您自動登錄時,此掛鈎也將運行。
很難定義用戶如何登錄.Meteor的onLogin掛鈎會觸發任何類型的登錄方法。
但是,您可以自定義何時運行掛鈎:
Accounts.onLogin(function(info) {
if(info.methodName == "createUser") {
console.log("This user logged in by signing up");
}else if(info.type == "password") {
console.log("This user logged in by using his/her password");
}else if(info.type == "resume") {
console.log("This user logged in using a localStorage token");
}
});
因此,只有當用戶使用他或她的密碼登錄時,才能使事件觸發。 甚至當他們注冊時。 如果用戶打開一個使用localStorage令牌進行注冊的新頁面,則可以使用此選項來排除運行掛鈎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.