您的位置:首页 > Web前端 > Node.js

【基于node.js+express的web开发备忘】--技术分享(TShare)站点-话题讨论模块

2014-06-29 00:13 706 查看
话题讨论模块:用户查看话题的详细描述,并可以发表意见或者回答话题。



/*打开话题的详细*/
router.get('/questionInfo', function(req, res) {
if(!req.session.user) {
return res.redirect('/');
}
var msg = null;
var qno = req.param("qno");
//console.log("qno==="+qno);
Question.query({qno: qno}, function(err, QDocs) {
//console.log("doc==="+JSON.stringify(doc));
if(err) {
throw err;
}

Answer.query({qno: qno}, function(err, ADocs) {
if(err) {
throw err;
}
var answerInfoArr = new Array();
Util.answerArrFunc(answerInfoArr, ADocs);
console.log("answerArr==="+answerInfoArr.length);
console.log("answerArr==="+JSON.stringify(answerInfoArr[0]));
res.render('./content/question_info', { title: '话题',
user: req.session.user,
item: QDocs[0],
answerArr: answerInfoArr,
msg: msg});
});
});
});
/*回复话题*/
router.post('/doAnswer', function(req, res) {
if(!req.session.user) {
return res.redirect('/');
}
var msg = null;
var qno = req.body.qno;
var content = req.body.acontent;
console.log("qno==="+qno);
console.log("content==="+content);
var answer = new Answer({
//问题唯一编码
qno: req.body.qno,
//问题内容描述
content: Util.trim(req.body.acontent),
//回复时间
answerTime: Util.getToday('yyyy-MM-dd HH:mm:ss'),
//回复者
userName: req.session.user.userName,
//回复者昵称
nickName: req.session.user.nickName,
//@回复者
toUserName: req.body.userName,
//@回复者昵称
toNickName: req.body.nickName,
//用户头像地址
headUrl: req.session.user.headUrl,
//被回复人
answerArr: [],
//层级
level: 0
});
answer.save(function(err, doc) {
if(err) {
console.log(err);
}
//回复信息保存过程中出错!
return res.redirect('/questionInfo?qno='+qno);
});
});

TShare站点的空间、信件等功能主要是添加、查询的操作后续不再实现,但是聊天室再继续实现。

以上仅作为备忘或者分享,若有错误请大家指正或者讨论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: