方案
我有两个要在应用程序中使用的云功能。他们检查用户的在线状态,如果用户在线,我想为每个用户将布尔键“ isOnline”设置为“是”,否则设置为“否”。
var moment = require("moment");
Parse.Cloud.define("registerActivity", function(request, response) {
var user = request.user;
user.set("lastActive", new Date());
user.save().then(function (user) {
response.success();
}, function (error) {
console.log(error);
response.error(error);
});
});
Parse.Cloud.define("getOnlineUsers", function(request, response) {
var userQuery = new Parse.Query(Parse.User);
var activeSince = moment().subtract("minutes", 2).toDate();
userQuery.greaterThan("lastActive", activeSince);
userQuery.find().then(function (users) {
response.success(users);
}, function (error) {
response.error(error);
});
});
问题
我对Javascript并不是最好的,因此我需要一些帮助来使我了解正在发生的事情/应该做的事情。
问题
1)我何时在Xcode项目中调用“ registerActivity”和“ getOnlineUsers”?
2)“ response.success(users)”是否只是PFUser对象的数组?
3)如果“ 2)”为true,那么如何将“ response.success(users)”中所有用户的布尔键“ isOnline”设置为YES(如果他们在数组中)?
要获得在线用户,可以调用这些功能。调用这些代码将是:
[PFCloud callFunctionInBackground:@"registerActivity" withParameters:@{@"user": Put objectId for user here}
block:^(NSString *response, NSError *error) {
if (!error) {
}
}];
[PFCloud callFunctionInBackground:@"getOnlineUsers" withParameters:@{}
block:^(NSArray *users, NSError *error) {
if (!error)
{
} }];
是的,我相信那只是一个PFUser对象的数组,不过我只是为了确保运行。
从“ getOnlineUsers”获得响应后,您可能应该将其发送回另一个使用主密钥(Parse.Cloud.useMasterKey();
)访问/更改用户对象并将“ isOnline”字段更改为YES的云代码函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句