|
@@ -189,7 +189,7 @@ us.server = us.http.createServer(function (requset, response) {
|
|
|
_param = param.splice(1);
|
|
|
//执行回调函数
|
|
|
switch (_funname) {
|
|
|
- //执行登录函数
|
|
|
+ //执行登录函数
|
|
|
case 'login':
|
|
|
_userinfo = JSON.parse(_param[0]); //登录用户的信息
|
|
|
us.login(response, _userinfo.userId, _userinfo.pageId, _userinfo.userName, _userinfo.type);
|
|
@@ -197,38 +197,38 @@ us.server = us.http.createServer(function (requset, response) {
|
|
|
case 'logout':
|
|
|
us.logout(response, _param[0], _param[1]);
|
|
|
break;
|
|
|
- //执行轮询函数
|
|
|
+ //执行轮询函数
|
|
|
case 'polling':
|
|
|
us.polling(response, _param[0], _param[1], _param[2], _param[3]);
|
|
|
break;
|
|
|
- //获取文档信息
|
|
|
+ //获取文档信息
|
|
|
case 'getWord':
|
|
|
us.getWord(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
- //获取Excel信息
|
|
|
+ //获取Excel信息
|
|
|
case 'getExcel':
|
|
|
us.getExcel(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
- //获取导航文件信息
|
|
|
+ //获取导航文件信息
|
|
|
case 'getNav':
|
|
|
us.getNav(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
- //获取思维网格信息
|
|
|
+ //获取思维网格信息
|
|
|
case 'getMindNetwork':
|
|
|
us.getMindNetwork(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
- //获取未来课堂信息
|
|
|
+ //获取未来课堂信息
|
|
|
case 'getcscl':
|
|
|
us.getcscl(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
- //获取文档信息
|
|
|
+ //获取文档信息
|
|
|
case 'getRealTimeClass':
|
|
|
us.getRealTimeClass(response, _param[0], _param[1], _param[2]);
|
|
|
break;
|
|
|
case 'getNavPageContent':
|
|
|
us.getNavPageContent(response, _param[0], _param[1]);
|
|
|
break;
|
|
|
- //执行发送函数
|
|
|
+ //执行发送函数
|
|
|
case 'send':
|
|
|
us.send(response, _param[0]);
|
|
|
break;
|
|
@@ -241,20 +241,20 @@ us.server = us.http.createServer(function (requset, response) {
|
|
|
case 'newExcelSave':
|
|
|
us.newExcelSave(response, _param[0], _param[1], _param[2], _param[3], _param[4]);
|
|
|
break;
|
|
|
- //新建导航文件保存
|
|
|
+ //新建导航文件保存
|
|
|
case 'newNavSave':
|
|
|
//, _param[5], _param[6], _param[7]
|
|
|
us.newNavSave(response, _param[0], _param[1], _param[2], _param[3], _param[4], _param[5], _param[6]);
|
|
|
break;
|
|
|
- //加入文档编辑
|
|
|
+ //加入文档编辑
|
|
|
case 'addWord':
|
|
|
//us.addWord(response, _param[0]);
|
|
|
break;
|
|
|
- //加入Excel表格编辑
|
|
|
+ //加入Excel表格编辑
|
|
|
case 'addExcel':
|
|
|
us.addExcel(response, _param[0]);
|
|
|
break;
|
|
|
- //加入导航文件
|
|
|
+ //加入导航文件
|
|
|
case 'addNav':
|
|
|
break;
|
|
|
case 'copyPageContent':
|
|
@@ -534,6 +534,10 @@ us.offLine = function (response, userid, pageid) {
|
|
|
* @param {string} pageid 页面ID(用户登录唯一识别ID)
|
|
|
**/
|
|
|
us.polling = function (response, userid, pageid, type) {
|
|
|
+ console.log("aaaaaaaaaaaaaaaaaaaa")
|
|
|
+ console.log(userid)
|
|
|
+ console.log(pageid)
|
|
|
+ console.log(type)
|
|
|
//判断轮询的用户是否在连接池中
|
|
|
if (us.connect[userid]) {
|
|
|
var _userarray = us.connect[userid], //用户连接池,获取制定用户连接的数量,
|
|
@@ -544,9 +548,10 @@ us.polling = function (response, userid, pageid, type) {
|
|
|
_userarray[pageid].response = response;
|
|
|
// console.log(pageid);
|
|
|
if (_messagearray && _messagearray.message.length > 0) {
|
|
|
- response.end(JSON.stringify(_messagearray.message));
|
|
|
+ response.write(JSON.stringify(_messagearray.message));
|
|
|
_messagearray.message = [];
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
us.offLineMessage[pageid] = us.userOffLineMessage(type); //初始化用户离线消息记录
|
|
|
}
|
|
|
return;
|
|
@@ -554,7 +559,8 @@ us.polling = function (response, userid, pageid, type) {
|
|
|
//如果用户连接不存在
|
|
|
_userarray[pageid] = us.userConnect(pageid, response); //那么直接添加用户连接 添加到用户连接数组里
|
|
|
us.offLineMessage[pageid] = us.userOffLineMessage(type); //初始化用户离线消息记录
|
|
|
- } else {
|
|
|
+ }
|
|
|
+ else {
|
|
|
var _userconect = us.userConnect(pageid, response); //创建用户连接对象
|
|
|
us.connect[userid] = {}; //添加用户连接对象
|
|
|
us.connect[userid][pageid] = _userconect;
|
|
@@ -599,11 +605,9 @@ us.send = function (response, messageinfo) {
|
|
|
//调用群发函数
|
|
|
_messagearr[0] && us.broadcast(_messagelist, _messagearr[0].messageInfo.pageId, 'mindNetwork');
|
|
|
break;
|
|
|
- //未来课堂交互
|
|
|
+ //未来课堂交互
|
|
|
case "us.cscl":
|
|
|
- // console.log("================aaaaa===================");
|
|
|
- // console.log(_messageobj[i]);
|
|
|
- _messagearr = _messageobj[i]; //获取word消息
|
|
|
+ _messagearr = _messageobj[i]; //获取未来消息
|
|
|
//得到word所有的用户
|
|
|
for (j = 0; j < _messagearr.length; j++) {
|
|
|
_messagearr[j].messageInfo.type = _messagearr[j].type;
|
|
@@ -620,12 +624,10 @@ us.send = function (response, messageinfo) {
|
|
|
us.cscl[_messagearr[j].receiveId] && us.cscl[_messagearr[j].receiveId].history.push(_message);
|
|
|
us.updatecscl(_message.messageInfo, _messagearr[j].receiveId, _messagearr[j].type);
|
|
|
}
|
|
|
- console.log(_messagelist)
|
|
|
- // console.log(_messagearr)
|
|
|
//调用群发函数
|
|
|
_messagearr[0] && us.broadcast(_messagelist, _messagearr[0].pageId, 'cscl');
|
|
|
break;
|
|
|
- //同步课堂
|
|
|
+ //同步课堂
|
|
|
case "us.realTimeClass":
|
|
|
//console.log("us.realTimeClass");
|
|
|
_messagearr = _messageobj[i]; //获取word消息
|
|
@@ -1444,23 +1446,20 @@ us.broadcast = function (messageinfo, pageid, type) {
|
|
|
_recievedpageid, //接收用户的页面唯一识别ID
|
|
|
_issend, // 是否发送
|
|
|
_userconnect = us.connect; //用户连接池
|
|
|
+ console.log("=================a=============");
|
|
|
+ console.log(messageinfo);
|
|
|
for (i in messageinfo) {
|
|
|
_messageinfo = messageinfo[i]; //记录消息消息
|
|
|
_users = us[type][i] ? us[type][i].user : {}; //记录用户集合
|
|
|
- // console.log("=================a=============");
|
|
|
- // console.log(_users);
|
|
|
for (j in _users) { //循环处理每个用户处理 给每个用户集合下的用户发送消息
|
|
|
_pageids = _users[j]; //记录当前用户在每个端登录的页面唯一识别ID
|
|
|
- // console.log("=================g=============");
|
|
|
- // console.log(_pageids);
|
|
|
for (o = 0; o < _pageids.length; o++) { //循环发送给当前用户在每个端登录的用户
|
|
|
_recievedpageid = _pageids[o]; //记录接受者页面唯一识别ID 用于区分是否是发送用户
|
|
|
if (_recievedpageid != pageid) { //如果接受用户不等于发送用户则发送消息
|
|
|
try {
|
|
|
- // console.log("=================b=============");
|
|
|
- // console.log(_userconnect[j]);
|
|
|
if (_userconnect[j] && _userconnect[j][_recievedpageid]) {
|
|
|
- _issend = _userconnect[j][_recievedpageid].response.end(JSON.stringify(_messageinfo)); //发送消息
|
|
|
+ console.log(_recievedpageid);
|
|
|
+ _issend = _userconnect[j][_recievedpageid].response.write(JSON.stringify(_messageinfo)); //发送消息
|
|
|
if (!_issend) { //如果用户下线了,那么发送消息就会失败
|
|
|
us.offLineMessage[_recievedpageid].message.push(_messageinfo); //将消息加入用户离线消息中
|
|
|
}
|