-
Notifications
You must be signed in to change notification settings - Fork 100
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
424 additions
and
7 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,25 @@ | ||
// 在 Cloud code 里初始化 Express 框架 | ||
var express = require('express'); | ||
var app = express(); | ||
|
||
var muser = require('cloud/muser'); | ||
var mutil = require('cloud/mutil'); | ||
// App 全局配置 | ||
app.set('views','cloud/views'); // 设置模板目录 | ||
app.set('views', 'cloud/views'); // 设置模板目录 | ||
app.set('view engine', 'ejs'); // 设置 template 引擎 | ||
app.use(express.bodyParser()); // 读取请求 body 的中间件 | ||
|
||
// 使用 Express 路由 API 服务 /hello 的 HTTP GET 请求 | ||
app.get('/hello', function(req, res) { | ||
app.get('/hello', function (req, res) { | ||
res.render('hello', { message: 'Congrats, you just set up your app!' }); | ||
}); | ||
|
||
app.get('/test', function (req, res) { | ||
var fromUserId = '5427ce8be4b0e9d9a645c9c7'; | ||
var toUserId = '53f0d534e4b0c1ae470ca958'; | ||
muser.addFriendForBoth(fromUserId, toUserId).then(function () { | ||
res.send('ok'); | ||
}, mutil.renderErrorFn(res)); | ||
}); | ||
|
||
// 最后,必须有这行代码来使 express 响应 HTTP 请求 | ||
app.listen(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,20 @@ | ||
require("cloud/app.js"); | ||
// Use AV.Cloud.define to define as many cloud functions as you want. | ||
// For example: | ||
AV.Cloud.define("hello", function(request, response) { | ||
var mlog = require('cloud/mlog'); | ||
var mutil = require('cloud/mutil'); | ||
var muser = require('cloud/muser'); | ||
|
||
AV.Cloud.define("hello", function (request, response) { | ||
response.success("Hello world!"); | ||
}); | ||
}); | ||
|
||
AV.Cloud.define("addFriend", function (req, res) { | ||
var params = req.params; | ||
//var toUserId = params.toUserId; | ||
var fromUserId = params.fromUserId; | ||
var toUserId = params.toUserId; | ||
muser.addFriendForBoth(fromUserId, toUserId).then(function () { | ||
res.success(); | ||
}, mutil.cloudErrorFn(res)); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/** | ||
* Created by lzw on 14-8-8. | ||
*/ | ||
|
||
var open = !__production; | ||
//var open=true; | ||
var util = require('util'); | ||
|
||
function startWith(s, prefix, f) { | ||
if (s.indexOf(prefix) == 0) { | ||
f.call(); | ||
} | ||
} | ||
|
||
function filterFn(s, f) { | ||
startWith(s, '', f); | ||
//f.call(); | ||
} | ||
|
||
function logError(error) { | ||
error = util.inspect(error); | ||
console.log(error + ''); | ||
} | ||
|
||
function log(s) { | ||
s = s + ''; | ||
if (open) { | ||
filterFn(s, function () { | ||
console.log(s); | ||
}); | ||
} | ||
} | ||
|
||
exports.log = log; | ||
exports.logError = logError; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/** | ||
* Created by lzw on 14-9-29. | ||
*/ | ||
var mutil = require('cloud/mutil'); | ||
|
||
function findUser(userId) { | ||
var q = new AV.Query('_User'); | ||
return q.get(userId); | ||
} | ||
|
||
function addFriend(user, friend) { | ||
var friends = user.relation('friends'); | ||
friends.add(friend); | ||
return user.save(); | ||
} | ||
|
||
function removeFriend(user, friend) { | ||
var friends = user.relation('friends'); | ||
friends.remove(friend); | ||
return user.save(); | ||
} | ||
|
||
function addFriendForBoth(fromUserId, toUserId) { | ||
var p = new AV.Promise(); | ||
findUser(fromUserId).then(function (fromUser) { | ||
findUser(toUserId).then(function (toUser) { | ||
addFriend(fromUser, toUser).then(function () { | ||
addFriend(toUser, fromUser).then(function () { | ||
p.resolve(); | ||
}, mutil.rejectFn(p)) | ||
}, mutil.rejectFn(p)) | ||
}, mutil.rejectFn(p)); | ||
}, mutil.rejectFn(p)); | ||
return p; | ||
} | ||
|
||
exports.findUser = findUser; | ||
exports.addFriend = addFriend; | ||
exports.removeFriend = removeFriend; | ||
exports.addFriendForBoth = addFriendForBoth; |
Oops, something went wrong.