0

有没有办法让我检查是否有人从 Meteor 外部登录到 Meteor;例如,来自 Express.js 应用程序?我想从 Express 应用程序中知道当前登录的用户是谁在特定客户端上,这样如果调用了 API,我们就会知道将 API 调用的结果应用到谁。

4

1 回答 1

1

所以这是最好的两部分。

一种在meteor中检查用户是否在线的方法

您可能可以使用流星智能包(社区包回购)来做到这一点:https ://github.com/erundook/meteor-profile-online

确保你有陨石,通过安装npm install meteorite -g

在您的包回购中使用:mrt add profile-online

使用 Express 访问流星的数据

要访问 Express 中的内容,您需要一个 DDP 客户端,我知道这个可以与 pre1(Meteor 0.57+ 的 DDP版本)一起使用:https ://github.com/EventedMind/node-ddp-client

你可以有一个在流星中检查你的方法

服务器js(流星)

Meteor.methods({
    'isonline: function(id) { 
        return Meteor.users.find(id).profile.online;
    }
}

表达:

var client = new DDPClient({
    host: "localhost",
    port: 3000
});

userid = '1' //The user _id of the person you want to check
client.connect(function () {
   console.log("Connected to Meteor at localhost:3000");
   client.call("isonline", [userid], function(err,result) {
        client.close();
            if(!err) {
                if(result) {
                    console.log("User " + userid + " is online");
                }
                else
                {
                    console.log("That user isn't online");
                }
            }
            else
            {
                console.log(err)
            }
   });
});
于 2013-03-14T18:07:51.483 回答