Beispiel #1
0
        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;
        });
Beispiel #2
0
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;
    }
    
});