Browse Source

update 实施课堂

lsc 2 years ago
parent
commit
038e2b9186
2 changed files with 117 additions and 0 deletions
  1. 12 0
      js/Office/Poll.js
  2. 105 0
      node/message.js

+ 12 - 0
js/Office/Poll.js

@@ -201,6 +201,18 @@ U.MD.O.P.pollingAsyn = function (r) {
                         // }
                     }
                     break;
+                case 'us.realTimeClass':
+                    _iframe = $('#studentClassRoom iframe')[0];
+                    if (_iframe) {
+                        _contentWindow = _iframe.contentWindow;
+                        switch (_message.messageInfo.type) {// 判断消息种类
+                            case 'update'://修改页码
+                                _contentWindow.postMessage({ info: _message.messageInfo, type: "realTimeClass_update" }, "*")
+                                break;
+                        }
+                        // }
+                    }
+                    break;
             }
         }
     }

+ 105 - 0
node/message.js

@@ -32,6 +32,11 @@ us.mindNetwork = {
     // }
 }
 
+us.realTimeClass = {
+    // mindid: {
+    // }
+}
+
 //文档列表
 us.word = {
     //docId : {
@@ -101,6 +106,7 @@ us.userOffLineMessage = function (type) {
         "word": [], //word数据
         "excel": [], //excel数据
         "mindNetwork": [], //思维网格数据
+        "realTimeClass": [], //实施课堂数据
         "nav": [] //导航模式数据
     }
 }
@@ -189,6 +195,10 @@ us.server = us.http.createServer(function (requset, response) {
                 case 'getMindNetwork':
                     us.getMindNetwork(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;
@@ -547,6 +557,25 @@ us.send = function (response, messageinfo) {
                 //调用群发函数
                 _messagearr[0] && us.broadcast(_messagelist, _messagearr[0].messageInfo.pageId, 'mindNetwork');
                 break;
+                //word信息交互                                                                                      
+            case "us.realTimeClass":
+                _messagearr = _messageobj[i]; //获取word消息
+                //得到word所有的用户
+                for (j = 0; j < _messagearr.length; j++) {
+                    //生成发送的消息结构体
+                    _message = us.message(_messagearr[j].sendId, "us.realTimeClass", _messagearr[j].messageInfo);
+                    //添加消息列表
+                    if (_messagelist[_messagearr[j].receiveId]) {
+                        _messagelist[_messagearr[j].receiveId].push(_message);
+                    } else {
+                        _messagelist[_messagearr[j].receiveId] = [_message];
+                    }
+                    us.realTimeClass[_message.messageInfo.docId] && us.realTimeClass[_message.messageInfo.docId].history.push(_message);
+                    us.updaterealTimeClass(_message.messageInfo);
+                }
+                //调用群发函数
+                _messagearr[0] && us.broadcast(_messagelist, _messagearr[0].messageInfo.pageId, 'realTimeClass');
+                break;
             //word信息交互                                                                                      
             case "us.word":
                 try {
@@ -637,6 +666,26 @@ us.updatemindNetwork = function (messageInfo) {
     }
 }
 
+/**
+* 更新后台实施课堂内容
+* @param {object} message 消息信息
+*/
+us.updaterealTimeClass = function (messageInfo) {
+    if (us.realTimeClass[messageInfo.docId]) {
+        var $ = us.realTimeClass[messageInfo.docId].content;
+        console.log("---------------------------------------start")
+        console.log($);
+        console.log("---------------------------------------end")
+        console.log("---------------------------------------infostart")
+        console.log(messageInfo);
+        console.log("---------------------------------------infoend")
+        if ($) {
+            us.realTimeClass[messageInfo.docId].content[messageInfo.id] = messageInfo.content;
+        }
+    }
+}
+
+
 /**
 * 更新后台Word内容
 * @param {object} message 消息信息
@@ -1859,6 +1908,62 @@ us.getMindNetwork = function (response, docid, pageid, userid) {
     }
 }
 
+/**
+* 获取实时课堂据,转成成数组
+* 
+*/
+us.getRealTimeClass = function (response, docid, pageid, userid) {
+    //判断文档是否已在内层中存在
+    if (us.realTimeClass[docid]) {
+        //如果存在则直接返回内层的文档
+        if (!us.realTimeClass[docid].user[userid]) {
+            us.realTimeClass[docid].user[userid] = [pageid];
+        } else {
+            us.realTimeClass[docid].user[userid].push(pageid);
+        }
+        try {
+            us.offLineMessage[pageid].realTimeClass.indexOf(docid) == -1 && us.offLineMessage[pageid].realTimeClass.push(docid); //添加到用户离线消息的连接wrod记录中
+        }
+        catch (e) {
+
+        }
+        console.log(us.realTimeClass[docid]);
+        //如果不存在则去数据库查找
+        us.mysql.usselect(['172.16.12.5', 'pbl', 'selectPptPage', docid],
+            function (ret) {
+                if (ret) {
+                    ret[0][0].page = us.realTimeClass[docid].content; //把思维网格的内容转化成数组
+                    response.end(JSON.stringify(ret)); //返回文档内容
+                }
+                else {
+                    response.end(''); //返回文档内容 
+                }
+            });
+    }
+    else {
+        us.realTimeClass[docid] = {
+            user: {},
+            history: []
+        };
+        us.realTimeClass[docid].user[userid] = [pageid];
+        if (us.offLineMessage[pageid]) {
+            us.offLineMessage[pageid].realTimeClass.indexOf(docid) == -1 && us.offLineMessage[pageid].realTimeClass.push(docid); //添加到用户离线消息的连接wrod记录中
+        }
+        //如果不存在则去数据库查找
+        us.mysql.usselect(['172.16.12.5', 'pbl', 'selectPptPage', docid],
+            function (ret) {
+                if (ret) {
+                    us.realTimeClass[docid].content = JSON.parse(ret[0][0].page); //把思维网格的内容转化成数组
+                    response.end(JSON.stringify(ret)); //返回文档内容
+                }
+                else {
+                    us.realTimeClass[docid].content = []; //创建一个空数组
+                    response.end(''); //返回文档内容 
+                }
+            });
+    }
+}
+
 /**
 * 获取文档,并生成DOM
 *