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

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

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

/*打开话题的详细*/
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站点的空间、信件等功能主要是添加、查询的操作后续不再实现,但是聊天室再继续实现。

 

以上仅作为备忘或者分享,若有错误请大家指正或者讨论!

 

 

你可能感兴趣的:(web开发,express,nodejs博客案例)