root 1 年之前
父節點
當前提交
df90772a0f
共有 3 個文件被更改,包括 90 次插入64 次删除
  1. 47 51
      js/Office/Poll.js
  2. 8 4
      node/message.js
  3. 35 9
      node/test.js

+ 47 - 51
js/Office/Poll.js

@@ -1,6 +1,8 @@
 //轮训处理
 Namespace.register("U.MD.O.P");
 
+//设置是否允许连接
+U.MD.O.P.isconnect = true;
 /*
 * 链接后台,并发送请求
 */
@@ -35,64 +37,58 @@ U.MD.O.P.dataAsyn = function () {
 * 发送请求进入轮训
 */
 U.MD.O.P.polling = function (params) {
-    params = params || ["polling", US.userInfo.userid, US.pageId, US.systemId]
-    var start = 0;
-    var delimiter = "\r\n"
-    var end = 0;
-    var text = "";
-    var xhr = new XMLHttpRequest();
-    var data = "";
-    xhr.open("POST", US.SCOKET, true);
-    xhr.onreadystatechange = function () {
-        //获取数据
-        if (xhr.readyState == 3 && xhr.status == 200) {
-            text = xhr.responseText;
-            var istrue = true;
-            while (start < text.length && istrue) {
-                end = text.indexOf(delimiter, start);//获取数据的是否已经结束
-                if (end) {
-                    data += text.substring(start, end);
-                    start = end + delimiter.length;
-                    try {
-                        U.MD.O.P.pollingAsyn({ value: JSON.parse(data) })
+    if (U.MD.O.P.isconnect) {
+        U.MD.O.P.isconnect = false;
+        params = params || ["polling", US.userInfo.userid, US.pageId, US.systemId]
+        var start = 0;
+        var delimiter = "\r\n"
+        var end = 0;
+        var text = "";
+        var xhr = new XMLHttpRequest();
+        var data = "";
+        xhr.open("POST", US.SCOKET, true);
+        xhr.onreadystatechange = function () {
+            //获取数据
+            if (xhr.readyState == 3 && xhr.status == 200) {
+                text = xhr.responseText;
+                var istrue = true;
+                while (start < text.length && istrue) {
+                    end = text.indexOf(delimiter, start);//获取数据的是否已经结束
+                    if (end) {
+                        data += text.substring(start, end);
+                        start = end + delimiter.length;
+                        try {
+                            U.MD.O.P.pollingAsyn({ value: JSON.parse(data) })
+                        }
+                        catch (e) {
+                            console.log(e);
+                        }
+                        data = "";
                     }
-                    catch (e) {
-                        console.log(e);
+                    else {
+                        istrue = false;
                     }
-                    data = "";
-                }
-                else {
-                    istrue = false;
                 }
             }
-            //clearTimeout(time);
-
-            //只有抓取到数据结束后才执行,防止网络太卡或者数据太大的不完整的获取导致后续无法执行
-
+            //结束重连
+            else if (xhr.readyState == 4) {
+                console.log(xhr);
+                U.MD.O.P.isconnect = true;
+                U.MD.O.P.polling();
+            }
+        };
+        //超时重新连接
+        xhr.onerror = function (err) {
+            console.log(err);
+        };
+        try {
+            //发送请求
+            xhr.send(U.A.Request.toAjaxFormat(params));
         }
-        //结束重连
-        else if (xhr.readyState == 4) {
-            console.log(xhr);
-            U.MD.O.P.polling();
+        catch (e) {
+            console.log(e);
         }
-    };
-    //超时重新连接
-    xhr.onerror = function (err) {
-        console.log(err);
-        //U.MD.O.P.polling();
-    };
-    try {
-        //发送请求
-        xhr.send(U.A.Request.toAjaxFormat(params));
     }
-    catch (e) {
-        console.log(e);
-        //U.MD.O.P.polling();
-    }
-
-    // U.A.Request(US.SCOKET, ["polling", US.userInfo.userid, US.pageId, US.systemId], U.MD.O.P.pollingAsyn);
-    //     //发送轮循  回调进  U.MD.O.P.pollingAsyn函数
-    // }
 }
 
 

+ 8 - 4
node/message.js

@@ -1637,8 +1637,7 @@ us.quitcscl = function (response, info) {
     var _docid = info.docId,
         _userid = info.userId,
         _pageid = info.pageId,
-        _type = info.type,
-        _messagetype = 'us.cscl';
+        _type = info.type;
     var _docinfo = us[_type][_docid]; //获取文档信息
     //判断是否存在文档信息
     if (_docinfo) {
@@ -2204,8 +2203,13 @@ us.getcscl = function (response, calssid, pageid, userid) {
                     //console.log("bbbbbbbbbbbbbbb");
                     //console.log(us.offLineMessage[pageid]);
                     ret[0][0].user = _user; //这里是项目当前所有用户
-                    us.cscl[calssid].content = JSON.parse(ret[0][0].data); //把思维网格的内容转化成数组
-                    //us.sendUser(us.user[userid], "cscl", pageid, calssid); //加入知识建构项目后通知所有的用户
+                    try {
+                        us.cscl[calssid].content = JSON.parse(ret[0][0].data); //把思维网格的内容转化成数组
+                    }
+                    catch (e) {
+                        us.cscl[calssid].content = ret[0][0].data;
+                        //us.cscl[calssid].content = {};
+                    }
                     response.end(JSON.stringify(ret)); //返回文档内容
                 }
                 else {

+ 35 - 9
node/test.js

@@ -4,8 +4,10 @@ us = {};
 
 // 引入Express模块
 const express = require('express');
+const qs = require('qs');
 const path = require('path');
 us.http = require("http"); //引用http server服务
+const http = require('http');
 // 创建Express应用
 const app = express();
 
@@ -13,23 +15,47 @@ const app = express();
 app.use(express.static(path.join(__dirname, '/')));
 
 
-us.server = us.http.createServer(function (req, res) {
+us.server = us.http.createServer(function (reqo, reso) {
     // 定义路由
     // app.all('/', (req, res) => {
     //设置跨域
-    res.writeHead(200, {
+    reso.writeHead(200, {
         "Content-Type": "application/json",
         'Access-Control-Allow-Origin': '*',
         "Connection": "keep-alive",
         'Access-Control-Allow-Headers': 'Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With'
     });
-    var data = [{ "name": "John", "age": 30 }];
-    for (var i = 0; i < 100; i++) {
-        data.push(data[0]);
-    }
-    setInterval(function () {
-        res.write(JSON.stringify(data));
-    }, 2000);
+
+    //  http://apis.ssti.net.cn:80/taskcenterapp/sys/taskCenter/taskReceive/pushTask.do
+
+    const options = {
+        hostname: 'apis.ssti.net.cn',
+        port: 80,
+        path: '/taskcenterapp/sys/taskCenter/taskReceive/pushTask.do',
+        method: 'POST',
+        headers: {
+            'Content-Type': 'application/x-www-form-urlencoded',
+            'appId': '36dd21cde3b2f30a',
+            'accessToken': '463e95bdad1a9506bd1b271194f89383'
+        }
+    };
+
+    const req = http.request(options, (res) => {
+        console.log(`statusCode: ${res.statusCode}`);
+
+        res.on('data', (data) => {
+            console.log(data.toString());
+        });
+    });
+
+    req.on('error', (error) => {
+        console.error(error);
+    });
+
+    const bodyData = qs.stringify({ appId: "36dd21cde3b2f30a", taskInfo: '{"inserttasks":[{"app_id":"test11","assignments":[{"assign_dept":"图书部门","assign_id":"ampadmin","assign_name":"ampadmin"}],"biz_domain":"测试部门","biz_key":"bizkey_1000112","created_by_depts":"图书部门","created_by_ids":"ampadmin","created_by_names":"ampadmin","created_on":"2018-01-16 15:06:18","form_url":"https://baidu.com","form_url_view":"https://baidu.com","node_id":"1000112","node_name":"人事审核","priority":0,"process_delete_flag":0,"process_id":"leave_1233211932","process_instance_form_view":"https://taobao.com","process_instance_id":"1233211932","process_instance_image_url":"https://baidu.com","process_instance_initiator":"ampadmin","process_instance_initiator_dp":"图书部门","process_instance_initiator_id":"ampadmin","process_instance_start_date":"2018-01-16 15:06:18","process_instance_status":"RUNNING","process_instance_subject":"请假流程:ampadmin","process_name":"请假流程","process_version":"1.0","status":"ACTIVE","subject":"test_发起请假流程-tstsysys","task_delete_flag":0,"task_id":"1000112"}],"updatetasks":[]}' });
+    req.write(bodyData);
+    req.end();
+    reso.end("")
 });
 
 // 启动服务器