Tru*_*ran 7 javascript account hook login meteor
我正在使用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());
});
Run Code Online (Sandbox Code Playgroud)
Aks*_*hat 10
是的,这是真的.
每次打开新页面时都没有登录.当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");
}
});
Run Code Online (Sandbox Code Playgroud)
因此,只有当用户使用他或她的密码登录时,才能使事件触发.甚至当他们注册时.如果用户打开一个使用localStorage令牌进行注册的新页面,则可以使用此选项来排除运行挂钩.
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |