流星 utilities:avatar 数据

Meteor utilities:avatar data

我想使用 utilities:avatar 套餐,但我有一些主要保留意见。

文档告诉我应该发布我的用户数据,如下所示:

Meteor.publish("otherUserData", function() {
var data = Meteor.users.find({
    }, {
        fields : {
            "services.twitter.profile_image_url_https" : true,
            "services.facebook.id" : true,
            "services.google.picture" : true,
            "services.github.username" : true,
            "services.instagram.profile_picture" : true
        }
    });
    return data;

});

如果我正确理解 Meteor 的 publish/subscribe 机制,这会将整个用户数据库的这些字段推送到每个客户端!显然,这不是一个可持续的解决方案。然而,同样清楚的是,要么我做错了什么,要么我理解错了。

此外:这种不可扩展的解决方案在浏览器中运行良好,但由于某种原因,当应用程序部署到移动设备时看不到头像图标。

有什么想法吗?

将要发布的字段与要发布数据的用户分开。

您可能想为当前用户正在与之交互的其他用户显示头像。您需要决定在

中使用什么 query
Meteor.users.find(query,{fields: {...}});

以便您将列表从所有用户缩小到仅相关用户。

在我的 app I end up using reywood:publish-composite 中通过中间集合发布与当前用户相关的用户。

据我所知,utilities:avatar 的不可扩展性似乎是一个真正的问题,除了删除 utilities:avatar 并重写头像URL-手写取码

至于头像没有出现在移动设备上,答案很简单,我们需要授予访问远程 URLs 在 mobile-config.js 中的权限,如下所示:

App.accessRule("http://*");
App.accessRule("https://*");