好的,所以当我第一次注册后我的应用程序启动时,我想将用户重定向到另一个页面。
在我的服务器代码中,我有这个
Accounts.onCreateUser(function(options, user) {
Hooks.onCreateUser = function () {
Meteor.Router.to('/newUser');
}
});
但我希望用户被重定向到另一个页面,如果他们已经多了一次,那么我在我的客户端代码中有这个,它总是默认为客户端,我做错了什么?
Hooks.onLoggedIn = function () {
Meteor.Router.to('/new');
}
答案 0 :(得分:2)
如果要重定向已签名的用户,只需在用户对象中设置一个标记,表示他是否被重定向:
Hooks.onLoggedIn = function (){
if(!Meteor.user()) return;
if(!Meteor.user().returning) {
Meteor.users.update(Meteor.userId(), {$set: {returning: true}});
Meteor.Router.to('/new');
}
}
确保发布&订阅用户集合的returning
字段!
如果您想为所有访问者提供类似的功能,请使用Cookie。
Hooks.onLoggedIn = function (){
if(!Cookie.get('returning')) {
Cookie.set('returning', true);
Meteor.Router.to('/new');
}
}
答案 1 :(得分:0)
创建集合'ExistingUsers'以跟踪。
if (Meteor.isClient) {
Deps.autorun(function () {
if(Meteor.userId())
//will run when a user logs in - now check if userId is in 'ExistingUsers'
//If not display message and put userId in 'ExistingUsers'
});
或者将字段'SeenMessage'添加到用户集合