Browse Source

Merge branch 'beta'

lsc 1 year ago
parent
commit
a2c03a8d58
4 changed files with 49 additions and 43 deletions
  1. BIN
      img/icon/chjyjBg.png
  2. 4 3
      js/Desktop/DeskTop.js
  3. 3 18
      js/Office/Poll.js
  4. 42 22
      node/message.js

BIN
img/icon/chjyjBg.png


+ 4 - 3
js/Desktop/DeskTop.js

@@ -181,6 +181,7 @@ U.MD.D.I.orgDeskIcon = [
     { "Name": "学生评价", "Url": "evaluate", "style": { "cssText": "background-image:url(/img/icon/orgIcon/orgEva.png)" } },
     { "Name": "课程进展", "Url": "case", "style": { "cssText": "background-image:url(/img/icon/orgIcon/orgCase.png)" } },
     { "Name": "教学资源", "Url": "source", "style": { "cssText": "background-image:url(/img/icon/source.png)" } },
+    { "Name": "AI协同", "Url": "ainew", "style": { "cssText": "background-image:url(/img/icon/AIChat.png)" } },
     // { "Name": "jupyter", "Url": "jupyter", "style": { "cssText": "background-image:url(/img/icon/jupyter.png)" } },
 ];
 
@@ -1063,7 +1064,7 @@ U.MD.D.I.initDesktopIcons = function(el, type) {
             { "Name": "AI协同", "Url": "ainew", "style": { "cssText": "background-image:url(/img/icon/AIChat.png)" } }, 
             { "Name": "工作管理", "Url": "studioCourse", "style": { "cssText": "background-image:url(/img/icon/studioCourse.png)" } }, 
             { "Name": "工作中心", "Url": "studioIndex", "style": { "cssText": "background-image:url(/img/icon/studioIndex.png)" } },
-            { "Name": "未来课堂", "Url": "futureClass", "style": { "cssText": "background-image:url(/img/icon/futureClass.png)" } }
+            { "Name": "知识建构", "Url": "futureClass", "style": { "cssText": "background-image:url(/img/icon/futureClass.png)" } }
         )
     }
 
@@ -4166,7 +4167,7 @@ U.MD.D.I.openApplication = function(str, obj, info) {
             break;
         case "futureClass": //AI共创
             _formdiv = new U.UF.UI.form(
-                "未来课堂",
+                "知识建构",
                 $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://cscl.cocorobo.cn" }), {
                     "id": "futureClass",
                     "style": { "width": "100%", "height": "100%", "overflow": 'hidden' },
@@ -4174,7 +4175,7 @@ U.MD.D.I.openApplication = function(str, obj, info) {
                 }, {
                     closecallback: function() {}
                 }, { "style": { "height": "36px" } }).form; //创建窗体
-            _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/futureClass.png)" }, "name": "未来课堂", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
+            _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/futureClass.png)" }, "name": "知识建构", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
 
             break;
         case "AIAnalyse": //AI共创

+ 3 - 18
js/Office/Poll.js

@@ -27,6 +27,7 @@ U.MD.O.P.polling = function () {
 * 处理从后台返回的数据
 *
 */
+
 U.MD.O.P.pollingAsyn = function (r) {
     r = r.value;
     if (r) {    //r是否有值
@@ -214,26 +215,10 @@ U.MD.O.P.pollingAsyn = function (r) {
                     }
                     break;
                 case 'us.cscl':
-                    // U.MD.O.W.wordInfo = function (type, content, navid, userid, roomid) {
-                    //     var _data = {
-                    //         "us.cscl": [{
-                    //             sendId: userid, //发送人id
-                    //             receiveId: classId, //文件id
-                    //             type: navid, //消息类型
-                    //             messageInfo: {
-                    //"nodes":[{"id":"9f6d7459-d376-4c0c-944b-a6b140085903","type":"icon-start","x":625,"y":145,"properties":{},"zIndex":1002,"text":{"x":625,"y":145,"value":"起始"}},{"id":"16e18308-7517-4162-8b32-a877b7cf42a0","type":"icon-card","x":325,"y":445,"properties":{},"zIndex":1002},{"id":"5c492b0d-092d-4d84-bd70-4d5734de9266","type":"icon-select","x":970,"y":510,"properties":{},"zIndex":1002}],
-                    //"edges":[],
-                    //"backgroundUrl":"img/bg.ccee1c62.png"
-                    //             },
-                    //         },],
-                    //     };
-                    //     return _data;
-                    // }
-
-                    _iframe = $('#cscl iframe')[0];
+                    _iframe = $('#futureClass iframe')[0];
                     if (_iframe) {
                         _contentWindow = _iframe.contentWindow;
-                        _contentWindow.postMessage({ info: _message.messageInfo }, "*");
+                        _contentWindow.postMessage({ info: _message.messageInfo, type: _message.messageInfo.type }, "*");
                     }
                     break;
             }

+ 42 - 22
node/message.js

@@ -269,7 +269,7 @@ us.server = us.http.createServer(function (requset, response) {
                 case 'addUser':
                     us.addUser(response, _param[0], _param[1], _param[2], _param[3], _param[4]);
                     break;
-                //其余执行                 
+                //其余执行
                 default:
                     response.end(0);
             }
@@ -601,13 +601,15 @@ us.send = function (response, messageinfo) {
                 break;
             //未来课堂交互                                                                                      
             case "us.cscl":
-                console.log("================aaaaa===================");
-                console.log(_messageobj[i]);
+                // console.log("================aaaaa===================");
+                // console.log(_messageobj[i]);
                 _messagearr = _messageobj[i]; //获取word消息
                 //得到word所有的用户
                 for (j = 0; j < _messagearr.length; j++) {
+                    _messagearr[j].messageInfo.type = _messagearr[j].type;
                     //生成发送的消息结构体
                     _message = us.message(_messagearr[j].sendId, "us.cscl", _messagearr[j].messageInfo);
+                    _message.ttype = _messagearr[j].type;
                     //添加消息列表
                     if (_messagelist[_messagearr[j].receiveId]) {
                         _messagelist[_messagearr[j].receiveId].push(_message);
@@ -616,12 +618,12 @@ us.send = function (response, messageinfo) {
                         _messagelist[_messagearr[j].receiveId] = [_message];
                     }
                     us.cscl[_messagearr[j].receiveId] && us.cscl[_messagearr[j].receiveId].history.push(_message);
-                    us.updatecscl(_message.messageInfo, _messagearr[j].receiveId);
+                    us.updatecscl(_message.messageInfo, _messagearr[j].receiveId, _messagearr[j].type);
                 }
-                // console.log(_messagelist)
+                console.log(_messagelist)
                 // console.log(_messagearr)
                 //调用群发函数
-                _messagearr[0] && us.broadcast(_messagelist, _messagearr[0].messageInfo.pageId, 'cscl');
+                _messagearr[0] && us.broadcast(_messagelist, _messagearr[0].pageId, 'cscl');
                 break;
             //同步课堂                                                                                      
             case "us.realTimeClass":
@@ -739,45 +741,56 @@ us.updatemindNetwork = function (messageInfo) {
 * 更新后台未来课堂内容
 * @param {object} message 消息信息
 */
-us.updatecscl = function (messageInfo, classId) {
-    messageInfo = messageInfo;
-    console.log("------------s------------");
-    console.log(us.cscl[classId])
+us.updatecscl = function (messageInfo, classId, ty) {
+    //messageInfo = messageInfo;
     if (us.cscl[classId]) {
         var i, j, _is;
         var _obj = us.cscl[classId].content;
         _obj.backgroundUrl = messageInfo.backgroundUrl;
         _obj.edges = _obj.edges || [];
         _obj.nodes = _obj.nodes || [];
+
         for (j = 0; j < messageInfo.edges.length; j++) {
             _is = true;
             for (i = 0; i < _obj.edges.length; i++) {
                 if (_obj.edges[i].id == messageInfo.edges[j].id) {
-                    _obj.edges[i] = messageInfo.edges[j];
+                    if (ty == "update") {
+                        _obj.edges[i] = messageInfo.edges[j];
+                    }
+                    else {
+                        _obj.edges.splice(i, 1);
+                    }
                     _is = false;
                     break;
                 }
             }
-            if (_is) {
+            if (_is && ty == "update") {
                 _obj.edges.push(messageInfo.edges[j])
             }
         }
-        console.log("------------a------------");
-        console.log(messageInfo.nodes)
-        console.log(_obj.nodes)
+        console.log("------------s------------");
+        console.log(messageInfo.nodes);
+        console.log(_obj.nodes);
+        console.log(ty);
         for (j = 0; j < messageInfo.nodes.length; j++) {
             _is = true;
             for (i = 0; i < _obj.nodes.length; i++) {
                 if (_obj.nodes[i].id == messageInfo.nodes[j].id) {
-                    _obj.nodes[i] = messageInfo.nodes[j];
+                    if (ty == "update") {
+                        _obj.nodes[i] = messageInfo.nodes[j];
+                    }
+                    else {
+                        _obj.nodes.splice(i, 1);
+                    }
                     _is = false;
                     break;
                 }
             }
-            if (_is) {
+            if (_is && ty == "update") {
                 _obj.nodes.push(messageInfo.nodes[j])
             }
         }
+        console.log(_obj);
         //如果不存在则去数据库查找
         us.mysql.usselect(['172.16.12.5', 'pbl', 'updateRoomData', JSON.stringify(_obj), classId],
             function (ret) {
@@ -1435,17 +1448,18 @@ us.broadcast = function (messageinfo, pageid, type) {
     for (i in messageinfo) {
         _messageinfo = messageinfo[i]; //记录消息消息
         _users = us[type][i] ? us[type][i].user : {}; //记录用户集合
-        // console.log("=================e=============");
-        // console.log(us[type][i]);
-        // console.log(us.connect);
-        // console.log(_messageinfo);
+        // console.log("=================a=============");
+        // console.log(_users);
         for (j in _users) { //循环处理每个用户处理 给每个用户集合下的用户发送消息
             _pageids = _users[j]; //记录当前用户在每个端登录的页面唯一识别ID
-            console.log(_pageids);
+            // 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)); //发送消息
                             if (!_issend) { //如果用户下线了,那么发送消息就会失败
@@ -1995,6 +2009,9 @@ us.addExcel = function (response, excelinfo) {
 us.getcscl = function (response, calssid, pageid, userid) {
     //判断文档是否已在内层中存在
     if (us.cscl[calssid]) {
+        // console.log("------------------------ssss----------")
+        // console.log(userid)
+        // console.log(us.cscl[calssid].user[userid])
         //如果存在则直接返回内层的文档
         if (!us.cscl[calssid].user[userid]) {
             us.cscl[calssid].user[userid] = [pageid];
@@ -2008,6 +2025,7 @@ us.getcscl = function (response, calssid, pageid, userid) {
         catch (e) {
 
         }
+        console.log(us.cscl[calssid])
         //如果不存在则去数据库查找
         us.mysql.usselect(['172.16.12.5', 'pbl', 'select_room', calssid],
             function (ret) {
@@ -2030,6 +2048,8 @@ us.getcscl = function (response, calssid, pageid, userid) {
         if (us.offLineMessage[pageid]) {
             us.offLineMessage[pageid].cscl.indexOf(calssid) == -1 && us.offLineMessage[pageid].cscl.push(calssid); //添加到用户离线消息的连接wrod记录中
         }
+        // console.log("------------------------ggggg----------");
+        // console.log(us.cscl[calssid])
         //如果不存在则去数据库查找
         us.mysql.usselect(['172.16.12.5', 'pbl', 'select_room', calssid],
             function (ret) {