lsc 2 years ago
parent
commit
3b4a6b8719
53 changed files with 5 additions and 2761 deletions
  1. 1 1
      dist/index.html
  2. 0 0
      dist/static/css/app.2a6a855ad7432bbe035607e7af1d4a0b.css
  3. 0 0
      dist/static/css/app.2a6a855ad7432bbe035607e7af1d4a0b.css.map
  4. 0 0
      dist/static/css/app.d5e92c10db802dc566580e66bae6b62d.css
  5. 0 0
      dist/static/css/app.d5e92c10db802dc566580e66bae6b62d.css.map
  6. 0 0
      dist/static/js/0.7da288988865a9378b49.js
  7. 0 0
      dist/static/js/0.7da288988865a9378b49.js.map
  8. 0 0
      dist/static/js/app.5f9f023c783ee5148da6.js
  9. 0 0
      dist/static/js/app.af0f75f873aae26c5c9c.js
  10. 0 0
      dist/static/js/app.af0f75f873aae26c5c9c.js.map
  11. 2 0
      dist/static/js/manifest.3512a67a6213c2df4180.js
  12. 0 0
      dist/static/js/manifest.3512a67a6213c2df4180.js.map
  13. 0 2
      dist/static/js/manifest.85f48b0184f614b2b8d9.js
  14. 0 49
      dist/www/CocoRoboDesktop/drawingboard-master/README.md
  15. 0 215
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/check-bak.html
  16. 0 487
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/check.html
  17. 0 48
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/demo/loadimg.html
  18. 0 121
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/demo/writingpad.html
  19. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/all-true.png
  20. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/change-icon.png
  21. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/confirm-icon.png
  22. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/default-head-blue.png
  23. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/error-tag.png
  24. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/help-icon.png
  25. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/homework-answer-icon.png
  26. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/homework-entry-icon.png
  27. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/logo.png
  28. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/pwd0.png
  29. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/right-tag.png
  30. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/sign-out-icon.png
  31. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/true-icon.png
  32. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/work-original.jpg.filepart
  33. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/work-total-icon.png
  34. BIN
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/wrong-small-sel.png
  35. 0 68
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/index.html
  36. 0 47
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/canvasZoom.js
  37. 0 305
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check-bak.js
  38. 0 269
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/canvas.js
  39. 0 9
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/config.js
  40. 0 17
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/fontsize.js
  41. 0 0
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/qiniu.min.js
  42. 0 287
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/demo.js
  43. 0 0
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/fabric.min.js
  44. 0 1
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/jquery.min.js
  45. 0 0
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/md5.min.js
  46. 0 109
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/upload.js
  47. 0 5
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/uuid.js
  48. 0 29
      dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/test.html
  49. 0 305
      dist/www/CocoRoboDesktop/index.html
  50. 0 104
      dist/www/CocoRoboDesktop/jsMemo/index.html
  51. 0 281
      dist/www/CocoRoboDesktop/jsMemo/js/app.js
  52. 1 1
      src/components/pages/CaseDesignGM.vue
  53. 1 1
      src/components/pages/courseGM.vue

+ 1 - 1
dist/index.html

@@ -25,4 +25,4 @@
       height: 100%;
       width: 100%;
       background: #e6eaf0;
-    }</style><link href=./static/css/app.2a6a855ad7432bbe035607e7af1d4a0b.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.85f48b0184f614b2b8d9.js></script><script type=text/javascript src=./static/js/vendor.e8eb4c1cc481dbb543fc.js></script><script type=text/javascript src=./static/js/app.5f9f023c783ee5148da6.js></script></body></html><script>document.domain = document.domain.split(".").slice(-2).join(".");</script>
+    }</style><link href=./static/css/app.d5e92c10db802dc566580e66bae6b62d.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3512a67a6213c2df4180.js></script><script type=text/javascript src=./static/js/vendor.e8eb4c1cc481dbb543fc.js></script><script type=text/javascript src=./static/js/app.af0f75f873aae26c5c9c.js></script></body></html><script>document.domain = document.domain.split(".").slice(-2).join(".");</script>

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.2a6a855ad7432bbe035607e7af1d4a0b.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.2a6a855ad7432bbe035607e7af1d4a0b.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d5e92c10db802dc566580e66bae6b62d.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d5e92c10db802dc566580e66bae6b62d.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/0.7da288988865a9378b49.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.5f9f023c783ee5148da6.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.af0f75f873aae26c5c9c.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.af0f75f873aae26c5c9c.js.map


+ 2 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js

@@ -0,0 +1,2 @@
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(n&&n(r,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=o(o.s=c[s]);return f};var r={},t={4:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"7da288988865a9378b49",1:"994623639438b244a74c"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.3512a67a6213c2df4180.js.map

File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.3512a67a6213c2df4180.js.map


+ 0 - 2
dist/static/js/manifest.85f48b0184f614b2b8d9.js

@@ -1,2 +0,0 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={4:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"86cbf9c691e3dc53b304",1:"994623639438b244a74c"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.85f48b0184f614b2b8d9.js.map

+ 0 - 49
dist/www/CocoRoboDesktop/drawingboard-master/README.md

@@ -1,49 +0,0 @@
-## 简介 ##
-基于canvas的高级画板程序.
-
-## 在线演示 ##
-
-高级画板:https://vipstone.github.io/drawingboard/drawingboard/index.html
-
-作业批改:https://vipstone.github.io/drawingboard/drawingboard/check.html
-
-## 功能 ##
-- 全局绘制颜色选择<br />
-- 护眼模式、网格模式切换<br />
-- 自由绘制<br />
-- 画箭头<br />
-- 画直线<br />
-- 画虚线<br />
-- 画圆/椭圆/矩形/直角三角形/普通三角形/等边三角形<br />
-- 文字输入<br />
-- 图片展示及相关移动、缩放等操作<br />
-- 删除功能<br />
-- 支持画板同比缩放
-- 支持图形即时显示
-
-## 高级功能 ##
-<br /> 按Shift键,画垂直、水平直线;
-<br /> 按Shift键,椭圆和正圆自由切换;
-<br /> 按Shift键,等腰三角形和等边自由切换;
-<br /> 按Shift键,等边直角三角形和直角三角形自由切换;
-<br /> 按Shift键,正方形和长方形自由切换;
-
-**附fabric.js使用笔记:**[点击打开](https://github.com/vipstone/drawingboard/blob/master/fabricjs%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0.md)
-
-
-
-## 功能预览 ##
-![](https://raw.githubusercontent.com/vipstone/drawingboard/master/drawingboard/image/demoPreview.gif)
-
-
-<br />
-<br />
-<font color=red size=4 face="宋体">各位大侠如果觉得不错,欢迎点击star!</font>
-
-## todo ##
-
-mac下样式问题兼容
-
-添加撤销功能
-
-

+ 0 - 215
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/check-bak.html

@@ -1,215 +0,0 @@
-<html>
-
-<head>
-    <meta charset="UTF-8">
-    <title>作业批改 - 旧版</title>
-    <link rel="stylesheet" href="css/index.css">
-    <link rel="stylesheet" href="http://cdn.staticfile.org/semantic-ui/2.3.1/semantic.css">
-</head>
-
-<body style="background-color: #E5E4E5;overflow-x: hidden;">
-
-    <div style="margin-top:10px;">
-        <div style="width:50px;float:left;">
-            <ul id="toolsul" class="tools">
-
-                <li data-type="right" class="active" title="整题正确">
-                    <i class="icon-right-select" data-default='icon-right-black'></i>
-                </li>
-                <li data-type="wrong" title="整题错误">
-                    <i class="icon-wrong-black" data-default='icon-wrong-black'></i>
-                </li>
-                <li data-type="smallright" title="题目内单个正确">
-                    <i class="icon-right-small-black" data-default='icon-right-small-black'></i>
-                </li>
-                <li data-type="smallwrong" title="题目内单个错误">
-                    <i class="icon-wrong-small-black" data-default='icon-wrong-small-black'></i>
-                </li>
-                <li data-type="rectangle" title="错题圈定">
-                    <i class="icon-tools icon-square-black" data-default="icon-tools icon-square-black"></i>
-                </li>
-
-                <li data-type="remove" title="橡皮擦">
-                    <i class="icon-tools icon-remove-black" data-default='icon-tools icon-remove-black'></i>
-                </li>
-
-                <li onclick="cutFun()" title="成绩查看">
-                    <i class="icon-submit-black" data-default='icon-submit-black'></i>
-                </li>
-            </ul>
-
-        </div>
-        <div id="canvasDiv" class="canvasDiv" style="width:auto;height: auto;">
-            <canvas id="c" height="890">请使用支持HTML5的浏览器</canvas>
-        </div>
-        <div style="color:red;margin-top: 10px;margin-left: 60px;">注意:错题必须使用工具栏“错题圈定”圈定错题。</div>
-        <div id="wrongImg"></div>
-
-
-
-    </div>
-
-    <script src="/js/jquery.min.js"></script>
-    <script src="/js/fabric.min.js"></script>
-    <script src="js/check-bak.js"></script>
-    <script src="js/canvasZoom.js"></script>
-    <script src="https://unpkg.com/qiniu-js@2.2.2/dist/qiniu.min.js"></script>
-    <script src="http://cdn.staticfile.org/semantic-ui/2.3.1/semantic.js"></script>
-    <script>
-
-        var qiniuToken = undefined;
-        jQuery.ajax({
-            type: "GET",
-            cache: false,
-            dataType: "jsonp",
-            url: 'http://127.0.0.1:8360/qiniu/gettoken',
-            data: {},
-            success: function (res) {
-                qiniuToken = res.token;
-            }
-        });
-
-
-        canvas.on("mouse:up", function () {
-            if (window.drawType && (window.drawType == "wrong" || window.drawType == "smallwrong")) {
-                //错题批注
-                // $('.ui.modal').modal();
-            }
-        });
-
-        function cutFun() {
-            var objs = canvas.getObjects();
-            var checkObj = [];
-            for (var i = 0; i < objs.length; i++) {
-                if (objs[i].type && objs[i].type != 'image') {
-                    checkObj.push(objs[i]);
-                }
-            }
-            checkObj.sort(function (x, y) { return x.top - y.top; }); //根据控件top排序
-
-            var checkJson = [];
-            var itemSmallRight = 0, itemSmallWrong = 0, prevSmallType = true;
-            for (var i = 0; i < checkObj.length; i++) {
-                switch (checkObj[i].type) {
-                    case 'smallright':
-                        ++itemSmallRight;
-                        break;
-                    case 'smallwrong':
-                        ++itemSmallWrong;
-                        break;
-                    case 'right':
-                    case 'wrong':
-                    case 'rectangle': //框
-                        prevSmallType = false;
-                        break;
-                    default:
-                        break;
-                }
-                if (prevSmallType == false || i == (checkObj.length - 1)) {
-                    //上一个为整题对/错 || 最后一题
-                    if (itemSmallRight > 0 || itemSmallWrong > 0) {
-                        checkJson.push({ 'r': 0, 'w': 0, 'sr': itemSmallRight, 'sw': itemSmallWrong, 'url': '' });
-                        itemSmallRight = 0, itemSmallWrong = 0;
-                    }
-                    prevSmallType = true;
-                }
-                //录入本次大题
-                if (checkObj[i].type == 'right') {
-                    checkJson.push({ 'r': 1, 'w': 0, 'sr': 0, 'sw': 0, 'url': '' });
-                } else if (checkObj[i].type == 'wrong') {
-                    checkJson.push({ 'r': 0, 'w': 1, 'sr': 0, 'sw': 0, 'url': '' });
-                }
-                //圈定的错图上传
-                if (checkObj[i].type == 'rectangle') {
-                    toImgUpload(checkObj[i], checkObj[i].left, checkObj[i].top, checkObj[i].width, checkObj[i].height);
-                }
-            }
-
-            // var msg = "";
-            // for (var i = 0; i < checkJson.length; i++) {
-            //     msg += ("第" + (i + 1) + "题:");
-            //     if (checkJson[i].r) {
-            //         msg += "全对";
-            //     } else if (checkJson[i].w) {
-            //         msg += "全错";
-            //     } else {
-            //         msg += "对:" + checkJson[i].sr + "个" + ",错:" + checkJson[i].sw + "个";
-            //     }
-            //     msg += "\n";
-            // }
-            // if (msg) {
-            //     alert(msg);
-            // }
-
-        }
-
-        //转换成图片并上传
-        function toImgUpload(cObj, left, top, width, height) {
-            canvas.remove(cObj);
-            var base64 = canvas.toDataURL({
-                format: 'png',
-                left: left - 12,
-                top: top - 10,
-                width: width,
-                height: height
-            });
-
-            // data:image/png;base64,
-
-            jQuery("#wrongImg").append('<img src="' + base64 + '"/><br />');
-            canvas.add(cObj);
-
-            //上传,返回地址
-            var putExtra = {
-                fname: "",
-                params: {},
-                mimeType: [] || null
-            };
-            var config = {
-                useCdnDomain: true
-            };
-            // var contentType = 'image/png';
-            // var blob = base64ToBlob(base64.replace('data:image/png;base64,', ''), contentType);
-
-            // var observable = qiniu.upload(blob, "test5.png", qiniuToken, putExtra, config);
-            // var subscription = observable.subscribe({
-            //     next(res) {
-            //         console.log(res);
-            //     },
-            //     error(err) {
-            //         console.log(err);
-            //     },
-            //     complete(res) {
-            //         console.log(res);
-            //     }
-            // });
-
-            // return "";
-        }
-
-        //base64转blob
-        function base64ToBlob(base64, contentType, sliceSize) {
-            contentType = contentType || '';
-            sliceSize = sliceSize || 512;
-            var byteCharacters = atob(base64);
-            var byteArrays = [];
-
-            for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
-                var slice = byteCharacters.slice(offset, offset + sliceSize);
-                var byteNumbers = new Array(slice.length);
-                for (var i = 0; i < slice.length; i++) {
-                    byteNumbers[i] = slice.charCodeAt(i);
-                }
-                var byteArray = new Uint8Array(byteNumbers);
-                byteArrays.push(byteArray);
-            }
-            var blob = new Blob(byteArrays, { type: contentType });
-            return blob;
-        }
-
-
-    </script>
-
-</body>
-
-</html>

+ 0 - 487
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/check.html

@@ -1,487 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"
-    />
-    <title>作业批改</title>
-    <link rel="stylesheet" type="text/css" href="../css/api.css" />
-    <link rel="stylesheet" type="text/css" href="../css/style.css" />
-    <link rel="stylesheet" type="text/css" href="../css/check.css" />
-</head>
-
-<body id="data-box">
-    <div class="container">
-        <div class="fn-left handle_menu_wrap">
-            <div class="menu_title">
-                工具
-            </div>
-            <div id="tools" class="handle_btn_list">
-                <div class="handle_btn active" data-type="right">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/all-true.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        全对
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="rectangle">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/label-icon.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        错题标注
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="wrong">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/all-wrong.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        全错
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="smallright">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/true-icon.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        正确处
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="smallwrong">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/wrong-icon.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        错误处
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="remove">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/erasure-icon.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        擦除
-                    </div>
-                </div>
-                <div class="handle_btn" data-type="help">
-                    <div class="handle_btn_img">
-                        <img src="../image/check/help-icon.png" class="center-self" alt="">
-                    </div>
-                    <div class="handle_btn_name">
-                        帮助
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class="fn-right correct_main">
-            <div class="wrong_list_wrap">
-                <div class="wrong_list_title">
-                    <i class="before_icon fn-left"></i>
-                    <div>错题</div>
-                </div>
-                <div class="wrong_list">
-                    <div id="errMsg" class="wrong_list_inner">
-
-                    </div>
-                </div>
-            </div>
-            <div class="main_score">
-                <div class="main_score_title">
-                    <i class="before_icon fn-left"></i>
-                    <div>字迹评分</div>
-                </div>
-                <div id="fontScore" class="main_score_num_list fn-clear">
-                    <div class="main_score_num_item fn-left active">1</div>
-                    <div class="main_score_num_item fn-left">2</div>
-                    <div class="main_score_num_item fn-left">3</div>
-                    <div class="main_score_num_item fn-left">4</div>
-                    <div class="main_score_num_item fn-left">5</div>
-                    <div class="main_score_num_item fn-left">6</div>
-                    <div class="main_score_num_item fn-left">7</div>
-                    <div class="main_score_num_item fn-left">8</div>
-                    <div class="main_score_num_item fn-left">9</div>
-                    <div class="main_score_num_item fn-left">10</div>
-                </div>
-            </div>
-            <div id="subBut" class="small_btn_blue confirm">
-                确认完成
-            </div>
-            <div id="moreBtn" class="more_btn"></div>
-            <div id="moreDiv" class="other_btn_wrap fn-hide">
-                <div id="expBtn" class="mark_exce">
-                    异常标记
-                </div>
-                <div id="giveupBtn" class="give_up">
-                    放弃任务
-                </div>
-            </div>
-        </div>
-        <div class="fn-right preview">
-            <div id="simgDiv" class="swiper-container">
-
-            </div>
-            <div class="homework_total center-self-x">
-                <span id="currentNum">1</span>/
-                <span id="sumNum">1</span>
-            </div>
-        </div>
-        <div class="view">
-            <div id="canvasDiv" class="swiper-container center-self-x">
-            </div>
-        </div>
-    </div>
-
-    <div id="maskDiv" class="mask_modal" style="display: none;">
-        <div class="top">
-            <div style="width: 100%;padding-left: 30%;padding-top: 20%">数据提交中,请稍等...</div>
-        </div>
-    </div>
-
-
-    <div id="errModal" class="mark_error_modal fn-hide">
-        <div class="top"></div>
-        <div class="mark_error_box center-self">
-            <div class="mark_error_box_title">
-                <div class="fn-left">
-                    选择错误标签
-                </div>
-                <div id="hideModal" class="fn-right close_icon fn-clear fn-hide">
-                    <img src="../image/check/close-icon.png" class="fn-left" alt="">
-                </div>
-            </div>
-            <div id="errTags" class="wrong_label_list">
-
-            </div>
-            <div id="errVerify" class="small_btn_blue center-self-x confirm_mark">
-                确认
-            </div>
-        </div>
-    </div>
-    <div id="testImg">
-
-    </div>
-</body>
-<script type="text/javascript" src="../js/check/fontsize.js"></script>
-<script type="text/javascript" src="../js/jquery.min.js"></script>
-<script type="text/javascript" src="../js/check/qiniu.min.js"></script>
-<script type="text/javascript" src="js/fabric.min.js"></script>
-<script type="text/javascript" src="js/check/canvas.js"></script>
-<script type="text/javascript" src="js/check/config.js"></script>
-<script type="text/javascript" src="js/tools/md5.min.js"></script>
-<script type="text/javascript" src="js/tools/uuid.js"></script>
-<script type="text/javascript" src="js/tools/upload.js"></script>
-
-<script type="text/javascript">
-    jQuery(function () {
-        var canvasInit = []; //已经初始化的canvas
-        var uploadImageArray = []; //需要上传的图片集合{"name":"xxx","base64":"xxx"}
-        var errTagType = {
-            '语文': ['遗漏', '理解不清晰', '粗心大意', '审题不清', '基础不牢', '积累不够', '运用错误', '区分错误', '缺乏逻辑'],
-            '数学': ['计算错误', '审题错误', '遗漏', '基础不牢固', '粗心大意', '概念不清', '换算错误', '公式不熟练', '缺乏解题技巧', '书写不端正'],
-            '英语': ['粗心大意', '审题错误', '基础不牢固', '书写不规范', '单词拼写错误', '遗漏', '介词搭配错误', '单复数错误']
-        };
-
-        var img = decodeURIComponent(getUrlParam('img')); //图片集合
-        var subject = decodeURIComponent(getUrlParam('subject')); //科目
-        if (!img && JSON.parse(img)) {
-            alert("网络错误");
-        }
-        img = JSON.parse(img);
-        jQuery('#sumNum').text(img.length);
-        var simgEle = "";
-        for (var i = 0; i < img.length; i++) {
-            if (i == 0) {
-                jQuery("#canvasDiv").append('<canvas id="c0" height="1100" width="825"></canvas>');
-                canvasInit.push("c0");
-                switchCanvas(img[i].i, 0);
-                simgEle += '<div class="swiper-slide swiper-slide-visible swiper-slide-active active-nav">';
-            } else {
-                simgEle += '<div class="swiper-slide swiper-slide-visible">';
-            }
-            simgEle += ('<div class="slide_inner"><img src="' + img[i].s + '" class="center-self"></div></div>');
-        }
-        jQuery("#simgDiv").append(simgEle);
-
-        //点击缩略图
-        jQuery(".swiper-slide-visible").on("click", function () {
-            var _index = jQuery(this).index(),
-                _cid = "c" + _index;
-            if (canvasInit.indexOf(_cid) == -1) {
-                jQuery("#canvasDiv").append('<canvas id="' + _cid + '" height="1100" width="825"></canvas>');
-                canvasInit.push(_cid);
-            }
-            jQuery(this).addClass("active-nav").siblings().removeClass("active-nav");
-            switchCanvas(img[_index].i, _index);
-            jQuery("#currentNum").text(1 + _index);
-        });
-
-        //隐藏弹窗
-        jQuery("#hideModal").on("click", function () {
-            jQuery("#errModal").addClass("fn-hide");
-        });
-
-        //弹窗科目错误设置
-        if (subject && errTagType[subject] && errTagType[subject].length > 0) {
-            for (var i = 0; i < errTagType[subject].length; i++) {
-                jQuery('#errTags').append('<div name="etag" class="wrong_label fn-left">' + errTagType[subject][i] + '</div>');
-            }
-        }
-
-        //错误标签点击
-        jQuery("div[name=etag]").on("click", function () {
-            jQuery(this).toggleClass("active");
-        });
-
-        //错误标签选定
-        jQuery("#errVerify").on("click", function () {
-            var errTags = jQuery('#errTags').find(".active");
-            if (errTags.length <= 0) {
-                alert('请先选中标签!');
-                return false;
-            }
-            var errSonEle = '<div class="wrong_item">';
-            errSonEle += ' <i class="serial_number fn-left" value="' + appErrCount + '">' + appErrCount + '</i>';
-            errSonEle += '<div class="wrong_content fn-clear">';
-            for (var i = 0; i < errTags.length; i++) {
-                errSonEle += '<div class="wrong_label fn-left">' + jQuery(errTags[i]).text() + '</div>';
-            }
-            errSonEle += '</div></div>';
-            jQuery("#errMsg").prepend(errSonEle);
-            jQuery("#errModal").addClass("fn-hide");
-        });
-
-        //绑定工具事件
-        jQuery("#tools").find(".handle_btn").on("click", function () {
-            //设置样式
-            jQuery(this).addClass("active").siblings().removeClass("active");
-            drawType = jQuery(this).attr("data-type");
-            // window.drawType = drawType;
-            canvas.isDrawingMode = false;
-            if (drawType == "pen") {
-                canvas.isDrawingMode = true;
-            } else if (drawType == "remove") {
-                canvas.selection = true;
-                canvas.skipTargetFind = false;
-                canvas.selectable = true;
-            } else if (drawType == "help") {
-                jQuery("#c").toggleClass("fn-hide");
-            }
-            else {
-                canvas.skipTargetFind = true; //画板元素不能被选中
-                canvas.selection = false; //画板不显示选中
-            }
-        });
-
-        //get七牛token
-        var qiniuToken = undefined;
-        jQuery.ajax({
-            type: "GET",
-            cache: false,
-            dataType: "jsonp",
-            url: config.tokenURL,
-            data: {},
-            success: function (res) {
-                qiniuToken = res.token;
-            }
-        });
-
-        //提交作业
-        jQuery("#subBut").on("click", function () {
-            jQuery("#maskDiv").show();
-            var fs = jQuery("#fontScore").find("div.active").index() + 1;
-            if (fs <= 0) {
-                alert("操作失败,请先选择字迹评分!");
-                return false;
-            }
-            if (true) { //TODO:confirm("确认作业批改完成?")
-                var checkJson = {
-                    "pages": [],
-                    "font": fs,
-                    "callback": {
-                        "task_id": (getUrlParam("task_id") || ""),
-                        "task_list_id": (getUrlParam("task_list_id") || ""),
-                        "userinfo": (getUrlParam("userinfo") || ""),
-                        "type": (getUrlParam("type") || "")
-                    }
-                };
-                window.checkJson = undefined;
-                for (var i = 0; i < canvasArr.length; i++) {
-                    if (canvasArr[i]) {
-                        var canvasJson = {
-                            "question": [],
-                            "page": {
-                                "img": "",
-                                "imgorg": "",
-                                "w": 0,
-                                "h": 0,
-                                "index": i
-                            }
-                        };
-                        var objs = canvasArr[i].getObjects();
-                        var checkObj = [];
-                        for (var j = 0; j < objs.length; j++) {
-                            if (objs[j].type && objs[j].type != 'image') {
-                                checkObj.push(objs[j]);
-                            } else {
-                                var _imgName = md5(uuid.uuid() + new Date().getTime()) + ".png";
-                                canvasJson.page.imgorg = objs[j]._element.src;
-                                canvasJson.page.img = config.imgDomain + _imgName;
-                                canvasJson.page.w = objs[j].width;
-                                canvasJson.page.h = objs[j].height;
-                                addUploadImg(canvasArr[i], objs[j], _imgName, false);
-                            }
-                        }
-
-                        checkObj.sort(function (x, y) { return x.top - y.top; }); //根据控件top排序
-
-                        var itemSmallRight = 0, itemSmallWrong = 0, prevSmallType = true, errImg = "", errIndexs = [];
-                        for (var j = 0; j < checkObj.length; j++) {
-                            switch (checkObj[j].type) {
-                                case 'smallright':
-                                    ++itemSmallRight;
-                                    errIndexs.push(checkObj[j].eindex);
-                                    break;
-                                case 'smallwrong':
-                                    ++itemSmallWrong;
-                                    errIndexs.push(checkObj[j].eindex);
-                                    break;
-                                case 'right':
-                                case 'wrong':
-                                    prevSmallType = false;
-                                    break;
-                                case 'rectangle': //框
-                                    var _imgName = md5(uuid.uuid() + new Date().getTime()) + ".png";
-                                    errImg = config.imgDomain + _imgName;
-                                    addUploadImg(canvasArr[i], checkObj[j], _imgName, true);
-                                    prevSmallType = false;
-                                    break;
-                                default:
-                                    break;
-                            }
-                            if (prevSmallType == false || j == (checkObj.length - 1)) {
-                                //下一题为整题对/错 || 最后一题 (结算上一题[小错/对])
-                                if (itemSmallRight > 0 || itemSmallWrong > 0) {
-                                    var errJson = [];
-                                    if (errIndexs.length > 0) {
-                                        for (var m = 0; m < errIndexs.length; m++) {
-                                            var _eindex = errIndexs[m];
-                                            var txt = getErrTagsByIndex(_eindex);
-                                            errJson.push({
-                                                "id": _eindex + 1,
-                                                "desc": txt,
-                                                "x": checkObj[m].left,
-                                                "y": checkObj[m].top
-                                            });
-                                        }
-                                    }
-                                    canvasJson.question.push({ 'r': 0, 'w': 0, 'sr': itemSmallRight, 'sw': itemSmallWrong, 'eimg': errImg, 'err': errJson });
-                                    errImg = "";
-                                    errIndexs = [];
-                                    itemSmallRight = 0, itemSmallWrong = 0;
-                                }
-                                prevSmallType = true;
-                            }
-                            //录入本次大题
-                            if (checkObj[j].type == 'right') {
-                                canvasJson.question.push({ 'r': 1, 'w': 0, 'sr': 0, 'sw': 0, 'eimg': '', 'err': [] });
-                            } else if (checkObj[j].type == 'wrong') {
-                                var errJson = [];
-                                var _eindex = checkObj[j].eindex;
-                                var txt = getErrTagsByIndex(_eindex);
-                                errJson[0] = {
-                                    "id": _eindex + 1,
-                                    "desc": txt,
-                                    "x": checkObj[j].left,
-                                    "y": checkObj[j].top
-                                };
-                                canvasJson.question.push({ 'r': 0, 'w': 1, 'sr': 0, 'sw': 0, 'eimg': errImg, 'err': errJson });
-                                errImg = "";
-                            }
-                        }
-                        checkJson.pages.push(canvasJson);
-                    } else {
-                        //这里的图片没有点击初始化
-                    }
-                }
-                window.checkJson = JSON.stringify(checkJson);
-
-                //上传图片+请求服务器
-                uploadImg(uploadImageArray, qiniuToken);
-            }
-        });
-        //更多操作
-        jQuery("#moreBtn").on("click", function () {
-            jQuery("#moreDiv").toggleClass("fn-hide");
-        });
-        //异常订单
-        jQuery("#expBtn").on("click", function () {
-            jQuery("#moreDiv").toggleClass("fn-hide");
-            if (confirm("确认为异常订单?")) {
-                //TODO:业务
-            }
-        });
-        //放弃订单
-        jQuery("#giveupBtn").on("click", function () {
-            jQuery("#moreDiv").toggleClass("fn-hide");
-            if (confirm("确认为放弃订单?")) {
-                //TODO:业务
-            }
-        });
-        //字体打分
-        jQuery("#fontScore").find("div").on("click", function () {
-            jQuery(this).addClass("active").siblings().removeClass("active");
-
-        });
-        //获取url中的参数
-        function getUrlParam(name) {
-            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
-            var r = window.location.search.substr(1).match(reg);
-            if (r != null) return decodeURI(r[2]);
-            return null;
-        }
-        //添加上传图片 (isRemove:类型bool,是否需要移除截图在添加)
-        function addUploadImg(canvas, canvasControl, imgName, isRemove) {
-            if (isRemove) {
-                canvas.remove(canvasControl);
-            }
-            var base64 = canvas.toDataURL({
-                format: 'png',
-                left: canvasControl.left,
-                top: canvasControl.top,
-                width: canvasControl.width,
-                height: canvasControl.height
-            });
-
-            uploadImageArray.push({ "name": imgName, "base64": base64 });
-
-            // jQuery("#testImg").append('<img src="' + base64 + '"/><br />');
-
-            if (isRemove) {
-                canvas.add(canvasControl);
-            }
-        }
-        //获取错误标签描述集合(根据标号)
-        function getErrTagsByIndex(eindex) {
-            var txt = "";
-            var txtCt = jQuery('#errMsg').find('.wrong_item > i[value="' + (eindex + 1) + '"]').siblings().find('div');
-            for (var k = 0; k < txtCt.length; k++) {
-                txt += txtCt.eq(k).text();
-
-                if (k != (txtCt.length - 1)) {
-                    txt += ",";
-                }
-            }
-            return txt;
-        }
-
-    });
-
-
-
-
-</script>
-
-</html>

+ 0 - 48
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/demo/loadimg.html

@@ -1,48 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <title>画板</title>
-    <style>
-        .canvas {
-            border: 1px solid rgb(170, 170, 170);
-            cursor: pointer;
-        }
-
-        .mgTop {
-            margin-top: 30px;
-            text-align: center;
-        }
-    </style>
-    <script src="https://cdn.bootcss.com/fabric.js/2.2.3/fabric.min.js"></script>
-</head>
-
-<body style="padding-left: 10px;text-align:center;">
-
-    <h1>图片加载</h1>
-
-    <div class="mgTop">
-        <canvas id="freeCanvas" class="canvas"></canvas>
-    </div>
-
-    <script>
-        var canvas = new fabric.Canvas("freeCanvas", {
-            isDrawingMode: false,
-            selection: false,
-            width: 1000,
-            height: 600
-        });
-
-        fabric.Image.fromURL('../image/tools-28.png', function (img) {
-            img.scaleToHeight(224 / 2, false);  //缩放图片高度
-            img.scaleToWidth(168 / 2, false);   //缩放图片宽度
-            canvas.add(img);
-        });
-
-    </script>
-</body>
-
-</html>

+ 0 - 121
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/demo/writingpad.html

@@ -1,121 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="UTF-8">
-    <title>手写板绘制</title>
-    <style>
-        .canvas {
-            border: 1px solid rgb(170, 170, 170);
-            cursor: pointer;
-        }
-
-        .mgTop {
-            margin-top: 30px;
-            text-align: center;
-        }
-    </style>
-    <script src="../js/fabric.min.js"></script>
-</head>
-
-<body style="padding-left: 10px;text-align:center;">
-
-    <h1>手写板测试</h1>
-
-    <div class="mgTop">
-        <canvas width="1880" height="1329" id="freeCanvas" class="canvas"></canvas>
-    </div>
-
-    <button style="display: none;" onclick="toData()"> 转换 </button>
-
-    <button onclick="clearCanvas()"> 清空画板 </button>
-
-    <script>
-        var canvas = new fabric.Canvas("freeCanvas", {
-            isDrawingMode: true,
-            selection: false,
-            width: 1880,
-            height: 1329
-        });
-
-        window.open("http://cmd.com/setpadcanvas?" + canvas.width + "&" + canvas.height);
-
-        function toData() {
-            console.log(canvas.toJSON());
-            console.log(drawingPath.path);
-        }
-
-        var invalidCoord = -1000000; //无效的坐标值
-        var prevX = invalidCoord, prevY = invalidCoord; //绘制中上一个节点的x,y
-        var drawingIndex = 0; //绘制对象的下标
-        var drawingPath = undefined;
-        var drawColor = '#E34F51',
-            strokeWidth = 2,
-            tempCount = 0;
-
-        //手写板绘制 type:M=>开始绘制 Q=>绘制中 L=>结束绘制
-        function writingPad(type, x, y) {
-
-            // window.open("http://cmd.com/WriteLog?writingPad—type:" + type + " x:" + x + " y:" + y);
-
-            if (type) {
-                switch (type.toLowerCase()) {
-                    case 'm':
-                        //开始绘制
-                        drawingPath = new fabric.Path('M ' + x + ' ' + y + ' ', {
-                            stroke: drawColor,
-                            fill: "rgba(255, 255, 255, 0)",
-                            strokeWidth: strokeWidth
-                        });
-                        canvas.add(drawingPath);
-                        break;
-                    case 'q':
-                        //绘制中
-                        if (drawingPath) {
-                            if (prevX == invalidCoord || prevY == invalidCoord) {
-                                prevX = x, prevY = y;
-                            } else {
-                                ++tempCount;
-                                if (tempCount % 2) {
-                                    drawingPath.path.push(["Q", prevX, prevY, x, y]);
-                                    var _path = drawingPath.path;
-                                    canvas.remove(_path); //先移除
-                                    //再添加(变相实现更新)
-                                    drawingPath = new fabric.Path(_path, {
-                                        stroke: drawColor,
-                                        fill: "rgba(255, 255, 255, 0)",
-                                        strokeWidth: strokeWidth
-                                    });
-                                    canvas.add(drawingPath);
-                                    prevX = invalidCoord, prevY = invalidCoord;
-
-                                    // window.open("http://cmd.com/WriteLog?drawingPath—type:" + type + " x:" + x + " y:" + y);
-
-                                }
-                            }
-                        } else {
-                            alert('绘制失败:画板异常,请重新连接画板重试!');
-                        }
-                        break;
-                    case 'l':
-                        //结束绘制
-                        drawingPath.path.push(["L", x, y]);
-                        // canvas.loadFromJSON(canvas.toJSON());
-                        drawingPath = undefined;
-                        prevX = invalidCoord, prevY = invalidCoord;
-                        tempCount = 0;
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-
-        function clearCanvas() {
-            canvas.clear();
-        }
-
-    </script>
-</body>
-
-</html>

BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/all-true.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/change-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/confirm-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/default-head-blue.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/error-tag.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/help-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/homework-answer-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/homework-entry-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/logo.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/pwd0.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/right-tag.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/sign-out-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/true-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/work-original.jpg.filepart


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/check/work-total-icon.png


BIN
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/image/wrong-small-sel.png


+ 0 - 68
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/index.html

@@ -1,68 +0,0 @@
-<html>
-
-<head>
-    <meta charset="UTF-8">
-    <title>高级画板程序(canvas) - 授课系统</title>
-    <link rel="stylesheet" href="css/index.css">
-</head>
-
-<body style="background-color: #E5E4E5;;overflow-x: hidden;">
-
-    <div style="margin-top:10px;">
-        <div style="width:50px;float:left;">
-            <ul id="toolsul" class="tools">
-                <li id="toolsPencil" data-type="pen" class="active">
-                    <i class="icon-tools icon-pen-select" data-default='icon-tools icon-pen-black'></i>
-                </li>
-                <li data-type="arrow">
-                    <i class="icon-tools icon-arrow-black" data-default='icon-tools icon-arrow-black'></i>
-                </li>
-                <li data-type="line">
-                    <i class="icon-tools icon-line-black" data-default='icon-tools icon-line-black'></i>
-                </li>
-                <li data-type="dottedline">
-                    <i class="icon-tools icon-dottedline-black" data-default='icon-tools icon-dottedline-black'></i>
-                </li>
-                <li data-type="circle">
-                    <i class="icon-tools icon-circle-black" data-default='icon-tools icon-circle-black'></i>
-                </li>
-                <li data-type="ellipse">
-                    <i class="icon-tools icon-ellipse-black" data-default='icon-tools icon-ellipse-black'></i>
-                </li>
-                <li class="hide" data-type="square">
-                    <i class="icon-tools icon-square-black" data-default='icon-tools icon-square-black'></i>
-                </li>
-                <li data-type="rectangle">
-                    <i class="icon-tools icon-rectangle-black" data-default='icon-tools icon-rectangle-black'></i>
-                </li>
-                <li data-type="rightangle">
-                    <i class="icon-tools icon-rightangle-black" data-default='icon-tools icon-rightangle-black'></i>
-                </li>
-                <li data-type="equilateral">
-                    <i class="icon-tools icon-equilateral-black" data-default='icon-tools icon-equilateral-black'></i>
-                </li>
-                <li class="hide" data-type="isosceles">
-                    <i class="icon-tools icon-isosceles-black" data-default='icon-tools icon-isosceles-black'></i>
-                </li>
-                <li data-type="text">
-                    <i class="icon-tools icon-text-black" data-default='icon-tools icon-text-black'></i>
-                </li>
-                <li data-type="remove">
-                    <i class="icon-tools icon-remove-black" data-default='icon-tools icon-remove-black'></i>
-                </li>
-            </ul>
-
-        </div>
-        <div id="canvasDiv" class="canvasDiv" style="width:95%;">
-            <canvas id="c" width="1920" height="1080">请使用支持HTML5的浏览器</canvas>
-        </div>
-    </div>
-
-    <script src="https://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>
-    <script src="https://cdn.bootcss.com/fabric.js/2.1.0/fabric.min.js"></script>
-    <script src="js/demo.js"></script>
-    <script src="js/canvasZoom.js"></script>
-
-</body>
-
-</html>

+ 0 - 47
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/canvasZoom.js

@@ -1,47 +0,0 @@
-//配置
-var config = function() {
-  return {
-    height: 1080, //默认画板高、宽
-    width: 1920,
-    canvasParentId: "canvasDiv",
-    canvasId: "c"
-  };
-};
-
-//初次设置画板
-(function() {
-  setZoom(window.canvas);
-})();
-
-//设置缩放
-function setZoom(canvas) {
-  var canvasDiv = jQuery("#" + config().canvasParentId);
-  var zoom = 1;
-  var eleHeight = canvasDiv.height(),
-    eleWidth = canvasDiv.width(),
-    cHeight = canvas.height,
-    cWidth = canvas.width;
-  var height = eleHeight > cHeight ? eleHeight : cHeight;
-  var width = eleWidth > cWidth ? eleWidth : cWidth;
-  if (width > height) {
-    //横版
-    width = eleWidth;
-    height = eleHeight;
-    zoom = width / config().width;
-  } else {
-    //竖版
-    height = height * eleHeight / config().height * 0.8;
-    zoom = height / config().height;
-  }
-  canvas.setZoom(zoom);
-  canvas.setWidth(width);
-  canvas.setHeight(height);
-
-  window.zoom = zoom;
-  canvas.renderAll();
-}
-
-//监听窗体变化
-window.onresize = function() {
-  setZoom(window.canvas);
-};

+ 0 - 305
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check-bak.js

@@ -1,305 +0,0 @@
-(function () {
-  //变量声明
-  var mouseFrom = {},
-    mouseTo = {},
-    drawType = 'right', //画板绘制类型
-    canvasObjectIndex = 0,
-    textbox = null;
-  var drawWidth = 2; //笔触宽度
-  var color = "#E34F51"; //画笔颜色
-  var drawingObject = null; //当前绘制对象
-  var moveCount = 1; //绘制移动计数器
-  var doDrawing = false; // 绘制状态
-  var rightColor = "#006400", wrongColor = "#E34F51";
-
-  //初始化画板
-  var canvas = new fabric.Canvas("c", {
-    isDrawingMode: false,
-    skipTargetFind: true,
-    selectable: false,
-    selection: false
-  });
-
-  fabric.Image.fromURL('http://icdn.apigo.cn/paper.png?1', function (img) {
-    canvas.add(img);
-  }, { crossOrigin: 'anonymous' });
-
-  window.canvas = canvas;
-  window.zoom = window.zoom ? window.zoom : 1;
-  window.drawType = drawType;
-
-  canvas.freeDrawingBrush.color = color; //设置自由绘颜色
-  canvas.freeDrawingBrush.width = drawWidth;
-
-  //绑定画板事件
-  canvas.on("mouse:down", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseFrom.x = xy.x;
-    mouseFrom.y = xy.y;
-    doDrawing = true;
-  });
-  canvas.on("mouse:up", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    drawing();
-    drawingObject = null;
-    moveCount = 1;
-    doDrawing = false;
-  });
-  canvas.on("mouse:move", function (options) {
-    if (moveCount % 2 && !doDrawing) {
-      //减少绘制频率
-      return;
-    }
-    moveCount++;
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    drawing();
-  });
-
-  canvas.on("selection:created", function (e) {
-    if (e.target._objects) {
-      //多选删除
-      var etCount = e.target._objects.length;
-      for (var etindex = 0; etindex < etCount; etindex++) {
-        if (e.target._objects[etindex].type == "image") {
-          continue;
-        }
-        canvas.remove(e.target._objects[etindex]);
-      }
-    } else {
-      //单选删除
-      if (e.target.type != "image") {
-        canvas.remove(e.target);
-      }
-    }
-    canvas.discardActiveObject(); //清楚选中框
-  });
-
-  //坐标转换
-  function transformMouse(mouseX, mouseY) {
-    return { x: mouseX / window.zoom, y: mouseY / window.zoom };
-  }
-
-  //绑定工具事件
-  jQuery("#toolsul")
-    .find("li")
-    .on("click", function () {
-      //设置样式
-      jQuery("#toolsul")
-        .find("li>i")
-        .each(function () {
-          jQuery(this).attr("class", jQuery(this).attr("data-default"));
-        });
-      jQuery(this)
-        .addClass("active")
-        .siblings()
-        .removeClass("active");
-      jQuery(this)
-        .find("i")
-        .attr(
-          "class",
-          jQuery(this)
-            .find("i")
-            .attr("class")
-            .replace("black", "select")
-        );
-      drawType = jQuery(this).attr("data-type");
-      window.drawType = drawType;
-      canvas.isDrawingMode = false;
-      if (textbox) {
-        //退出文本编辑状态
-        textbox.exitEditing();
-        textbox = null;
-      }
-      if (drawType == "pen") {
-        canvas.isDrawingMode = true;
-      } else if (drawType == "remove") {
-        canvas.selection = true;
-        canvas.skipTargetFind = false;
-        canvas.selectable = true;
-      } else {
-        canvas.skipTargetFind = true; //画板元素不能被选中
-        canvas.selection = false; //画板不显示选中
-      }
-    });
-
-  //绘画方法
-  function drawing() {
-    if (drawingObject) {
-      canvas.remove(drawingObject);
-    }
-    var canvasObject = null;
-    switch (drawType) {
-      case "arrow": //箭头
-        canvasObject = new fabric.Path(drawArrow(mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y, 30, 30), {
-          stroke: color,
-          fill: "rgba(255,255,255,0)",
-          strokeWidth: drawWidth
-        });
-        break;
-      case "line": //直线
-        canvasObject = new fabric.Line([mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y], {
-          stroke: color,
-          strokeWidth: drawWidth
-        });
-        break;
-      case "dottedline": //虚线
-        canvasObject = new fabric.Line([mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y], {
-          strokeDashArray: [3, 1],
-          stroke: color,
-          strokeWidth: drawWidth
-        });
-        break;
-      case "text":
-        textbox = new fabric.Textbox("", {
-          left: mouseFrom.x - 60,
-          top: mouseFrom.y - 20,
-          width: 150,
-          fontSize: 18,
-          borderColor: "#2c2c2c",
-          fill: color,
-          hasControls: false
-        });
-        canvas.add(textbox);
-        textbox.enterEditing();
-        textbox.hiddenTextarea.focus();
-        break;
-      case 'right': //整题正确
-        var step = 30;
-        var path =
-          "M " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          mouseFrom.x +
-          " " +
-          mouseFrom.y +
-          " L " +
-          (mouseFrom.x + step * 2) +
-          " " +
-          (mouseFrom.y - step * 2);
-        canvasObject = new fabric.Path(path, {
-          stroke: rightColor,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        break;
-      case 'wrong': //整题错误
-        var step = 30;
-        var path =
-          "M " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          (mouseFrom.x + step) +
-          " " +
-          (mouseFrom.y + step) +
-          "M " +
-          (mouseFrom.x + step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y + step);
-        canvasObject = new fabric.Path(path, {
-          stroke: wrongColor,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        break;
-      case 'smallright': //题目内单个正确
-        var step = 10;
-        var path =
-          "M " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          mouseFrom.x +
-          " " +
-          mouseFrom.y +
-          " L " +
-          (mouseFrom.x + step * 2) +
-          " " +
-          (mouseFrom.y - step * 2);
-        canvasObject = new fabric.Path(path, {
-          stroke: rightColor,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        break;
-      case 'smallwrong': //题目内单个错误
-        var step = 10;
-        var path =
-          "M " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          (mouseFrom.x + step) +
-          " " +
-          (mouseFrom.y + step) +
-          "M " +
-          (mouseFrom.x + step) +
-          " " +
-          (mouseFrom.y - step) +
-          " L " +
-          (mouseFrom.x - step) +
-          " " +
-          (mouseFrom.y + step);
-        canvasObject = new fabric.Path(path, {
-          stroke: wrongColor,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        break;
-      case "remove":
-        break;
-      default:
-        break;
-    }
-    if (canvasObject) {
-      // canvasObject.index = getCanvasObjectIndex();
-      canvasObject.type = drawType;
-      canvas.add(canvasObject); //.setActiveObject(canvasObject)
-      drawingObject = canvasObject;
-    }
-  }
-
-  //绘制箭头方法
-  function drawArrow(fromX, fromY, toX, toY, theta, headlen) {
-    theta = typeof theta != "undefined" ? theta : 30;
-    headlen = typeof theta != "undefined" ? headlen : 10;
-    // 计算各角度和对应的P2,P3坐标
-    var angle = Math.atan2(fromY - toY, fromX - toX) * 180 / Math.PI,
-      angle1 = (angle + theta) * Math.PI / 180,
-      angle2 = (angle - theta) * Math.PI / 180,
-      topX = headlen * Math.cos(angle1),
-      topY = headlen * Math.sin(angle1),
-      botX = headlen * Math.cos(angle2),
-      botY = headlen * Math.sin(angle2);
-    var arrowX = fromX - topX,
-      arrowY = fromY - topY;
-    var path = " M " + fromX + " " + fromY;
-    path += " L " + toX + " " + toY;
-    arrowX = toX + topX;
-    arrowY = toY + topY;
-    path += " M " + arrowX + " " + arrowY;
-    path += " L " + toX + " " + toY;
-    arrowX = toX + botX;
-    arrowY = toY + botY;
-    path += " L " + arrowX + " " + arrowY;
-    return path;
-  }
-
-  //获取画板对象的下标
-  function getCanvasObjectIndex() {
-    return canvasObjectIndex++;
-  }
-})();

+ 0 - 269
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/canvas.js

@@ -1,269 +0,0 @@
-//变量声明
-var mouseFrom = {},
-  mouseTo = {},
-  drawType = 'right', //画板绘制类型
-  canvasObjectIndex = 0;
-var drawWidth = 2; //笔触宽度
-var modifySize = 20, modifySmallSize = 10; //大/小 | 对/错画笔直径大小
-var color = "#E34F51"; //画笔颜色
-var drawingObject = null; //当前绘制对象
-var moveCount = 1; //绘制移动计数器
-var doDrawing = false; // 绘制状态
-var rightColor = "#008B00", wrongColor = "#E34F51";
-// var modifyImg = null;//当前批改的图片
-var appErrCount = 0;//全局错误个数
-var errTextBoxArray = new Array();
-var canvasArr = [];  //所有(fabric产生)的canvas对象
-
-
-//切换画板
-function switchCanvas(url, index) {
-  var canvasId = "c" + index;
-  jQuery("#canvasDiv").find("div").addClass("fn-hide");
-  jQuery("#canvasDiv").find("div").eq(index).removeClass("fn-hide");
-  if (canvasArr[index]) {
-    //canvas已经存在
-    window.canvas = canvasArr[index];
-    return false;
-  }
-  var canvas = new fabric.Canvas(canvasId, {
-    isDrawingMode: false,
-    skipTargetFind: true,
-    selectable: false,
-    selection: false
-  });
-  fabric.Image.fromURL(url, function (img) {
-    canvas.add(img);
-  }, { crossOrigin: 'anonymous' });
-  canvasArr[index] = canvas;
-  canvas.freeDrawingBrush.color = color; //设置自由绘颜色
-  canvas.freeDrawingBrush.width = drawWidth;
-  window.canvas = canvas;
-
-  //绑定画板事件
-  canvas.on("mouse:down", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseFrom.x = xy.x;
-    mouseFrom.y = xy.y;
-    doDrawing = true;
-  });
-  canvas.on("mouse:up", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    drawing();
-    drawingObject = null;
-    moveCount = 1;
-    doDrawing = false;
-    if (drawType.indexOf("wrong") != -1) {
-      //有错题
-      jQuery("#errModal").removeClass("fn-hide");
-      jQuery("#errModal").find("div[name=etag]").removeClass("active");
-      ++appErrCount;
-      var addLeft = 10, addTop = 25;
-      if (drawType == "wrong") {
-        addLeft = 25;
-        addTop = 30;
-      }
-      var textbox = new fabric.Textbox(appErrCount.toString(), {
-        left: mouseFrom.x + addLeft,
-        top: mouseFrom.y - addTop,
-        fontSize: 18,
-        borderColor: "#2c2c2c",
-        fill: color,
-        hasControls: false,
-        eindex: (appErrCount - 1),
-        type: "textbox"
-      });
-      canvas.add(textbox);
-      errTextBoxArray[appErrCount] = textbox;
-    }
-  });
-  canvas.on("mouse:move", function (options) {
-    if (moveCount % 2 && !doDrawing) {
-      //减少绘制频率
-      return;
-    }
-    moveCount++;
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    drawing();
-  });
-  canvas.on("selection:created", function (e) {
-    if (e.target._objects) {
-      //多选删除
-      var etCount = e.target._objects.length;
-      for (var etindex = 0; etindex < etCount; etindex++) {
-        if (e.target._objects[etindex].type == "image" || e.target._objects[etindex].type == "textbox") {
-          continue;
-        }
-        var eindex = e.target._objects[etindex].eindex;
-        canvas.remove(errTextBoxArray[(1 + eindex)]); //移除对应右上角的数字
-        delete errTextBoxArray[(1 + eindex)];
-
-        canvas.remove(e.target._objects[etindex]);
-
-        //移除作业批注
-        var errMsgChildren = jQuery("#errMsg").children();
-        errMsgChildren.eq(errMsgChildren.length - 1 - eindex).addClass("fn-hide");
-      }
-    } else {
-      //单选删除
-      if (e.target.type != "image" && e.target.type != "textbox") {
-        var eindex = e.target.eindex;
-        canvas.remove(errTextBoxArray[(1 + eindex)]); //移除对应右上角的数字
-        delete errTextBoxArray[(1 + eindex)];
-        canvas.remove(e.target);
-
-        //移除作业批注
-        var errMsgChildren = jQuery("#errMsg").children();
-        errMsgChildren.eq(errMsgChildren.length - 1 - eindex).addClass("fn-hide");
-
-      }
-    }
-    canvas.discardActiveObject(); //清楚选中框
-  });
-
-
-}
-
-window.zoom = window.zoom ? window.zoom : 1;
-// window.drawType = drawType;
-
-//坐标转换
-function transformMouse(mouseX, mouseY) {
-  return { x: mouseX / window.zoom, y: mouseY / window.zoom };
-}
-
-//绘画方法
-function drawing() {
-  if (drawingObject) {
-    canvas.remove(drawingObject);
-  }
-  var canvasObject = null;
-  switch (drawType) {
-    case 'right': //整题正确
-      var path =
-        "M " +
-        (mouseFrom.x - modifySize) +
-        " " +
-        (mouseFrom.y - modifySize) +
-        " L " +
-        mouseFrom.x +
-        " " +
-        mouseFrom.y +
-        " L " +
-        (mouseFrom.x + modifySize * 2) +
-        " " +
-        (mouseFrom.y - modifySize * 2);
-      canvasObject = new fabric.Path(path, {
-        stroke: rightColor,
-        strokeWidth: drawWidth,
-        fill: "rgba(255, 255, 255, 0)"
-      });
-      break;
-    case 'wrong': //整题错误
-      var path =
-        "M " +
-        (mouseFrom.x - modifySize) +
-        " " +
-        (mouseFrom.y - modifySize) +
-        " L " +
-        (mouseFrom.x + modifySize) +
-        " " +
-        (mouseFrom.y + modifySize) +
-        "M " +
-        (mouseFrom.x + modifySize) +
-        " " +
-        (mouseFrom.y - modifySize) +
-        " L " +
-        (mouseFrom.x - modifySize) +
-        " " +
-        (mouseFrom.y + modifySize);
-      canvasObject = new fabric.Path(path, {
-        stroke: wrongColor,
-        strokeWidth: drawWidth,
-        eindex: appErrCount,
-        fill: "rgba(255, 255, 255, 0)"
-      });
-
-      // canvas.add();
-      break;
-    case 'smallright': //题目内单个正确
-      var path =
-        "M " +
-        (mouseFrom.x - modifySmallSize) +
-        " " +
-        (mouseFrom.y - modifySmallSize) +
-        " L " +
-        mouseFrom.x +
-        " " +
-        mouseFrom.y +
-        " L " +
-        (mouseFrom.x + modifySmallSize * 2) +
-        " " +
-        (mouseFrom.y - modifySmallSize * 2);
-      canvasObject = new fabric.Path(path, {
-        stroke: rightColor,
-        strokeWidth: drawWidth,
-        fill: "rgba(255, 255, 255, 0)"
-      });
-      break;
-    case 'smallwrong': //题目内单个错误
-      var path =
-        "M " +
-        (mouseFrom.x - modifySmallSize) +
-        " " +
-        (mouseFrom.y - modifySmallSize) +
-        " L " +
-        (mouseFrom.x + modifySmallSize) +
-        " " +
-        (mouseFrom.y + modifySmallSize) +
-        "M " +
-        (mouseFrom.x + modifySmallSize) +
-        " " +
-        (mouseFrom.y - modifySmallSize) +
-        " L " +
-        (mouseFrom.x - modifySmallSize) +
-        " " +
-        (mouseFrom.y + modifySmallSize);
-      canvasObject = new fabric.Path(path, {
-        stroke: wrongColor,
-        strokeWidth: drawWidth,
-        eindex: appErrCount,
-        fill: "rgba(255, 255, 255, 0)"
-      });
-      break;
-    case "rectangle": //圈题
-      canvasObject = new fabric.Rect({
-        top: mouseFrom.y,
-        left: mouseFrom.x,
-        width: (mouseTo.x - mouseFrom.x),
-        height: (mouseTo.y - mouseFrom.y),
-        stroke: color,
-        strokeWidth: drawWidth,
-        fill: "rgba(255, 255, 255, 0)"
-      });
-      break;
-    case "remove":
-      break;
-    case "help":
-
-      break;
-    default:
-
-      break;
-  }
-  if (canvasObject) {
-    // canvasObject.index = getCanvasObjectIndex();
-    canvasObject.type = drawType;
-    canvas.add(canvasObject); //.setActiveObject(canvasObject)
-    drawingObject = canvasObject;
-  }
-}
-
-//获取画板对象的下标
-function getCanvasObjectIndex() {
-  return canvasObjectIndex++;
-}

+ 0 - 9
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/config.js

@@ -1,9 +0,0 @@
-/**
- * 服务器地址
- */
-var config = {
-    tokenURL: 'http://172.16.10.79:8360/qiniu/gettoken',
-    checkURL: 'http://third.172.16.11.49.xip.io/wq.php/record/correct',
-    imgDomain: 'http://img.yousi.com/',  //图片域名
-    callbackURL: 'http://172.16.10.78:7777/index/content/homework_main.html'
-};

+ 0 - 17
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/fontsize.js

@@ -1,17 +0,0 @@
-(function (doc, win) {
-    var docEl = doc.documentElement,
-        resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
-        recalc = function () {
-            var clientWidth = docEl.clientWidth;
-            if (!clientWidth) return;
-            if(clientWidth>=3200){
-                docEl.style.fontSize = '100px';
-            }else{
-                docEl.style.fontSize = 100 * (clientWidth / 3200) + 'px';
-            }
-        };
-
-    if (!doc.addEventListener) return;
-    win.addEventListener(resizeEvt, recalc, false);
-    doc.addEventListener('DOMContentLoaded', recalc, false);
-})(document, window);

File diff suppressed because it is too large
+ 0 - 0
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/check/qiniu.min.js


+ 0 - 287
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/demo.js

@@ -1,287 +0,0 @@
-(function () {
-  //变量声明
-  var mouseFrom = {},
-    mouseTo = {},
-    drawType = null,
-    canvasObjectIndex = 0,
-    textbox = null;
-  var drawWidth = 2; //笔触宽度
-  var color = "#E34F51"; //画笔颜色
-  var drawingObject = null; //当前绘制对象
-  var moveCount = 1; //绘制移动计数器
-  var doDrawing = false; // 绘制状态
-
-  //初始化画板
-  var canvas = new fabric.Canvas("c", {
-    isDrawingMode: true,
-    skipTargetFind: true,
-    selectable: false,
-    selection: false
-  });
-
-  window.canvas = canvas;
-  window.zoom = window.zoom ? window.zoom : 1;
-
-  canvas.freeDrawingBrush.color = color; //设置自由绘颜色
-  canvas.freeDrawingBrush.width = drawWidth;
-
-  //绑定画板事件
-  canvas.on("mouse:down", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseFrom.x = xy.x;
-    mouseFrom.y = xy.y;
-    doDrawing = true;
-  });
-  canvas.on("mouse:up", function (options) {
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    // drawing();
-    drawingObject = null;
-    moveCount = 1;
-    doDrawing = false;
-  });
-  canvas.on("mouse:move", function (options) {
-    if (moveCount % 2 && !doDrawing) {
-      //减少绘制频率
-      return;
-    }
-    moveCount++;
-    var xy = transformMouse(options.e.offsetX, options.e.offsetY);
-    mouseTo.x = xy.x;
-    mouseTo.y = xy.y;
-    drawing();
-  });
-
-  canvas.on("selection:created", function (e) {
-    if (e.target._objects) {
-      //多选删除
-      var etCount = e.target._objects.length;
-      for (var etindex = 0; etindex < etCount; etindex++) {
-        canvas.remove(e.target._objects[etindex]);
-      }
-    } else {
-      //单选删除
-      canvas.remove(e.target);
-    }
-    canvas.discardActiveObject(); //清楚选中框
-  });
-
-  //坐标转换
-  function transformMouse(mouseX, mouseY) {
-    return { x: mouseX / window.zoom, y: mouseY / window.zoom };
-  }
-
-  //绑定工具事件
-  jQuery("#toolsul")
-    .find("li")
-    .on("click", function () {
-      //设置样式
-      jQuery("#toolsul")
-        .find("li>i")
-        .each(function () {
-          jQuery(this).attr("class", jQuery(this).attr("data-default"));
-        });
-      jQuery(this)
-        .addClass("active")
-        .siblings()
-        .removeClass("active");
-      jQuery(this)
-        .find("i")
-        .attr(
-          "class",
-          jQuery(this)
-            .find("i")
-            .attr("class")
-            .replace("black", "select")
-        );
-      drawType = jQuery(this).attr("data-type");
-      canvas.isDrawingMode = false;
-      if (textbox) {
-        //退出文本编辑状态
-        textbox.exitEditing();
-        textbox = null;
-      }
-      if (drawType == "pen") {
-        canvas.isDrawingMode = true;
-      } else if (drawType == "remove") {
-        canvas.selection = true;
-        canvas.skipTargetFind = false;
-        canvas.selectable = true;
-      } else {
-        canvas.skipTargetFind = true; //画板元素不能被选中
-        canvas.selection = false; //画板不显示选中
-      }
-    });
-
-  //绘画方法
-  function drawing() {
-    if (drawingObject) {
-      canvas.remove(drawingObject);
-    }
-    var canvasObject = null;
-    switch (drawType) {
-      case "arrow": //箭头
-        canvasObject = new fabric.Path(drawArrow(mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y, 30, 30), {
-          stroke: color,
-          fill: "rgba(255,255,255,0)",
-          strokeWidth: drawWidth
-        });
-        break;
-      case "line": //直线
-        canvasObject = new fabric.Line([mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y], {
-          stroke: color,
-          strokeWidth: drawWidth
-        });
-        break;
-      case "dottedline": //虚线
-        canvasObject = new fabric.Line([mouseFrom.x, mouseFrom.y, mouseTo.x, mouseTo.y], {
-          strokeDashArray: [3, 1],
-          stroke: color,
-          strokeWidth: drawWidth
-        });
-        break;
-      case "circle": //正圆
-        var left = mouseFrom.x,
-          top = mouseFrom.y;
-        var radius = Math.sqrt((mouseTo.x - left) * (mouseTo.x - left) + (mouseTo.y - top) * (mouseTo.y - top)) / 2;
-        canvasObject = new fabric.Circle({
-          left: left,
-          top: top,
-          stroke: color,
-          fill: "rgba(255, 255, 255, 0)",
-          radius: radius,
-          strokeWidth: drawWidth
-        });
-        break;
-      case "ellipse": //椭圆
-        var left = mouseFrom.x,
-          top = mouseFrom.y;
-        var radius = Math.sqrt((mouseTo.x - left) * (mouseTo.x - left) + (mouseTo.y - top) * (mouseTo.y - top)) / 2;
-        canvasObject = new fabric.Ellipse({
-          left: left,
-          top: top,
-          stroke: color,
-          fill: "rgba(255, 255, 255, 0)",
-          originX: "center",
-          originY: "center",
-          rx: Math.abs(left - mouseTo.x),
-          ry: Math.abs(top - mouseTo.y),
-          strokeWidth: drawWidth
-        });
-        break;
-      case "square": //TODO:正方形(后期完善)
-        break;
-      case "rectangle": //长方形
-        var path =
-          "M " +
-          mouseFrom.x +
-          " " +
-          mouseFrom.y +
-          " L " +
-          mouseTo.x +
-          " " +
-          mouseFrom.y +
-          " L " +
-          mouseTo.x +
-          " " +
-          mouseTo.y +
-          " L " +
-          mouseFrom.x +
-          " " +
-          mouseTo.y +
-          " L " +
-          mouseFrom.x +
-          " " +
-          mouseFrom.y +
-          " z";
-        canvasObject = new fabric.Path(path, {
-          left: left,
-          top: top,
-          stroke: color,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        //也可以使用fabric.Rect
-        break;
-      case "rightangle": //直角三角形
-        var path = "M " + mouseFrom.x + " " + mouseFrom.y + " L " + mouseFrom.x + " " + mouseTo.y + " L " + mouseTo.x + " " + mouseTo.y + " z";
-        canvasObject = new fabric.Path(path, {
-          left: left,
-          top: top,
-          stroke: color,
-          strokeWidth: drawWidth,
-          fill: "rgba(255, 255, 255, 0)"
-        });
-        break;
-      case "equilateral": //等边三角形
-        var height = mouseTo.y - mouseFrom.y;
-        canvasObject = new fabric.Triangle({
-          top: mouseFrom.y,
-          left: mouseFrom.x,
-          width: Math.sqrt(Math.pow(height, 2) + Math.pow(height / 2.0, 2)),
-          height: height,
-          stroke: color,
-          strokeWidth: drawWidth,
-          fill: "rgba(255,255,255,0)"
-        });
-        break;
-      case "isosceles":
-        break;
-      case "text":
-        textbox = new fabric.Textbox("", {
-          left: mouseFrom.x - 60,
-          top: mouseFrom.y - 20,
-          width: 150,
-          fontSize: 18,
-          borderColor: "#2c2c2c",
-          fill: color,
-          hasControls: false
-        });
-        canvas.add(textbox);
-        textbox.enterEditing();
-        textbox.hiddenTextarea.focus();
-        break;
-      case "remove":
-        break;
-      default:
-        break;
-    }
-    if (canvasObject) {
-      // canvasObject.index = getCanvasObjectIndex();
-      canvas.add(canvasObject); //.setActiveObject(canvasObject)
-      drawingObject = canvasObject;
-    }
-  }
-
-  //绘制箭头方法
-  function drawArrow(fromX, fromY, toX, toY, theta, headlen) {
-    theta = typeof theta != "undefined" ? theta : 30;
-    headlen = typeof theta != "undefined" ? headlen : 10;
-    // 计算各角度和对应的P2,P3坐标
-    var angle = Math.atan2(fromY - toY, fromX - toX) * 180 / Math.PI,
-      angle1 = (angle + theta) * Math.PI / 180,
-      angle2 = (angle - theta) * Math.PI / 180,
-      topX = headlen * Math.cos(angle1),
-      topY = headlen * Math.sin(angle1),
-      botX = headlen * Math.cos(angle2),
-      botY = headlen * Math.sin(angle2);
-    var arrowX = fromX - topX,
-      arrowY = fromY - topY;
-    var path = " M " + fromX + " " + fromY;
-    path += " L " + toX + " " + toY;
-    arrowX = toX + topX;
-    arrowY = toY + topY;
-    path += " M " + arrowX + " " + arrowY;
-    path += " L " + toX + " " + toY;
-    arrowX = toX + botX;
-    arrowY = toY + botY;
-    path += " L " + arrowX + " " + arrowY;
-    return path;
-  }
-
-  //获取画板对象的下标
-  function getCanvasObjectIndex() {
-    return canvasObjectIndex++;
-  }
-})();

File diff suppressed because it is too large
+ 0 - 0
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/fabric.min.js


File diff suppressed because it is too large
+ 0 - 1
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/jquery.min.js


File diff suppressed because it is too large
+ 0 - 0
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/md5.min.js


+ 0 - 109
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/upload.js

@@ -1,109 +0,0 @@
-//图片上传 (uploadImageArray = [{"name":"xxx","base64":"xxx"}])
-function uploadImg(uploadImageArray, qiniuToken) {
-    if (uploadImageArray && uploadImageArray.length > 0 && qiniuToken) {
-        //上传,返回地址
-        var putExtra = {
-            fname: "",
-            params: {},
-            mimeType: [] || null
-        };
-        var config = {
-            useCdnDomain: true
-        };
-        window.WinSuccCount = 0;
-        window.WinUploadImgCount = uploadImageArray.length;
-        for (var i = 0; i < uploadImageArray.length; i++) {
-            doUpload(uploadImageArray[i].name, uploadImageArray[i].base64.replace('data:image/png;base64,', ''), qiniuToken);
-        }
-    }
-}
-
-//图片上传七牛云
-function doUpload(name, base64, qiniuToken) {
-    //图片上传(base64模式直传)
-    var urlkey = toBase64(name); //自定义文件名必须是base64格式的
-    var url = "http://upload.qiniup.com/putb64/-1/key/" + urlkey; //非华东空间需要根据注意事项-修改上传域名(upload.qiniup.com)
-    var xhr = new XMLHttpRequest();
-    xhr.onreadystatechange = function () {
-        if (xhr.readyState == 4) {
-            //返回信息
-            console.log(xhr.responseText);
-
-            //检测是否上传完毕,提交请求给服务器
-            ++window.WinSuccCount;
-            if (window.WinUploadImgCount == window.WinSuccCount) {
-                reqCheckServer();
-                window.WinSuccCount = 0;
-                window.WinUploadImgCount = 0;
-            }
-        }
-    }
-    xhr.open("POST", url, true);
-    xhr.setRequestHeader("Content-Type", "application/octet-stream");
-    xhr.setRequestHeader("Authorization", "UpToken " + qiniuToken);
-    xhr.send(base64);
-}
-
-//提交作业批改(php)
-function reqCheckServer() {
-    if (window.checkJson) {
-        // prompt("最终结果", window.checkJson);
-        jQuery.ajax({
-            type: "POST",
-            url: config.checkURL,
-            data: { "param": window.checkJson },
-            success: function (res) {
-                location.href = config.callbackURL;
-                console.log(res);
-            }
-        });
-        jQuery("#maskDiv").hide();
-    }
-}
-
-function toBase64(data) {
-    var toBase64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-    var base64Pad = '=';
-    var result = '';
-    var length = data.length;
-    var i;
-    for (i = 0; i < (length - 2); i += 3) {
-        result += toBase64Table[data.charCodeAt(i) >> 2];
-        result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i + 1) >> 4)];
-        result += toBase64Table[((data.charCodeAt(i + 1) & 0x0f) << 2) + (data.charCodeAt(i + 2) >> 6)];
-        result += toBase64Table[data.charCodeAt(i + 2) & 0x3f];
-    }
-    if (length % 3) {
-        i = length - (length % 3);
-        result += toBase64Table[data.charCodeAt(i) >> 2];
-        if ((length % 3) == 2) {
-            result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i + 1) >> 4)];
-            result += toBase64Table[(data.charCodeAt(i + 1) & 0x0f) << 2];
-            result += base64Pad;
-        } else {
-            result += toBase64Table[(data.charCodeAt(i) & 0x03) << 4];
-            result += base64Pad + base64Pad;
-        }
-    }
-    return result;
-}
-
-//base64转blob
-function base64ToBlob(base64, contentType, sliceSize) {
-    contentType = contentType || '';
-    sliceSize = sliceSize || 512;
-    var byteCharacters = atob(base64);
-    var byteArrays = [];
-
-    for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
-        var slice = byteCharacters.slice(offset, offset + sliceSize);
-        var byteNumbers = new Array(slice.length);
-        for (var i = 0; i < slice.length; i++) {
-            byteNumbers[i] = slice.charCodeAt(i);
-        }
-        var byteArray = new Uint8Array(byteNumbers);
-        byteArrays.push(byteArray);
-    }
-    var blob = new Blob(byteArrays, { type: contentType });
-    return blob;
-}

+ 0 - 5
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/js/tools/uuid.js

@@ -1,5 +0,0 @@
-/**
- * 注意:这不是真正的GUID,无法在Javascript中生成真正的GUID,因为它们依赖于浏览器不公开的本地计算机的属性。
- * 可以配合时间戳:md5(uuid.uuid() + new Date().getTime())重复性更小
- */
-(function(){var _uuid={uuid:function(){var s=[];var hexDigits="0123456789abcdef";for(var i=0;i<36;i++){s[i]=hexDigits.substr(Math.floor(Math.random()*16),1)}s[14]="4";s[19]=hexDigits.substr((s[19]&3)|8,1);s[8]=s[13]=s[18]=s[23]="-";var uuid=s.join("");return uuid}};this.uuid=_uuid})();

+ 0 - 29
dist/www/CocoRoboDesktop/drawingboard-master/drawingboard/test.html

@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="UTF-8">
-    <title>test页面</title>
-</head>
-
-<body>
-
-    <script type="text/javascript" src="../js/jquery.min.js"></script>
-    <script type="text/javascript" src="../js/check/qiniu.min.js"></script>
-
-    <button>提交</button>
-
-    <script>
-        jQuery.ajax({
-            type: "POST",
-            url: "http://third.172.16.11.49.xip.io/wq.php/Record/wrongQuestion",
-            data: { "roomid": "111" },
-            success: function (res) {
-                console.log(res);
-            }
-        });
-
-    </script>
-</body>
-
-</html>

+ 0 - 305
dist/www/CocoRoboDesktop/index.html

@@ -1,305 +0,0 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wb="http://open.weibo.com/wb" style="overflow: hidden;">
-
-<head>
-    <meta http-equiv="P3P" content='CP="IDC DSP COR CURa ADMa  OUR IND PHY ONL COM STA"' />
-    <meta name="msapplication-window" content="width=1360;height=768" />
-    <meta http-equiv="Cache-Control" content="no-transform" />
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
-    <meta name="renderer" content="webkit" />
-    <meta name="application-name" content="智慧课堂平台" />
-    <meta name="msapplication-tooltip" content="智慧课堂平台" />
-    <meta http-equiv="pragma" content="no-cache" />
-    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
-    <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" />
-    <meta name="msapplication-window" content="width=100%;height=100%" />
-    <meta name="format-detection" content="telephone=no" />
-    <meta name="viewport" content="width=1024, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
-    <meta name="viewport"
-        content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" />
-    <meta name="viewport" content="width=device-width, target-densityDpi=medium-dpi" />
-    <meta name="viewport"
-        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
-    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
-    <meta content="yes" name="apple-mobile-web-app-capable" />
-    <meta content="telephone=no" name="format-detection" />
-    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <meta property="wb:webmaster" content="31656711026d7228" />
-    <meta property="qc:admins" content="103224276361473636" />
-    <meta name="baidu-tc-cerfication" content="2380c76f3aa8a080de8fda7e2659a58b" />
-    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="" />
-    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="" />
-    <link href="img/favicon.ico" rel="Shortcut Icon" />
-    <title>智慧平台</title>
-    <link href="css/Desktop/Desktop.css" rel="stylesheet" type="text/css" />
-    <link href="./css/Desktop/Desktop.css" rel="stylesheet" type="text/css" />
-    <link href="css/Desktop/Taskbar.css" rel="stylesheet" type="text/css" />
-
-    <link href="./css/Controls/Upload.css" rel="stylesheet" type="text/css" />
-    <link href="./css/Controls/Basic/Face.css" rel="stylesheet" type="text/css" />
-    <link href="./css/Controls/Basic/Music.css" rel="stylesheet" type="text/css" />
-    <link href="./css/Controls/Basic/Calendar.css" rel="stylesheet" type="text/css" />
-    <link href="./css/DomanSystem/DomanSystem.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript">
-        document.domain = document.domain.split(".").slice(-2).join(".");
-    </script>
-    <meta name="viewport" id="viewportMeta">
-    <script>
-        var initViewport = function (height, width) {
-            var metaEl = document.querySelector("#viewportMeta");
-            var content = "height=" + height + ",width=" + width + ",initial-scale=1.0,user-scalable=no";
-            metaEl.setAttribute('name', 'viewport');
-            metaEl.setAttribute('content', content);
-        }
-        var realHeight = window.innerHeight > window.innerWidth ? window.innerWidth : window.innerHeight
-        var realWidth = window.innerHeight > window.innerWidth ? window.innerHeight : window.innerWidth
-        initViewport(realHeight, realWidth);
-    </script>
-</head>
-
-<body scroll="no" class="U_MD_D_NotText Scrollbar" style="overflow: hidden;">
-    <!-- 应用窗体 -->
-    <div id="U_MD_Home" class="U_MD_Home" __top__="false" unselectable="on" contenteditable="false">
-        <div class="UD_Dtop" id="UD_Dtop" __top__="false">
-            <div class="U_MD_D" id="U_MD_D" __top__="false">
-                <div id="U_MD_D_BG" __top__="false">
-                </div>
-                <div class="U_MD_D_K" id="U_MD_D_K" __top__="false">
-                </div>
-                <div class="U_MD_D_RW" onmouseover="U.MD.D.I.displayTaskbar(this)"
-                    onmouseout="U.MD.D.I.hiddenTaskbarout(this)">
-                    <div class="U_MD_D_RW_L">
-                        <div class="U_MD_D_RW_I">
-                            <div class="U_MD_D_RW_IO" title="点击隐藏" onclick="U.MD.D.I.hiddenTaskbar(this);">
-                                <img class="U_MD_D_RW_CD" src="./img/clickdown.png" alt="Alternate Text" />
-                            </div>
-                        </div>
-                    </div>
-                    <div id="U_MD_D_RW">
-                    </div>
-                    <div class="U_MD_D_RW_R">
-                        <div class="U_MD_D_RW_GU">
-                            <img class="U_MD_D_RW_GU_g" src="./img/goUp.png" alt="Alternate Text" />
-                        </div>
-                        <div class="U_MD_D_RW_GD">
-                            <img class="U_MD_D_RW_GD_g" src="./img/goDown.png" alt="Alternate Text" />
-                        </div>
-                    </div>
-                </div>
-                <div class="U_MD_D_BD" __top__="false" style="max-width: 165px;">
-                    <div class="U_MD_D_BDA">
-                        <!-- <div class="U_MD_D_BDI U_Img" id="U_MD_D_BDI" title="登录">
-                        </div> -->
-                        <div class="U_MD_D_BDL" id="U_MD_D_BDL" style="width: auto !important;">
-                            <div class="login" onclick="U.MD.U.L.login();" title="登录">
-                                登录
-                            </div>
-                            <div class="register" onclick="U.MD.U.L.register();" title="注册" style="margin-left: 5px;">
-                                注册
-                            </div>
-                            <div class="avatar"><img src="./img/icon/avatar.png" alt=""></div>
-                            <div class="userName"
-                                style="max-width: 86px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-                            </div>
-                            <div class="exit" onclick="U.MD.U.LO.logoutSystem();" title="退出"
-                                style="display: none;margin-left: 5px;color: #888888;">
-                                退出
-                            </div>
-                        </div>
-                    </div>
-                    <!-- <div class="U_MD_D_BD_QRcode">
-                        <img class="U_MD_D_BD_QRcodeImg" src="./img/qrcodeIogo.png" alt="Alternate Text" />
-                    </div> -->
-                    <div class="U_MD_D_BD_QRcodeShare">
-                        <img class="U_MD_D_BD_QRcodeShareImg" src="./img/QRcodeShare.png" alt="Alternate Text" />
-                    </div>
-                </div>
-                <div class="U_MD_D_B" __top__="false" id="U_MD_D_B">
-                    <div class="U_MD_D_BZ" onclick="U.MD.D.A.aboutUs();">
-                        关于我们
-                    </div>
-                </div>
-            </div>
-        </div>
-        <div class="U_MD_D_AG">
-            <div class="U_MD_D_AG_P" id="U_MD_D_AG_P" onselectstart="U.UF.EV.stopBubble();">
-                <pre style="word-wrap: break-word; word-break: break-all; text-align: left;">
-云端注册服务条款
-尊敬的用户,欢迎您注册成为云端用户。在注册前请您仔细阅读如下服务条款:
-本服务协议双方为本网站与云端用户,本服务协议具有合同效力。
-您确认本服务协议后,本服务协议即在您和本网站之间产生法律效力。
-请您务必在注册之前认真阅读全部服务协议内容
-如有任何疑问,可向本网站咨询。
-无论您事实上是否在注册之前认真阅读了本服务协议,
-只要您点击协议正本下方的”注册“按钮并按照本网站注册程序成功注册为用户,
-您的行为仍然表示您同意并签署了本服务协议。
-1.本网站服务条款的确认和接纳本网站各项服务的所有权和运作权归本网站拥有。
-2.用户必须:
-    (1)自行配备上网的所需设备,包括个人电脑、调制解调器或其他必备上网装置。
-    (2)自行负担个人上网所支付的与此服务有关的电话费用、网络费用。
-3.用户在本网站上交易平台上不得发布下列违法信息:
-    (1)反对宪法所确定的基本原则的;
-    (2).危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
-    (3).损害国家荣誉和利益的;
-    (4).煽动民族仇恨、民族歧视,破坏民族团结的;
-    (5).破坏国家宗教政策,宣扬邪教和封建迷信的;
-    (6).散布谣言,扰乱社会秩序,破坏社会稳定的;
-    (7).散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
-    (8).侮辱或者诽谤他人,侵害他人合法权益的;
-    (9).含有法律、行政法规禁止的其他内容的。
-4.有关个人资料
-用户同意:
-    (1) 提供及时、详尽及准确的个人资料。
-    (2).同意接收来自本网站的信息。
-    (3) 不断更新注册资料,符合及时、详尽准确的要求。所有原始键入的资料将引用为注册资料。
-    (4)云端不公开用户的姓名、地址、电子邮箱和笔名,以下情况除外:
-        (a)用户授权本网站透露这些信息。
-        (b)相应的法律及程序要求本网站提供用户的个人资料。
-如果用户提供的资料包含有不正确的信息,本网站保留结束用户使用本网站信息服务资格的权利。
-5. 用户在注册时应当选择稳定性及安全性相对较好的电子邮箱
-并且同意接受并阅读本网站发往用户的各类电子邮件。
-如用户未及时从自己的电子邮箱接受电子邮件或因用户电子邮箱或用户电子邮件接收及阅读程序本身的问题使电子邮件无法正常接收或阅读的,
-只要本网站成功发送了电子邮件,
-应当视为用户已经接收到相关的电子邮件。
-电子邮件在发信服务器上所记录的发出时间视为送达时间。
-6.服务条款的修改
-本网站有权在必要时修改服务条款,本网站服务条款一旦发生变动,将会在重要页面上提示修改内容。
-如果不同意所改动的内容,用户可以主动取消获得的本网站信息服务。如果用户继续享用本网站信息服务,
-则视为接受服务条款的变动。本网站保留随时修改或中断服务而不需通知用户的权利。
-本网站行使修改或中断服务的权利,不需对用户或第三方负责。
-7.用户隐私制度
-尊重用户个人隐私是本网站的一项基本政策。所以,本网站一定不会在未经合法用户授权时公开、编辑或透露其注册资料及保存在本网站中的非公开内容,
-除非有法律许可要求或本网站在诚信的基础上认为透露这些信息在以下四种情况是必要的:
-    (1) 遵守有关法律规定,遵从本网站合法服务程序。
-    (2) 保持维护本网站的商标所有权。
-    (3) 在紧急情况下竭力维护用户个人和社会大众的隐私安全。
-    (4)符合其他相关的要求。本网站保留发布会员人口分析资询的权利。
-8.用户的帐号、密码和安全性
-你一旦注册成功成为用户,你将得到一个密码和帐号。
-如果你不保管好自己的帐号和密码安全,将负全部责任。
-另外,每个用户都要对其帐户中的所有活动和事件负全责。
-你可随时根据指示改变你的密码,也可以结束旧的帐户重开一个新帐户。
-用户同意若发现任何非法使用用户帐号或安全漏洞的情况,请立即通告本网站。
-9. 拒绝提供担保
-用户明确同意信息服务的使用由用户个人承担风险。
-本网站不担保服务不会受中断,对服务的及时性,安全性,出错发生都不作担保,但会在能力范围内,避免出错。
-10.有限责任
-本网站对任何直接、间接、偶然、特殊及继起的损害不负责任,这些损害来自:不正当使用本网站服务,
-或用户传送的信息不符合规定等。这些行为都有可能导致本网站形象受损,
-所以本网站事先提出这种损害的可能性,同时会尽量避免这种损害的发生。
-11.信息的储存及限制
-本网站有判定用户的行为是否符合本网站服务条款的要求和精神的权利,
-如果用户违背本网站服务条款的规定,本网站有权中断其服务的帐号。
-12.用户管理
- 用户必须遵循:
-    (1) 使用信息服务不作非法用途。
-    (2) 不干扰或混乱网络服务。
-    (3) 遵守所有使用服务的网络协议、规定、程序和惯例。用户的行为准则是以因特网法规,政策、程序和惯例为根据的。
-13.保障
-用户同意保障和维护本网站全体成员的利益,负责支付由用户使用超出服务范围引起的律师费用,
-违反服务条款的损害补偿费用,其它人使用用户的电脑、帐号和其它知识产权的追索费。
-14.结束服务
-用户或本网站可随时根据实际情况中断一项或多项服务。
-本网站不需对任何个人或第三方负责而随时中断服务。
-用户若反对任何服务条款的建议或对后来的条款修改有异议,或对本网站服务不满,
-用户可以行使如下权利:
-    (1) 不再使用本网站信息服务。
-    (2) 通知本网站停止对该用户的服务。
-结束用户服务后,用户使用本网站服务的权利马上中止。
-从那时起,用户没有权利,本网站也没有义务传送任何未处理的信息或未完成的服务给用户或第三方。
-15.通告
-所有发给用户的通告都可通过重要页面的公告或电子邮件或常规的信件传送。
-服务条款的修改、服务变更、或其它重要事件的通告都会以此形式进行。
-16.信息内容的所有权
-本网站定义的信息内容包括:文字、软件、声音、相片、录象、图表;
-在广告中全部内容;本网站为用户提供的其它信息。
-所有这些内容受版权、商标、标签和其它财产所有权法律的保护。
-所以,用户只能在本网站和广告商授权下才能使用这些内容,而不能擅自复制、再造这些内容、或创造与内容有关的派生产品。
-17.法律
-本网站信息服务条款要与中华人民共和国的法律解释一致。
-用户和本网站一致同意服从本网站所在地有管辖权的法院管辖。
-如发生本网站服务条款与中华人民共和国法律相抵触时,则这些条款将完全按法律规定重新解释,而其它条款则依旧保持对用户的约束力。</pre>
-            </div>
-        </div>
-        <script src="./uform.js" type="text/javascript"></script>
-        <!--通用函数区域 -->
-        <!--注册命名空间 -->
-        <script src="./js/UForm/Main.js" type="text/javascript"></script>
-        <!--通用函数区域 -->
-        <script src="./js/UForm/Common.js" type="text/javascript"></script>
-        <script src="./js/UForm/Element.js" type="text/javascript"></script>
-        <script src="./js/UForm/Cookie.js" type="text/javascript"></script>
-        <script src="./js/UForm/Event.js" type="text/javascript"></script>
-        <!--字符串处理区域 -->
-        <script src="./js/UForm/Type.js" type="text/javascript"></script>
-        <!--js获取客服端的信息 -->
-        <script src="./js/UForm/ClientInfo.js" type="text/javascript"></script>
-        <!--选择器 -->
-        <script src="./js/UForm/Selector.js" type="text/javascript"></script>
-        <!--浏览器兼容处理 -->
-        <script src="./js/UForm/Compatible.js" type="text/javascript"></script>
-        <!--数据处理 -->
-        <script src="./js/UForm/Json.js" type="text/javascript"></script>
-        <!--动态加载 -->
-        <script src="./js/UForm/DynamicLoad.js" type="text/javascript"></script>
-        <script src="./js/UForm/MainStart.js" type="text/javascript"></script>
-        <!--封装好的上传 -->
-        <script src="./js/UForm/UPload.js" type="text/javascript"></script>
-        <!--最新的图片预览 -->
-        <script src="./js/UForm/Image.js" type="text/javascript"></script>
-        <!--ajax加载局域 -->
-        <script src="./js/UForm/Ajax.js" type="text/javascript"></script>
-        <!--导航切换效果 -->
-        <script src="./js/Common/Switch.js" type="text/javascript"></script>
-        <!--分页控件 -->
-        <script src="./js/Controls/Basic/Page.js" type="text/javascript"></script>
-        <!--时间处理区域 -->
-        <script src="./js/UForm/Date.js" type="text/javascript"></script>
-        <!--Ajax 前进后退 -->
-        <script src="./js/UForm/Navigation.js" type="text/javascript"></script>
-        <!--窗体操作使用 -->
-        <script src="./js/UForm/WindowFunction.js" type="text/javascript"></script>
-        <!--数学函数 -->
-        <script src="./js/UForm/Math.js" type="text/javascript"></script>
-        <!--跨域加载1473 -->
-        <script src="./js/UForm/CrossDomain.js" type="text/javascript"></script>
-        <!--编辑器功能 -->
-        <script src="./js/UForm/Editor.js" type="text/javascript"></script>
-        <!--加密函数区域 -->
-        <script src="./js/UForm/Encrypted.js" type="text/javascript"></script>
-        <!--二维码-->
-        <script src="./js/UForm/QRCode.js" type="text/javascript"></script>
-        <!--广告区域 -->
-        <script src="./js/Common/Advertisement.js" type="text/javascript"></script>
-        <!--事件 -->
-        <script src="./js/Common/Common.js" type="text/javascript"></script>
-        <!--网盘上传 -->
-        <script src="./js/Common/Permission.js" type="text/javascript"></script>
-        <!--网盘权限 -->
-        <script src="./js/Common/Upload.js" type="text/javascript"></script>
-        <!--数据处理 -->
-        <!--url引导 -->
-        <script src="./js/Common/Url.js" type="text/javascript"></script>
-        <!--桌面参数 -->
-        <!--初始化桌面 -->
-        <script src="./js/Desktop/Onload.js" type="text/javascript"></script>
-        <!--桌面应用 -->
-        <script src="./js/Desktop/DeskTop.js" type="text/javascript"></script>
-        <!--任务栏 -->
-        <script src="./js/Desktop/taskbar.js" type="text/javascript"></script>
-        <!--背景设置 -->
-        <script src="./js/Desktop/Background.js" type="text/javascript"></script>
-        <!--计时器 -->
-        <script src="./js/Common/Timer.js" type="text/javascript"></script>
-        <script src="./js/Office/Office.js" type="text/javascript"></script>
-        <script src="./js/Office/Word/WordEditor.js" type="text/javascript"></script>
-        <!--txt使用 -->
-        <script src="./js/Text/Text.js" type="text/javascript"></script>
-        <!--轮训服务-->
-        <script src="./js/Office/Poll.js" type="text/javascript"></script>
-    </div>
-</body>
-
-</html>

+ 0 - 104
dist/www/CocoRoboDesktop/jsMemo/index.html

@@ -1,104 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN">
-
-<head>
-    <meta charset="UTF-8" />
-    <title>js便笺</title>
-    <style type="text/css">
-        body {
-            margin: 0;
-            padding: 0;
-            background-color: #fff;
-        }
-        
-        .note-container {
-            position: absolute;
-            width: 300px;
-            height: 400px;
-            background-color: #f1f180;
-            box-shadow: 0 3px 20px rgba(0, 0, 0, .25);
-            border-radius: 5px;
-            overflow: hidden;
-            box-shadow: 0 0 20px #000;
-        }
-        
-        .note-title {
-            position: relative;
-            width: 100%;
-            color: #000;
-            background-color: #e4be32;
-            user-select: none;
-            cursor: default;
-        }
-        
-        .note-title h6 {
-            margin: 0;
-            padding-left: 15px;
-            font-size: 16px;
-            font-weight: 700;
-            height: 40px;
-            line-height: 40px;
-        }
-        
-        .note-title .btn-close {
-            position: absolute;
-            height: 40px;
-            width: 40px;
-            line-height: 40px;
-            right: 0;
-            top: 0;
-            color: #000;
-            text-align: center;
-            text-decoration: none;
-        }
-        
-        .note-title .btn-close:hover {
-            background-color: #c3a01e;
-            color: #fff;
-        }
-        
-        .note-content {
-            height: 300px;
-            padding: 10px;
-            overflow-y: auto;
-            outline: none;
-        }
-        
-        .note-footer {
-            height: 40px;
-            line-height: 40px;
-            display: -webkit-flex;
-            display: -moz-flex;
-            display: -ms-flex;
-            display: -o-flex;
-            display: flex;
-        }
-        
-        .note-footer .btn-new,
-        .note-footer .btn-remove {
-            flex: 1;
-            width: 40px;
-            height: 40px;
-            color: #333;
-            text-align: center;
-            font-size: 16px;
-            font-weight: 700;
-            text-decoration: none;
-            outline: none;
-            border: none;
-            background-color: #e4be32;
-        }
-        
-        .note-footer .btn-new:hover,
-        .note-footer .btn-remove:hover {
-            opacity: 0.7;
-            color: #fff;
-        }
-    </style>
-    <script type="text/javascript" src="js/app.js"></script>
-</head>
-
-<body>
-</body>
-
-</html>

+ 0 - 281
dist/www/CocoRoboDesktop/jsMemo/js/app.js

@@ -1,281 +0,0 @@
-(function(global, noGlobal) {
-
-  class StickyNote {
-    constructor(options) {
-      this.init(options);
-    }
-
-    init(options) {
-      Object.assign(this, config, options);
-      this.id = this.id ? this.id : new Date().getTime();
-      StickyNote.top = Math.max(StickyNote.top, this.layer);
-      if(!this.root) {
-        this.root = document.body;
-      }
-      this.container = document.createElement('div');
-      this.container.classList.add(this.className || 'note-container');
-      this.root.appendChild(this.container);
-      this.render();
-      this.bindEvent();
-    }
-
-    save() {
-      this.content = this.noteContent.innerHTML;
-      store.set(this.id, {
-        content: this.content || '',
-        postTime: new Date().getTime(),
-        x: this.x,
-        y: this.y,
-        layer: this.layer
-      });
-    }
-
-    close() {
-      if (this.root) {
-        this.root.removeChild(this.container);
-      }
-    }
-
-    bindEvent() {
-      var pos = {}, self = this, canMove = false;
-      addEvent(this.titleBar, 'mousedown', function(e) {
-        pos.x = e.clientX - self.container.offsetLeft;
-        pos.y = e.clientY - self.container.offsetTop;
-        if (e.button == 0) {
-          canMove = true;
-        }
-      });
-      addEvent(document, 'mousemove', function(e) {
-        if (!canMove) return;
-        var
-        x = Math.min( document.documentElement.clientWidth - self.width, Math.max(e.clientX - pos.x, 0)),
-        y = Math.min( document.documentElement.clientHeight - self.height, Math.max(e.clientY - pos.y, 0));
-
-        self.container.style.left = x  + 'px';
-        self.container.style.top = y + 'px';
-      });
-      addEvent(document, 'mouseup', function(e) {
-        canMove = false;
-      });
-
-      addEvent(self.noteContent, 'keyup', function(e) {
-        self.save();
-      });
-
-      addEvent(self.btnClose, 'click', function(e) {
-        self.close();
-        self.save();
-      })
-
-      addEvent(self.btnNew, 'click', function(e) {
-        var x = self.x,
-            y = self.y,
-            maxWidth = document.documentElement.clientWidth - self.width,
-            maxHeight = document.documentElement.clientHeight - self.height;
-        if ( x >= maxWidth || x < 0 ) {
-          vx *= -1;
-        }
-
-        if ( y >= maxHeight || y < 0 ) {
-          vy *= -1;
-        }
-
-        x = x + 20 * vx;
-        y = y + 20 * vy;
-
-        new StickyNote({
-          root: self.root,
-          x: x,
-          y: y,
-          layer: StickyNote.top++
-        });
-      });
-      addEvent(self.btnRemove, 'click', function(e) {
-        store.remove(self.id);
-        self.close();
-      })
-
-      addEvent(self.container, 'mousedown', function(e) {
-        if (e.button != 0) return;
-        self.layer = StickyNote.top++;
-        self.container.style.zIndex = self.layer;
-      });
-
-      addEvent(self.container, 'mouseup', function(e) {
-        self.x = self.container.offsetLeft || 0;
-        self.y = self.container.offsetTop || 0;
-        self.save();
-      });
-    }
-
-    render() {
-      var self = this;
-      self.container.innerHTML = template.replace(/\{\{([^\}]+)\}\}/g, ($0, $1) =>  self[$1]);
-      self.titleBar = self.container.querySelector('.note-title');
-      self.noteContent = self.container.querySelector('.note-content');
-      self.btnClose = self.container.querySelector('.btn-close');
-      self.btnNew = self.container.querySelector('.btn-new');
-      self.btnRemove = self.container.querySelector('.btn-remove');
-      self.container.style.position = 'absolute';
-      self.container.style.left = self.x + 'px';
-      self.container.style.top = self.y + 'px';
-      self.noteContent.innerHTML = self.content;
-      self.container.data = self;
-      self.container.style.zIndex = self.layer;
-      self.save();
-    }
-  }
-
-  StickyNote.top = 0;
-  var vx = 1, vy = 1;
-  const config = {
-    id: null,
-    root: null,
-    title: '便笺',
-    btnCloseTip: '关闭',
-    textBtnNew: '新建笔记',
-    textBtnRemove: '删除笔记',
-    container: null,
-    titleBar: null,
-    width: 300,
-    height: 400,
-    x: 0,
-    y: 0,
-    layer: 0,
-    content: '',
-  };
-
-
-  const template = [
-    '<div class="note-title">',
-    '   <h6>{{title}}</h6>',
-    '   <a href="javascript:;" title="{{btnCloseTip}}" class="btn-close">&times;</a>',
-    '</div>',
-    '<div class="note-content" contenteditable="true"></div>',
-    '<div class="note-footer">',
-    '   <button class="btn-new">{{textBtnNew}}</button>',
-    '   <button class="btn-remove">{{textBtnRemove}}</button>',
-    '</div>'
-  ].join('\n');
-
-  function addEvent(el, type, fn) {
-    var ieType = 'on' + type;
-    if ('addEventListener' in window) {
-      addEventListener.call(el, type, fn, false);
-    } else if ('attachEvent' in el) {
-      attachEvent.call(el, ieType, fn, false);
-    } else {
-      el[ieType] = fn;
-    }
-  }
-
-  function removeEvent(el, type, fn) {
-    var ieType = 'on' + type;
-    if ('removeEventListener' in window) {
-      removeEventListener.call(el, type, fn, false);
-    } else if ('dispatchEvent' in el) {
-      el.dispatch(ieType, fn);
-    } else {
-      el[ieType] = null;
-    }
-  }
-
-  const store = {
-    appId: 'stickyNote',
-    data: {},
-    get(id) {
-      return store.data ? store.data[id] : {};
-    },
-
-    set(id, value) {
-      store.data[id] = value;
-    },
-
-    remove(id) {
-      delete store.data[id];
-    },
-
-    setup() {
-      try {
-        store.data =  JSON.parse(localStorage[store.appId]) || {};
-      } catch(e) {
-        store.data = {};
-      }
-      var data = store.data;
-      if ( !isEmpty(data) ) {
-        for(var k in data) {
-          new StickyNote({
-            root: document.body,
-            id: k,
-            x: data[k].x,
-            y: data[k].y,
-            layer: data[k].layer,
-            content: data[k].content
-          });
-        }
-      } else {
-        new StickyNote({
-          root:document.body,
-          x: (document.documentElement.clientWidth - config.width) / 2,
-          y: (document.documentElement.clientHeight - config.height) / 2,
-        });
-      }
-      window.onunload = function() {
-        localStorage.setItem(store.appId, JSON.stringify(data));
-      }
-    },
-    
-    unsetup() {
-      store.data = {};
-      localStorage.removeItem(store.appId);
-      window.onunload = null;
-    }
-  };
-
-  function isEmpty(o) {
-    if (typeof o === 'string' || Array.isArray(o) ) {
-      return o.length === 0;
-    } else if (typeof o === 'object') {
-      for(let k in o) {
-        if (!o.hasOwnProperty(k)) continue;
-        return false;
-      }
-      return true;
-    } else {
-      return  o == null;
-    }
-  }
-
-  var domReady = {
-    tasks: [],
-    isReady: false,
-    ready: function(fn) {
-      domReady.tasks.push(fn);
-      if (domReady.isReady) {
-        return domReady.completed();
-      } else {
-        addEvent(document, 'DOMContentLoaded', domReady.completed);
-        addEvent(document, 'readystatechange', function() {
-          if ( /^(?:interactive|complete)$/.test(document.readyState)) {
-            domReady.completed();
-            removeEvent(document, 'readystatechange', arguments.callee);
-          }
-        });
-      }
-    },
-    completed: function() {
-      removeEvent(document, 'DOMContentLoaded', domReady.completed);
-      domReady.isReady = true;
-      domReady.execTasks();
-    },
-    execTasks: function() {
-      while( domReady.tasks.length ) {
-        domReady.tasks.shift()();
-      };
-    }
-  }
-
-  domReady.ready(store.setup);
-
-  window.store = store;
-})();

+ 1 - 1
src/components/pages/CaseDesignGM.vue

@@ -371,7 +371,7 @@ export default {
   },
   methods: {
     jump(cid) {
-      window.parent.postMessage({ cid: cid, screenType: "3" }, "*");
+      window.parent.postMessage({ cid: cid, screenType: "3gm" }, "*");
     },
     handleClose(done) {
       done();

+ 1 - 1
src/components/pages/courseGM.vue

@@ -350,7 +350,7 @@ export default {
       //     "&userid=" +
       //     this.userid
       // );
-      window.parent.postMessage({ cid: cid, screenType: "2" }, "*");
+      window.parent.postMessage({ cid: cid, screenType: "2gm" }, "*");
     },
     handle_remove(file, fileList) {
       var _tmp = this.fileList;

Some files were not shown because too many files changed in this diff