Commit b108971a57792dc56ebdbd06e99aef8b523894a1

Authored by ykxie
1 parent 1ddd2900

fix bug

src/gxb-ide/CodingEditer.js
@@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
13 firstPlay: 1, // 第一次播放 13 firstPlay: 1, // 第一次播放
14 pauseValue: [], 14 pauseValue: [],
15 isRecordPage: 1, 15 isRecordPage: 1,
  16 + flag: true, // 解决多次点击
16 init: function(){ 17 init: function(){
17 console.log('CodingEditer'); 18 console.log('CodingEditer');
18 }, 19 },
@@ -95,7 +96,7 @@ @@ -95,7 +96,7 @@
95 */ 96 */
96 playCoding: function(){ 97 playCoding: function(){
97 CodingEditer.editable(1); 98 CodingEditer.editable(1);
98 - 99 + CodingEditer.flag = false;
99 if (CodingEditer.firstPlay == 0) { 100 if (CodingEditer.firstPlay == 0) {
100 CodingEditer.setCodeMirrorValue(); 101 CodingEditer.setCodeMirrorValue();
101 Dir.showEdite({'treeNode': CodingEditer.treeSelectNode}); 102 Dir.showEdite({'treeNode': CodingEditer.treeSelectNode});
@@ -360,7 +361,7 @@ @@ -360,7 +361,7 @@
360 }; 361 };
361 362
362 CodingEditer.records.push(recordobj); // 添加每次输入对象 363 CodingEditer.records.push(recordobj); // 添加每次输入对象
363 - 364 + console.log(CodingEditer.records)
364 CodingEditer.record_startime = currenttime; //设定起始时间 365 CodingEditer.record_startime = currenttime; //设定起始时间
365 } 366 }
366 367
@@ -384,7 +385,7 @@ @@ -384,7 +385,7 @@
384 record.playTime = new Date().getTime(); // 播放开始时间 385 record.playTime = new Date().getTime(); // 播放开始时间
385 386
386 console.log("==================++======================"); 387 console.log("==================++======================");
387 - console.log(record); 388 + console.log(record.runtimeArgus);
388 389
389 if (record.code == 0 || record.code == 1) { 390 if (record.code == 0 || record.code == 1) {
390 var iterm = new Iterm(); 391 var iterm = new Iterm();
@@ -395,13 +396,20 @@ @@ -395,13 +396,20 @@
395 error: record.error || '', 396 error: record.error || '',
396 code: record.code || '' 397 code: record.code || ''
397 }; 398 };
398 - iterm.compileResult(resultData) 399 + iterm.compileResult(resultData, record.runtimeArgus)
  400 + }else if (record.runtimeArgus){
  401 + var iterm = new Iterm();
  402 + iterm.compileResult(resultData, record.runtimeArgus)
399 } 403 }
400 404
  405 +
  406 +
  407 +
401 CodingEditer.triggertotal += 1; 408 CodingEditer.triggertotal += 1;
402 409
403 if (CodingEditer.triggertotal === CodingEditer.records.length && !replay_type) { 410 if (CodingEditer.triggertotal === CodingEditer.records.length && !replay_type) {
404 CodingEditer.editable(0); 411 CodingEditer.editable(0);
  412 + CodingEditer.flag = true
405 if (CodingEditer.isRecordPage) { 413 if (CodingEditer.isRecordPage) {
406 $('#recordertab a:first').tab('show'); 414 $('#recordertab a:first').tab('show');
407 } 415 }
src/gxb-ide/Dir.js
@@ -55,7 +55,7 @@ @@ -55,7 +55,7 @@
55 }, 55 },
56 initIdePage: function(el, id, isPlayPage, role){ 56 initIdePage: function(el, id, isPlayPage, role){
57 var _url = "../data/" + id + ".json"; 57 var _url = "../data/" + id + ".json";
58 - var _lang = getLangName(id); 58 + var _lang = Dir.getLangName(id);
59 59
60 console.log('======================='); 60 console.log('=======================');
61 console.log('isPlayPage ----- ' + isPlayPage); 61 console.log('isPlayPage ----- ' + isPlayPage);
@@ -69,6 +69,7 @@ @@ -69,6 +69,7 @@
69 contentType: "application/json", 69 contentType: "application/json",
70 success: function(res) { 70 success: function(res) {
71 console.log(res); 71 console.log(res);
  72 + setTitle(res.languageid);
72 Dir.treeData = res[_lang]; 73 Dir.treeData = res[_lang];
73 Dir.treeObj = $.fn.zTree.init($(el), setting, Dir.treeData); 74 Dir.treeObj = $.fn.zTree.init($(el), setting, Dir.treeData);
74 addTextareaPage(Dir.treeData); 75 addTextareaPage(Dir.treeData);
@@ -293,10 +294,43 @@ @@ -293,10 +294,43 @@
293 // $('.CodeMirror').height(recordHeight); 294 // $('.CodeMirror').height(recordHeight);
294 // $('.CodeMirror-lines').height(recordHeight); 295 // $('.CodeMirror-lines').height(recordHeight);
295 // $('.CodeMirror-gutter').height(recordHeight); 296 // $('.CodeMirror-gutter').height(recordHeight);
  297 + },
  298 + getLangName: function(langid){
  299 + var langid = parseInt(langid);
  300 + var _langName;
  301 + switch (langid) {
  302 + case 10:
  303 + _langName = "java";
  304 + break;
  305 + case 35:
  306 + _langName = "html";
  307 + break;
  308 + case 43:
  309 + _langName = "Objective-C";
  310 + break;
  311 + case 11:
  312 + _langName = "C";
  313 + break;
  314 + case 82:
  315 + _langName = "C++";
  316 + break;
  317 + case 29:
  318 + _langName = "php";
  319 + break;
  320 + case 4:
  321 + _langName = "python";
  322 + break;
  323 + case 40:
  324 + _langName = "SQL";
  325 + break;
  326 + case 117:
  327 + _langName = "R";
  328 + break;
  329 + default:
  330 + break;
  331 + }
296 332
297 -  
298 -  
299 - 333 + return _langName;
300 } 334 }
301 } 335 }
302 336
@@ -468,43 +502,7 @@ @@ -468,43 +502,7 @@
468 502
469 } 503 }
470 504
471 - // 获取编程语言  
472 - function getLangName(langid){  
473 - var _langName;  
474 - switch (langid) {  
475 - case 10:  
476 - _langName = "java";  
477 - break;  
478 - case 35:  
479 - _langName = "html";  
480 - break;  
481 - case 43:  
482 - _langName = "Objective-C";  
483 - break;  
484 - case 11:  
485 - _langName = "C";  
486 - break;  
487 - case 82:  
488 - _langName = "C++";  
489 - break;  
490 - case 29:  
491 - _langName = "php";  
492 - break;  
493 - case 4:  
494 - _langName = "python";  
495 - break;  
496 - case 40:  
497 - _langName = "SQL";  
498 - break;  
499 - case 117:  
500 - _langName = "R";  
501 - break;  
502 - default:  
503 - break;  
504 - }  
505 505
506 - return _langName;  
507 - }  
508 506
509 var isPlayDataError = false; 507 var isPlayDataError = false;
510 function programFileListToTreeJson(arr, lang){ 508 function programFileListToTreeJson(arr, lang){
@@ -587,8 +585,8 @@ @@ -587,8 +585,8 @@
587 dataType: "json", 585 dataType: "json",
588 contentType: "application/json", 586 contentType: "application/json",
589 success: function(res) { 587 success: function(res) {
590 - console.log('++++++++--------');  
591 console.log(res) 588 console.log(res)
  589 + setTitle(res.languageid);
592 590
593 var coderecords = res.codeRecordList 591 var coderecords = res.codeRecordList
594 var audioUrl = res.audioUrl; 592 var audioUrl = res.audioUrl;
@@ -645,6 +643,12 @@ @@ -645,6 +643,12 @@
645 }); 643 });
646 } 644 }
647 645
  646 + // 设置 title
  647 + function setTitle(languageid){
  648 + var languageName = Dir.getLangName(languageid);
  649 + $("title").html(languageName);
  650 + }
  651 +
648 652
649 $(window).resize(function() { 653 $(window).resize(function() {
650 console.log('重置屏幕') 654 console.log('重置屏幕')
src/gxb-ide/Iterm.js
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 $('#cancel_compile').on('click', function(){ _this.cancelCompile(); }) 25 $('#cancel_compile').on('click', function(){ _this.cancelCompile(); })
26 $('#full-screen').on('click', function(){ _this.fullScreen(); }) 26 $('#full-screen').on('click', function(){ _this.fullScreen(); })
27 $('#back-screen').on('click', function(){ _this.exitFullscreen(); }) 27 $('#back-screen').on('click', function(){ _this.exitFullscreen(); })
  28 + $(document).on('focus', '#runtimeArgus', function(){ })
28 }, 29 },
29 compile: function(){ 30 compile: function(){
30 var _this = this; 31 var _this = this;
@@ -68,7 +69,6 @@ @@ -68,7 +69,6 @@
68 } 69 }
69 70
70 compileResult(data, value) 71 compileResult(data, value)
71 -  
72 }, 72 },
73 saveCompile: function(){ 73 saveCompile: function(){
74 console.log(this.compileStatus) 74 console.log(this.compileStatus)
@@ -85,7 +85,6 @@ @@ -85,7 +85,6 @@
85 CodingEditer.records[length].error = CodingEditer.compileResultData.error; 85 CodingEditer.records[length].error = CodingEditer.compileResultData.error;
86 CodingEditer.records[length].compilerInfo = CodingEditer.compileResultData.compilerInfo; 86 CodingEditer.records[length].compilerInfo = CodingEditer.compileResultData.compilerInfo;
87 CodingEditer.records[length].code = CodingEditer.compileResultData.code; 87 CodingEditer.records[length].code = CodingEditer.compileResultData.code;
88 -  
89 }, 88 },
90 cancelCompile: function(){ 89 cancelCompile: function(){
91 console.log(this.compileStatus) 90 console.log(this.compileStatus)
@@ -110,6 +109,7 @@ @@ -110,6 +109,7 @@
110 $('.pause-shodow').hide() 109 $('.pause-shodow').hide()
111 $('.compile-reslut').hide(); 110 $('.compile-reslut').hide();
112 $('.contrl-shodow').hide(); 111 $('.contrl-shodow').hide();
  112 + $('.contrl-shodow').hide();
113 113
114 Hourglass.pauseTimer(); 114 Hourglass.pauseTimer();
115 recorder.pause(); 115 recorder.pause();
src/gxb-ide/ToolBox.js
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 $('#stop-recording').show() 75 $('#stop-recording').show()
76 var _this = this; 76 var _this = this;
77 _this.readOnly(0) 77 _this.readOnly(0)
78 - 78 +
79 setTimeout(function(){ 79 setTimeout(function(){
80 Dir.treeObj.setting.edit.showRenameBtn = false; 80 Dir.treeObj.setting.edit.showRenameBtn = false;
81 Dir.treeObj.setting.edit.enable = false; 81 Dir.treeObj.setting.edit.enable = false;
@@ -166,10 +166,14 @@ @@ -166,10 +166,14 @@
166 }, 166 },
167 playCode: function(){ 167 playCode: function(){
168 console.log('播放代码=-------------------------'); 168 console.log('播放代码=-------------------------');
169 - $('#audio')[0].play();  
170 - Hourglass.init()  
171 - CodingEditer.playCoding()  
172 - console.log('播放代码=-------------------------'); 169 + if (CodingEditer.flag) {
  170 + $('#audio')[0].play();
  171 + Hourglass.init()
  172 + CodingEditer.playCoding()
  173 + }else{
  174 + console.log('播放代码=-------------------------');
  175 + return false;
  176 + }
173 }, 177 },
174 uploadAudio: function(){ 178 uploadAudio: function(){
175 console.log('uploadAudio'); 179 console.log('uploadAudio');
src/js/c.js
@@ -5,8 +5,6 @@ $(function(){ @@ -5,8 +5,6 @@ $(function(){
5 var _languageid = getQuery('languageid'); 5 var _languageid = getQuery('languageid');
6 var _userId = getQuery('userId'); 6 var _userId = getQuery('userId');
7 var _role = getQuery('role'); 7 var _role = getQuery('role');
8 -  
9 - // $("title").html("C 语言");  
10 8
11 // new一个基本IDE结构 9 // new一个基本IDE结构
12 var ide = new GxbIde({ 10 var ide = new GxbIde({
@@ -58,6 +56,42 @@ $(function(){ @@ -58,6 +56,42 @@ $(function(){
58 $('#studentCompileBtn').show(); 56 $('#studentCompileBtn').show();
59 } 57 }
60 58
  59 +
  60 + // 插入标准输入
  61 + $(document).on('focus', '#runtimeArgus', function(){
  62 + console.log('focus');
  63 + CodingEditer.input_focus_time = new Date().getTime(); // 获取焦点的时间
  64 + console.log(CodingEditer.records);
  65 + })
  66 + $(document).on('blur', '#runtimeArgus', function(){
  67 + console.log('blur');
  68 + console.log('blur');
  69 + console.log('blur');
  70 + var recordobj = {
  71 + intervaltime: CodingEditer.input_focus_time - CodingEditer.record_startime,
  72 + editor: 'runtimeArgus',
  73 + changeobj: {
  74 + from: {
  75 + ch: 0,
  76 + line: 0,
  77 + },
  78 + text: '',
  79 + to: {
  80 + ch: 0,
  81 + line: 0,
  82 + }
  83 + },
  84 + runtimeArgus: $(this).val(),
  85 + trigger: 0,
  86 + playTime: 0
  87 + };
  88 +
  89 + CodingEditer.record_startime = CodingEditer.input_focus_time; // 获取焦点的时间
  90 + CodingEditer.records.push(recordobj);
  91 + console.log(CodingEditer.records);
  92 + })
  93 +
  94 +
61 function recordReady(){ 95 function recordReady(){
62 var seconds = 0; 96 var seconds = 0;
63 var countdown = setInterval(function() { 97 var countdown = setInterval(function() {
src/js/player.js
@@ -5,7 +5,9 @@ $(function(){ @@ -5,7 +5,9 @@ $(function(){
5 var _codeReplayId = getQuery('codeReplayId'); 5 var _codeReplayId = getQuery('codeReplayId');
6 var player = $.AudioPlayer; 6 var player = $.AudioPlayer;
7 7
8 - $("title").html("C 语言"); 8 + var languageName = Dir.getLangName(_languageid);
  9 + $("title").html(languageName);
  10 +
9 // new一个基本IDE结构 11 // new一个基本IDE结构
10 var ide = new GxbIde({ 12 var ide = new GxbIde({
11 el: '#folder', 13 el: '#folder',
@@ -21,73 +23,9 @@ $(function(){ @@ -21,73 +23,9 @@ $(function(){
21 }); 23 });
22 24
23 console.log(_role) 25 console.log(_role)
24 - // if (_role == 0) {  
25 - // playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api";  
26 - // getCodeData(playUrl)  
27 - // } else if (_role == 1) {  
28 - // playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api";  
29 - // getCodeData(playUrl)  
30 - // }  
31 -  
32 - CodingEditer.isRecordPage = 0;  
33 -  
34 - // // 获取code  
35 - // function getCodeData(url){  
36 - // console.log(url)  
37 - // $.ajax({  
38 - // type: "get",  
39 - // url: url,  
40 - // dataType: "json",  
41 - // contentType: "application/json",  
42 - // success: function(res) {  
43 - // console.log('++++++++--------');  
44 - // console.log(res)  
45 - // var coderecords = res.codeRecordList  
46 - // var audioUrl = res.audioUrl;  
47 26
48 - // initTrigger(coderecords)  
49 - // AudioPlayer(audioUrl)  
50 - // },  
51 - // error: function(error) {  
52 - // console.log(error)  
53 - // }  
54 - // });  
55 - // }  
56 -  
57 - // // 初始化tigger  
58 - // function initTrigger(records){  
59 - // var records = records  
60 - // for (var i = 0, leg = records.length; i < leg; i++) {  
61 - // if (!records[i].trigger) records[i].trigger = 0;  
62 - // records[i].changeobj = jQuery.parseJSON(records[i].changeobj);  
63 - // records[i].treefile = jQuery.parseJSON(records[i].treefile);  
64 - // }  
65 - // CodingEditer.records = records;  
66 - // } 27 + CodingEditer.isRecordPage = 0;
67 28
68 - // // 初始化播放音频控制条  
69 - // function AudioPlayer(audioUrl){  
70 - // player.init({  
71 - // container: '#audioWrap',  
72 - // source: "https://gxb-file.oss-cn-beijing.aliyuncs.com" + audioUrl,  
73 - // imagePath: '../js/audioPlayer/image',  
74 - // debuggers: false,  
75 - // allowSeek: false,  
76 - // playCallback: function() { // 播放  
77 - // console.log('++++++++');  
78 - // CodingEditer.playCoding();  
79 - // },  
80 - // pauseCallback: function() { // 暂停  
81 - // CodingEditer.audioTime = parseInt(player.elements.audioDom.currentTime*1000);  
82 - // CodingEditer.pauseCode();  
83 - // },  
84 - // seekedCallback: function() { // 拖拽  
85 - // },  
86 - // endedCallback: function() { // 结束播放  
87 - // playEnd()  
88 - // }  
89 - // });  
90 - // }  
91 29
92 30
93 }) 31 })
94 \ No newline at end of file 32 \ No newline at end of file
src/v1.1/index.html
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <html lang="en"> 2 <html lang="en">
3 <head> 3 <head>
4 <meta charset="UTF-8"> 4 <meta charset="UTF-8">
5 - <title>JAVA</title> 5 + <title></title>
6 <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css"> 6 <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css">
7 <link href="../css/codemirror.css" rel="stylesheet"> 7 <link href="../css/codemirror.css" rel="stylesheet">
8 <link href="../css/reset.css" rel="stylesheet"> 8 <link href="../css/reset.css" rel="stylesheet">
@@ -25,9 +25,7 @@ @@ -25,9 +25,7 @@
25 // $('.my-button').click(function(){ 25 // $('.my-button').click(function(){
26 // var l = Ladda.create(this); 26 // var l = Ladda.create(this);
27 // l.start(); 27 // l.start();
28 -  
29 // }) 28 // })
30 -  
31 // }) 29 // })
32 </script> 30 </script>
33 31
src/v1.1/player.html
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <html lang="en"> 2 <html lang="en">
3 <head> 3 <head>
4 <meta charset="UTF-8"> 4 <meta charset="UTF-8">
5 - <title>JAVA</title> 5 + <title></title>
6 <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css"> 6 <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css">
7 <link href="../css/codemirror.css" rel="stylesheet"> 7 <link href="../css/codemirror.css" rel="stylesheet">
8 <link href="../css/reset.css" rel="stylesheet"> 8 <link href="../css/reset.css" rel="stylesheet">