我正在使用mizzao:user-status软件包向我的用户添加在线/活动状态.使用此功能,我可以运行查询以获取所有在线用户.
我面临的问题是,保持用户列表与登录的用户保持同步.
我相信我需要用来Accounts.onLogin
更新列表,我认为这是在服务器端使用的.那么,我如何保持用户列表与客户端连接的用户保持同步?
就像在README上的mizzao点.
首先做发布.
Meteor.publish("userStatus", function() {
return Meteor.users.find({ "status.online": true });
});
Run Code Online (Sandbox Code Playgroud)
而且subscribe
,
Meteor.subscribe('userStatus')
Run Code Online (Sandbox Code Playgroud)
其次,帮助用户在线返回用户.
使用Javascript
Template.example.helpers({
usersOnline:function(){
return Meteor.users.find({ "status.online": true })
},
usersOnlineCount:function(){
//event a count of users online too.
return Meteor.users.find({ "status.online": true }).count();
}
})
Run Code Online (Sandbox Code Playgroud)
HTML
<template name="example">
There are currently {{usersOnlineCount}} users online.
<h1>List of Users online </h1>
<ul>
{{#each usersOnline}}
<li> {{username}}</li>
{{/each}}
</ul>
</template>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1495 次 |
最近记录: |