| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 | 
							- <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>
 
 
  |