user.findOne(req.body.passport, function(err, loginUser) { if (err) { console.log('err=' + err); res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } if (!loginUser) { res.send(JSON.stringify({'code':400,'msg':'User not exist! passport = ' + req.body.passport})); return; } character.findOneChar(req.body.passport, function(err, userCharacter) { if (userCharacter) { res.send(JSON.stringify({'code':402,'msg':'User already have character! passport = ' + req.body.passport})); //TODO log this action. return; } _daemons.playerd.create_character(req.body, function(err) { if (err) { res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } res.send(JSON.stringify({'code':200,'msg':'create character succeed.'})); }); }); return; });
app.post('/ucenter', function(req, res) { var action = req.query.action; switch (action) { case 'login': if (!req.body.passport || !req.body.password) { res.send(JSON.stringify({'code':401,'msg':'passport or password is empty! '})); return; } var user = new db.User(); user.findOne(req.body.passport, function(err, loginUser) { if (err) { console.log('err=' + err); res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } var cryptPassword = crypto.createHash("md5").update(req.body.password).digest("hex"); if (!loginUser || loginUser.password != cryptPassword) { res.send(JSON.stringify({'code':401,'msg':'User not exist or password error! passport = ' + req.body.passport})); return; } console.log(req.body.passport + " login succeed " + new Date()); var sessionId = req.body.passport + cryptPassword; sessionId = crypto.createHash("md5").update(sessionId).digest("hex"); res.cookie('sessionId', sessionId, { signed : true}) .cookie('passport', req.body.passport, {signed : true}) .send(JSON.stringify({'code':200,'msg':'login succeed.'})); return; }); break; case 'register': if (!req.body.passport || !req.body.password) { res.send(JSON.stringify({'code':401,'msg':'passport or password is empty! '})); return; } var user = new db.User(); user.findOne(req.body.passport, function(err, oldUser) { if (err) { console.log('err=' + err); res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } if (oldUser) { res.send(JSON.stringify({'code':400,'msg':'User already exist! passport = ' + req.body.passport})); return; } var cryptPassword = crypto.createHash("md5").update(req.body.password).digest("hex"); user.add(req.body.passport, cryptPassword, function(err) { if (err) { console.log('err=' + err); res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } }); console.log(req.body.passport + " register succeed " + new Date()); var sessionId = req.body.passport + cryptPassword; sessionId = crypto.createHash("md5").update(sessionId).digest("hex"); res.cookie('sessionId', sessionId, { signed : true}).cookie('passport', req.body.passport, {signed : true}).send(JSON.stringify({'code':200,'msg':'register succeed.'})); return; }); break; case 'createCharacter': if (!req.body.passport || !req.body.nickname || !req.body.gender || !req.body.str || !req.body.con || !req.body.int || !req.body.apc || !req.body.lck || !req.body.cor) { res.send(JSON.stringify({'code':401,'msg':'required parameters is empty! '})); return; } var user = new db.User(); var character = new db.Character(); user.findOne(req.body.passport, function(err, loginUser) { if (err) { console.log('err=' + err); res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } if (!loginUser) { res.send(JSON.stringify({'code':400,'msg':'User not exist! passport = ' + req.body.passport})); return; } character.findOneChar(req.body.passport, function(err, userCharacter) { if (userCharacter) { res.send(JSON.stringify({'code':402,'msg':'User already have character! passport = ' + req.body.passport})); //TODO log this action. return; } _daemons.playerd.create_character(req.body, function(err) { if (err) { res.send(JSON.stringify({'code':500,'msg':'Server error! err = ' + err})); return; } res.send(JSON.stringify({'code':200,'msg':'create character succeed.'})); }); }); return; }); break; default: console.log("Unknown action requested " + action); break; } });