Exemplo n.º 1
0
var checkMessage = function(msg,cb,server,user){
	var res = {xml:null,hasNextPage:false};
	try{
		if(msg.xml.MsgType[0] == "text"){
			var recText = msg.xml.Content[0].toLowerCase();//接收到的消息
			res = checkMatchText(recText,1,msg);
			AVUpdate.markUserRecord(server,user,"text",recText,1,res.hasNextPage);
			cb(null, res.xml);
		}else if(msg.xml.MsgType[0] == "event"){
			var event = msg.xml.Event[0];
			var eventKey = msg.xml.EventKey[0];
			if(event == "CLICK" && eventKey == "LIST_NEXT"){
				//console.log("[CLICK] LIST_NEXT");
				res.xml = AVQuery.queryResRecord(server,user).then(function(record){		
					if(record.get("hasNextPage") == true){
						//上一次查询的结果有下一页
						res = checkMatchText(record.get("searchMsg"),record.get("page")+1,msg);
					}else if(record.get("msgType") == "text"){
						//第一次点击下一页时,若上一次查询的类型为	文本,则重新发送结果并提示没有下一页
						res = checkMatchText(record.get("searchMsg"),record.get("page"),msg);
						res.xml.Content = res.xml.Content + "\n* <a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">已是最后一页啦!</a>";
					}else{
						//上一次请求类型为事件CLICK或者该用户未有操作,本次将不作响应
						console.log("[CLICK] In else");
						res.xml = null;
					}	
					AVUpdate.markUserRecord(server,user,"CLICK",record.get("searchMsg"),record.get("page")+1, res.hasNextPage);	//leancloud返回的对象要用get函数获取值,js对象直接属性名获取
					console.log("[CLICK] Res:"+JSON.stringify(res));
					cb(null,res.xml);
				},function(err){
					console.log("[Error] Fail to find any record of this user" + err.status);
					cb(null,"success");
				});
			}
		}else if(msg.xml.MsgType[0] == "voice"){
			res.xml = sendXmlText(msg,"亲,我们已收到你发来的语音,会尽快收听!\n【<a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">更多操作</a>】");
		}else if(msg.xml.MsgType[0] == "image"){
			res.xml = sendXmlText(msg,"亲,我们已收到你发来的图片,会尽快查看!\n【<a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">更多操作</a>】");
		}else if(msg.xml.MsgType[0] == "shortvideo"){
			res.xml = sendXmlText(msg,"亲,我们已收到你发来的小视频,会尽快查看!\n【<a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">更多操作</a>】");
		}else{
			res.xml = sendXmlText(msg,"亲,主页菌看不懂啦!\n【<a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">更多操作</a>】");
		}
	}catch(err){
		console.log("[Error] checkMessage() with error code " + err);
		cb(null, sendXmlText(msg,"主页菌开了个小差~马上回来!"));
	}
}
Exemplo n.º 2
0
				res.xml = AVQuery.queryResRecord(server,user).then(function(record){		
					if(record.get("hasNextPage") == true){
						//上一次查询的结果有下一页
						res = checkMatchText(record.get("searchMsg"),record.get("page")+1,msg);
					}else if(record.get("msgType") == "text"){
						//第一次点击下一页时,若上一次查询的类型为	文本,则重新发送结果并提示没有下一页
						res = checkMatchText(record.get("searchMsg"),record.get("page"),msg);
						res.xml.Content = res.xml.Content + "\n* <a href=\"http://ac-bsy2hmmn.clouddn.com/1650b0312131d987.jpg\">已是最后一页啦!</a>";
					}else{
						//上一次请求类型为事件CLICK或者该用户未有操作,本次将不作响应
						console.log("[CLICK] In else");
						res.xml = null;
					}	
					AVUpdate.markUserRecord(server,user,"CLICK",record.get("searchMsg"),record.get("page")+1, res.hasNextPage);	//leancloud返回的对象要用get函数获取值,js对象直接属性名获取
					console.log("[CLICK] Res:"+JSON.stringify(res));
					cb(null,res.xml);
				},function(err){