Commit 08286742064a6d1e7c6a5fb06e3866e054cd7ff5
1 parent
6fc2f36b
fix play compile
Showing
12 changed files
with
361 additions
and
50 deletions
src/css/ide.css
| @@ -287,3 +287,12 @@ html, body { | @@ -287,3 +287,12 @@ html, body { | ||
| 287 | top: 50%; | 287 | top: 50%; |
| 288 | left: 50%; | 288 | left: 50%; |
| 289 | transform: translate(-50%, -50%); } | 289 | transform: translate(-50%, -50%); } |
| 290 | + | ||
| 291 | +#playFooter { | ||
| 292 | + height: 60px; | ||
| 293 | + width: 100%; | ||
| 294 | + z-index: 999; | ||
| 295 | + background-color: #23383f; | ||
| 296 | + padding: 10px 24px; } | ||
| 297 | + #playFooter #componentWrapper { | ||
| 298 | + width: 100%; } |
src/css/main.css
| @@ -209,3 +209,12 @@ html, body { | @@ -209,3 +209,12 @@ html, body { | ||
| 209 | top: 50%; | 209 | top: 50%; |
| 210 | left: 50%; | 210 | left: 50%; |
| 211 | transform: translate(-50%, -50%); } | 211 | transform: translate(-50%, -50%); } |
| 212 | + | ||
| 213 | +#playFooter { | ||
| 214 | + height: 60px; | ||
| 215 | + width: 100%; | ||
| 216 | + z-index: 999; | ||
| 217 | + background-color: #23383f; | ||
| 218 | + padding: 10px 24px; } | ||
| 219 | + #playFooter #componentWrapper { | ||
| 220 | + width: 100%; } |
src/gxb-ide/CodingEditer.js
| @@ -76,6 +76,10 @@ | @@ -76,6 +76,10 @@ | ||
| 76 | */ | 76 | */ |
| 77 | playCoding: function(){ | 77 | playCoding: function(){ |
| 78 | CodingEditer.resetCodeMirrorValue(1) | 78 | CodingEditer.resetCodeMirrorValue(1) |
| 79 | + var iterm = new Iterm(); | ||
| 80 | + iterm.compileResult() | ||
| 81 | + console.log('------------------CodingEditer.records') | ||
| 82 | + console.log(CodingEditer.records) | ||
| 79 | var playbackrecord = CodingEditer.records; | 83 | var playbackrecord = CodingEditer.records; |
| 80 | var starttime = 0; | 84 | var starttime = 0; |
| 81 | $('#recordertab a:eq(1)').tab('show'); | 85 | $('#recordertab a:eq(1)').tab('show'); |
| @@ -315,20 +319,19 @@ | @@ -315,20 +319,19 @@ | ||
| 315 | record.trigger = 1; //标记已运行 | 319 | record.trigger = 1; //标记已运行 |
| 316 | record.playTime = new Date().getTime(); // 播放开始时间 | 320 | record.playTime = new Date().getTime(); // 播放开始时间 |
| 317 | 321 | ||
| 318 | - // var iterm = new Iterm(); | ||
| 319 | - // var resultData = { | ||
| 320 | - // status: record.status || 200, | ||
| 321 | - // compilerInfo: record.compilerInfo || '', | ||
| 322 | - // content: record.content || '', | ||
| 323 | - // error: record.error || '', | ||
| 324 | - // code: record.code || '' | ||
| 325 | - // }; | ||
| 326 | - // console.log("================== _role ======================"); | ||
| 327 | - // console.log(record); | ||
| 328 | - // console.log(_role); | ||
| 329 | - // if (record.code == 0 || record.code == 1) { | ||
| 330 | - // iterm.compileResult(resultData, ecord.runtimeArgus) | ||
| 331 | - // } | 322 | + |
| 323 | + console.log("================== _role ======================"); | ||
| 324 | + if (record.code == 0 || record.code == 1) { | ||
| 325 | + var iterm = new Iterm(); | ||
| 326 | + var resultData = { | ||
| 327 | + status: record.status || 200, | ||
| 328 | + compilerInfo: record.compilerInfo || '', | ||
| 329 | + content: record.content || '', | ||
| 330 | + error: record.error || '', | ||
| 331 | + code: record.code || '' | ||
| 332 | + }; | ||
| 333 | + iterm.compileResult(resultData) | ||
| 334 | + } | ||
| 332 | 335 | ||
| 333 | CodingEditer.triggertotal += 1; | 336 | CodingEditer.triggertotal += 1; |
| 334 | 337 |
src/gxb-ide/ToolBox.js
| @@ -72,6 +72,7 @@ | @@ -72,6 +72,7 @@ | ||
| 72 | $('#start-recording').hide() | 72 | $('#start-recording').hide() |
| 73 | $('#stop-recording').show() | 73 | $('#stop-recording').show() |
| 74 | var _this = this; | 74 | var _this = this; |
| 75 | + _this.readOnly(0) | ||
| 75 | if (typeof _this.options.startCallback == 'function') { | 76 | if (typeof _this.options.startCallback == 'function') { |
| 76 | console.log('startCallback'); | 77 | console.log('startCallback'); |
| 77 | _this.options.startCallback(); | 78 | _this.options.startCallback(); |
| @@ -87,11 +88,9 @@ | @@ -87,11 +88,9 @@ | ||
| 87 | Hourglass.stopTimer() | 88 | Hourglass.stopTimer() |
| 88 | var _this = this; | 89 | var _this = this; |
| 89 | _this.readOnly(1) | 90 | _this.readOnly(1) |
| 90 | - console.log('-===============******************' + _this.options.role) | ||
| 91 | // 老师端录制停止录音 | 91 | // 老师端录制停止录音 |
| 92 | if (_this.options.role == 0) { | 92 | if (_this.options.role == 0) { |
| 93 | _this.stopAudio(); | 93 | _this.stopAudio(); |
| 94 | - console.log('-===============******************') | ||
| 95 | } | 94 | } |
| 96 | // 回调 | 95 | // 回调 |
| 97 | if (typeof _this.options.stopCallback == 'function') { | 96 | if (typeof _this.options.stopCallback == 'function') { |
| @@ -121,8 +120,6 @@ | @@ -121,8 +120,6 @@ | ||
| 121 | var _this = this; | 120 | var _this = this; |
| 122 | if (_this.options.role == 0) { | 121 | if (_this.options.role == 0) { |
| 123 | HZRecorder.get(function(rec) { | 122 | HZRecorder.get(function(rec) { |
| 124 | - console.log('-============================================') | ||
| 125 | - console.log(rec); | ||
| 126 | recorder = rec; | 123 | recorder = rec; |
| 127 | recorder.start(); | 124 | recorder.start(); |
| 128 | CodingEditer.initRecodesValue() | 125 | CodingEditer.initRecodesValue() |
src/index.html
| @@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
| 18 | <link href="css/recording.css" rel="stylesheet"> | 18 | <link href="css/recording.css" rel="stylesheet"> |
| 19 | 19 | ||
| 20 | <script> | 20 | <script> |
| 21 | - var gxb_api = "https://restful1.gaoxiaobang.com"; | 21 | + var gxb_api = "https://restful.gaoxiaobang.com"; |
| 22 | // var gxb_api = "http://192.168.80.236:8080" | 22 | // var gxb_api = "http://192.168.80.236:8080" |
| 23 | 23 | ||
| 24 | </script> | 24 | </script> |
src/js/player.js
| 1 | $(function(){ | 1 | $(function(){ |
| 2 | - $('#full-screen').click(function(){ | ||
| 3 | - var fullData = $(this).data('full'); | ||
| 4 | - launchFullScreen(document.getElementById("player")); | ||
| 5 | - $('#back-screen').show(); | ||
| 6 | - $('#full-screen').hide(); | 2 | + var _languageid = getQuery('languageid'); |
| 3 | + var _userId = getQuery('userId'); | ||
| 4 | + var _role = getQuery('role'); | ||
| 5 | + var _codeReplayId = getQuery('codeReplayId'); | ||
| 6 | + var player = $.AudioPlayer; | ||
| 7 | + | ||
| 8 | + $("title").html("C 语言"); | ||
| 9 | + // new一个基本IDE结构 | ||
| 10 | + var ide = new GxbIde({ | ||
| 11 | + el: '#folder', | ||
| 12 | + languageid: parseInt(_languageid) | ||
| 7 | }); | 13 | }); |
| 8 | 14 | ||
| 9 | - $('#back-screen').click(function(){ | ||
| 10 | - exitFullscreen(); | ||
| 11 | - $('#full-screen').show(); | ||
| 12 | - $('#back-screen').hide(); | ||
| 13 | - }) | ||
| 14 | - // 找到支持的方法, 使用需要全屏的 element 调用 | ||
| 15 | - function launchFullScreen(element) { | ||
| 16 | - if (element.requestFullscreen) { | ||
| 17 | - element.requestFullscreen(); | ||
| 18 | - } else if (element.mozRequestFullScreen) { | ||
| 19 | - element.mozRequestFullScreen(); | ||
| 20 | - } else if (element.webkitRequestFullscreen) { | ||
| 21 | - element.webkitRequestFullscreen(); | ||
| 22 | - } else if (element.msRequestFullscreen) { | ||
| 23 | - element.msRequestFullscreen(); | ||
| 24 | - } | 15 | + // 编译控制台 |
| 16 | + var iterm = new Iterm({ | ||
| 17 | + userId: _userId, | ||
| 18 | + languageId: _languageid | ||
| 19 | + }); | ||
| 20 | + | ||
| 21 | + console.log(_role) | ||
| 22 | + if (_role == 0) { | ||
| 23 | + playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api"; | ||
| 24 | + getCodeData(playUrl) | ||
| 25 | + } else if (_role == 1) { | ||
| 26 | + playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api"; | ||
| 27 | + getCodeData(playUrl) | ||
| 28 | + } | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | + | ||
| 33 | + // 获取code | ||
| 34 | + function getCodeData(url){ | ||
| 35 | + console.log(url) | ||
| 36 | + $.ajax({ | ||
| 37 | + type: "get", | ||
| 38 | + url: url, | ||
| 39 | + dataType: "json", | ||
| 40 | + contentType: "application/json", | ||
| 41 | + success: function(res) { | ||
| 42 | + console.log('++++++++--------'); | ||
| 43 | + console.log(res) | ||
| 44 | + var coderecords = res.codeRecordList | ||
| 45 | + var audioUrl = res.audioUrl; | ||
| 46 | + | ||
| 47 | + initTrigger(coderecords) | ||
| 48 | + AudioPlayer(audioUrl) | ||
| 49 | + }, | ||
| 50 | + error: function(error) { | ||
| 51 | + console.log(error) | ||
| 52 | + } | ||
| 53 | + }); | ||
| 25 | } | 54 | } |
| 26 | 55 | ||
| 27 | - function exitFullscreen() { | ||
| 28 | - if (document.exitFullscreen) { | ||
| 29 | - document.exitFullscreen(); | ||
| 30 | - } else if (document.mozExitFullScreen) { | ||
| 31 | - document.mozExitFullScreen(); | ||
| 32 | - } else if (document.webkitExitFullscreen) { | ||
| 33 | - document.webkitExitFullscreen(); | 56 | + // 初始化tigger |
| 57 | + function initTrigger(records){ | ||
| 58 | + var records = records | ||
| 59 | + for (var i = 0, leg = records.length; i < leg; i++) { | ||
| 60 | + if (!records[i].trigger) records[i].trigger = 0; | ||
| 61 | + records[i].changeobj = jQuery.parseJSON(records[i].changeobj); | ||
| 62 | + records[i].treefile = jQuery.parseJSON(records[i].treefile); | ||
| 34 | } | 63 | } |
| 64 | + CodingEditer.records = records; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + // 初始化播放音频控制条 | ||
| 68 | + function AudioPlayer(audioUrl){ | ||
| 69 | + player.init({ | ||
| 70 | + container: '#audioWrap', | ||
| 71 | + source: "https://gxb-file.oss-cn-beijing.aliyuncs.com" + audioUrl, | ||
| 72 | + imagePath: '../js/audioPlayer/image', | ||
| 73 | + debuggers: false, | ||
| 74 | + allowSeek: false, | ||
| 75 | + playCallback: function() { // 播放 | ||
| 76 | + console.log('++++++++'); | ||
| 77 | + CodingEditer.playCoding(); | ||
| 78 | + }, | ||
| 79 | + pauseCallback: function() { // 暂停 | ||
| 80 | + }, | ||
| 81 | + seekedCallback: function() { // 拖拽 | ||
| 82 | + }, | ||
| 83 | + endedCallback: function() { // 结束播放 | ||
| 84 | + playEnd() | ||
| 85 | + } | ||
| 86 | + }); | ||
| 35 | } | 87 | } |
| 36 | 88 | ||
| 37 | 89 |
src/js/player1.js
0 → 100644
| 1 | +$(function(){ | ||
| 2 | + $('#full-screen').click(function(){ | ||
| 3 | + var fullData = $(this).data('full'); | ||
| 4 | + launchFullScreen(document.getElementById("player")); | ||
| 5 | + $('#back-screen').show(); | ||
| 6 | + $('#full-screen').hide(); | ||
| 7 | + }); | ||
| 8 | + | ||
| 9 | + $('#back-screen').click(function(){ | ||
| 10 | + exitFullscreen(); | ||
| 11 | + $('#full-screen').show(); | ||
| 12 | + $('#back-screen').hide(); | ||
| 13 | + }) | ||
| 14 | + // 找到支持的方法, 使用需要全屏的 element 调用 | ||
| 15 | + function launchFullScreen(element) { | ||
| 16 | + if (element.requestFullscreen) { | ||
| 17 | + element.requestFullscreen(); | ||
| 18 | + } else if (element.mozRequestFullScreen) { | ||
| 19 | + element.mozRequestFullScreen(); | ||
| 20 | + } else if (element.webkitRequestFullscreen) { | ||
| 21 | + element.webkitRequestFullscreen(); | ||
| 22 | + } else if (element.msRequestFullscreen) { | ||
| 23 | + element.msRequestFullscreen(); | ||
| 24 | + } | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + function exitFullscreen() { | ||
| 28 | + if (document.exitFullscreen) { | ||
| 29 | + document.exitFullscreen(); | ||
| 30 | + } else if (document.mozExitFullScreen) { | ||
| 31 | + document.mozExitFullScreen(); | ||
| 32 | + } else if (document.webkitExitFullscreen) { | ||
| 33 | + document.webkitExitFullscreen(); | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + | ||
| 38 | +}) | ||
| 0 | \ No newline at end of file | 39 | \ No newline at end of file |
src/player.html
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | <link rel="stylesheet" href="js/audioPlayer/theme.default.css"> | 17 | <link rel="stylesheet" href="js/audioPlayer/theme.default.css"> |
| 18 | 18 | ||
| 19 | <script> | 19 | <script> |
| 20 | - var gxb_api = "https://restful1.gaoxiaobang.com"; | 20 | + var gxb_api = "https://restful.gaoxiaobang.com"; |
| 21 | // var gxb_api = "https://restful.gaoxiaobang.com" | 21 | // var gxb_api = "https://restful.gaoxiaobang.com" |
| 22 | </script> | 22 | </script> |
| 23 | 23 |
src/scss/main.scss
| @@ -277,6 +277,28 @@ html, body{ | @@ -277,6 +277,28 @@ html, body{ | ||
| 277 | } | 277 | } |
| 278 | } | 278 | } |
| 279 | 279 | ||
| 280 | +// player | ||
| 281 | +#playFooter{ | ||
| 282 | + height: 60px; | ||
| 283 | + width: 100%; | ||
| 284 | + z-index: 999; | ||
| 285 | + background-color: #23383f; | ||
| 286 | + padding: 10px 24px; | ||
| 287 | + | ||
| 288 | + #componentWrapper{ | ||
| 289 | + width: 100%; | ||
| 290 | + } | ||
| 291 | +} | ||
| 292 | + | ||
| 293 | + | ||
| 294 | + | ||
| 295 | + | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | + | ||
| 301 | + | ||
| 280 | 302 | ||
| 281 | 303 | ||
| 282 | 304 |
src/v1.1/index.html
| @@ -50,7 +50,7 @@ | @@ -50,7 +50,7 @@ | ||
| 50 | <script src="../js/gbdebug/mode/clike/clike.js"></script> | 50 | <script src="../js/gbdebug/mode/clike/clike.js"></script> |
| 51 | 51 | ||
| 52 | <script> | 52 | <script> |
| 53 | - var gxb_api = "https://restful1.gaoxiaobang.com"; | 53 | + var gxb_api = "https://restful.gaoxiaobang.com"; |
| 54 | // var gxb_api = "http://192.168.80.223:8080" | 54 | // var gxb_api = "http://192.168.80.223:8080" |
| 55 | $(function(){ | 55 | $(function(){ |
| 56 | $('.my-button').click(function(){ | 56 | $('.my-button').click(function(){ |
src/v1.1/index1.html
| @@ -20,7 +20,7 @@ | @@ -20,7 +20,7 @@ | ||
| 20 | <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css"> | 20 | <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css"> |
| 21 | 21 | ||
| 22 | <script> | 22 | <script> |
| 23 | - var gxb_api = "https://restful1.gaoxiaobang.com"; | 23 | + var gxb_api = "https://restful.gaoxiaobang.com"; |
| 24 | // var gxb_api = "http://192.168.80.223:8080" | 24 | // var gxb_api = "http://192.168.80.223:8080" |
| 25 | 25 | ||
| 26 | </script> | 26 | </script> |
src/v1.1/player1.html
0 → 100644
| 1 | +<!DOCTYPE html> | ||
| 2 | +<html lang="en"> | ||
| 3 | +<head> | ||
| 4 | + <meta charset="UTF-8"> | ||
| 5 | + <title>JAVA</title> | ||
| 6 | + <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css"> | ||
| 7 | + <link href="../css/codemirror.css" rel="stylesheet"> | ||
| 8 | + <link href="../css/reset.css" rel="stylesheet"> | ||
| 9 | + <link rel="stylesheet" href="../js/audioPlayer/theme.default.css"> | ||
| 10 | + <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css"> | ||
| 11 | + | ||
| 12 | + <link href="../common/fonts/iconfont.css" rel="stylesheet"> | ||
| 13 | + | ||
| 14 | + <link href="../css/cm-theme/gbtags.css" rel="stylesheet"> | ||
| 15 | + <link href="../css/cm-theme/eclipse.css" rel="stylesheet"> | ||
| 16 | + <link href="../css/cm-theme/gbtags-dark.css" rel="stylesheet"> | ||
| 17 | + | ||
| 18 | + <link rel="stylesheet" href="../gxb-ide/toolBox.css"> | ||
| 19 | + <link rel="stylesheet" href="../css/ide.css"> | ||
| 20 | + | ||
| 21 | + <script src="../js/jquery-1.7.1.js"></script> | ||
| 22 | + <script src="../js/bootstrap.js"></script> | ||
| 23 | + <script src="../js/codemirror.js"></script> | ||
| 24 | + <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.core.js"></script> | ||
| 25 | + <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.exedit.js"></script> | ||
| 26 | + <script src="../js/emmet.js"></script> | ||
| 27 | + | ||
| 28 | + <link rel="stylesheet" href="../js/ladda/ladda-themeless.min.css"> | ||
| 29 | + <script src="../js/ladda/spin.js"></script> | ||
| 30 | + <script src="../js/ladda/ladda.js"></script> | ||
| 31 | + | ||
| 32 | + <script src="../js/util/Hourglass.js"></script> | ||
| 33 | + <script src="../js/util/util.js"></script> | ||
| 34 | + | ||
| 35 | + <script src="../js/05-util.js"></script> | ||
| 36 | + <script src="../js/03-http.js"></script> | ||
| 37 | + | ||
| 38 | + <script src="../js/recorder/Myna.js"></script> | ||
| 39 | + <script src="../gxb-ide/Dir.js"></script> | ||
| 40 | + <script src="../gxb-ide/CodingEditer.js"></script> | ||
| 41 | + <script src="../gxb-ide/Iterm.js"></script> | ||
| 42 | + <script src="../gxb-ide/Ide.js"></script> | ||
| 43 | + <script src="../gxb-ide/ToolBox.js"></script> | ||
| 44 | + <script type="text/javascript" src="../js/audioPlayer/jQuery.AudioPlayer.js"></script> | ||
| 45 | + | ||
| 46 | + <script src="../js/player.js"></script> | ||
| 47 | + | ||
| 48 | + <script src="../js/gbdebug/mode/xml/xml.js"></script> | ||
| 49 | + <script src="../js/gbdebug/mode/javascript/javascript.js"></script> | ||
| 50 | + <script src="../js/gbdebug/mode/css/css.js"></script> | ||
| 51 | + <script src="../js/gbdebug/mode/htmlmixed/htmlmixed.js"></script> | ||
| 52 | + <script src="../js/gbdebug/mode/clike/clike.js"></script> | ||
| 53 | + | ||
| 54 | + <script> | ||
| 55 | + var gxb_api = "https://restful.gaoxiaobang.com"; | ||
| 56 | + // var gxb_api = "http://192.168.80.223:8080" | ||
| 57 | + </script> | ||
| 58 | + | ||
| 59 | + <style> | ||
| 60 | + .ladda-button[data-style=expand-right] .ladda-spinner{ | ||
| 61 | + right: 0; | ||
| 62 | + } | ||
| 63 | + .ladda-button[data-style=expand-right][data-loading]{ | ||
| 64 | + padding-right: 32px; | ||
| 65 | + } | ||
| 66 | + .ladda-button .ladda-spinner{ | ||
| 67 | + top: 0; | ||
| 68 | + } | ||
| 69 | + </style> | ||
| 70 | + | ||
| 71 | + | ||
| 72 | +</head> | ||
| 73 | +<body> | ||
| 74 | + <div class="programing"> | ||
| 75 | + <!-- 控制条 --> | ||
| 76 | + <div class="record-title"> | ||
| 77 | + <ul id="recordertab" class="nav nav-tabs pull-left"> | ||
| 78 | + <li class="active"> | ||
| 79 | + <a href="#recordzone" data-toggle="tab"> | ||
| 80 | + <i class="icon iconfont icon-suspend"></i>课程录制区 | ||
| 81 | + </a> | ||
| 82 | + </li> | ||
| 83 | + <li> | ||
| 84 | + <a href="#replayzone" data-toggle="tab"> | ||
| 85 | + <i class="icon iconfont icon-yulan"></i>课程预览区 | ||
| 86 | + </a> | ||
| 87 | + </li> | ||
| 88 | + </ul> | ||
| 89 | + </div> | ||
| 90 | + | ||
| 91 | + <!-- 录制区 --> | ||
| 92 | + <div class="record-wrap"> | ||
| 93 | + <!-- 录制区 --> | ||
| 94 | + <div class="gxb-record"> | ||
| 95 | + <div id="ideDir"> | ||
| 96 | + <div class="tree-header">目录</div> | ||
| 97 | + <ul id="folder" class="ztree"></ul> | ||
| 98 | + <div id="handleLM"></div> | ||
| 99 | + </div> | ||
| 100 | + | ||
| 101 | + <div id="ideEditer" class="tab-content"> | ||
| 102 | + <div id="recordzone" class="tab-pane active"></div> | ||
| 103 | + <div id="replayzone" class="tab-pane"></div> | ||
| 104 | + </div> | ||
| 105 | + </div> | ||
| 106 | + <div class="pause-shodow" style="display: none;"> | ||
| 107 | + <div class="compile-loading"> | ||
| 108 | + <img src="../img/loading.png" alt=""> | ||
| 109 | + </div> | ||
| 110 | + <div class="compile-reslut" style="display: none;"> | ||
| 111 | + <div class="tip-header"> | ||
| 112 | + <span>成功获取编译运行结果</span> | ||
| 113 | + </div> | ||
| 114 | + <div class="tip-content"> | ||
| 115 | + <p>保存编译结果后,播放到此处会在运行区域直接显示结果。需要保存结果后继续录制吗?</p> | ||
| 116 | + </div> | ||
| 117 | + <div class="tip-footer"> | ||
| 118 | + <button class="btn btn-success btn-sm" id="save_compile">保存并继续录制</button> | ||
| 119 | + <button class="btn btn-danger btn-sm" id="cancel_compile">不保存继续录制</button> | ||
| 120 | + </div> | ||
| 121 | + </div> | ||
| 122 | + </div> | ||
| 123 | + </div> | ||
| 124 | + | ||
| 125 | + <!-- 控录制录制 --> | ||
| 126 | + <div class="record-toolbox"> | ||
| 127 | + <!-- 运行结果区 --> | ||
| 128 | + <div class="console-wrap"> | ||
| 129 | + <div id="toolbar"> | ||
| 130 | + <!-- Nav tabs --> | ||
| 131 | + <ul class="nav nav-tabs result-tabs need-compile" role="tablist" id="cmprun-tabs"> | ||
| 132 | + <li class="active"><a href="#stdin" role="tab" data-toggle="tab" class="text">标准</a></li> | ||
| 133 | + <li><a href="#cmpinfo" role="tab" data-toggle="tab" class="text">编译</a></li> | ||
| 134 | + <li><a href="#stderr" role="tab" data-toggle="tab" class="text">错误</a></li> | ||
| 135 | + <li><a href="#output" role="tab" data-toggle="tab" class="text">结果</a></li> | ||
| 136 | + </ul> | ||
| 137 | + <div class="pull-right func"> | ||
| 138 | + <a class="btn btn-success" id="CompileBtn"> | ||
| 139 | + <span class="ladda-label">编译运行</span> | ||
| 140 | + </a> | ||
| 141 | + <a id="full-screen" class=""><i class="icon iconfont icon-quanping1"></i></a> | ||
| 142 | + <!-- <a id="back-screen" class=""><i class="icon iconfont icon-quanping1"></i></a> --> | ||
| 143 | + </div> | ||
| 144 | + </div> | ||
| 145 | + | ||
| 146 | + <!-- Tab panes --> | ||
| 147 | + <div id="resultoutput" class="tab-content need-compile"> | ||
| 148 | + <div class="tab-pane active padall15" id="stdin"> | ||
| 149 | + <input type="text" class="form-control" id="runtimeArgus" placeholder="标准输入"> | ||
| 150 | + </div> | ||
| 151 | + <div class="tab-pane padall15" id="cmpinfo"></div> | ||
| 152 | + <div class="tab-pane padall15" id="stderr"></div> | ||
| 153 | + <div class="tab-pane padall15" id="output"></div> | ||
| 154 | + </div> | ||
| 155 | + <div class="panel-body no-compile" id="ifrcontainer"> | ||
| 156 | + <iframe id="resultiframe" frameBorder="0" width="100%"></iframe> | ||
| 157 | + </div> | ||
| 158 | + </div> | ||
| 159 | + <input type="hidden" class="audio-url" value=""> | ||
| 160 | + <div id="playFooter"> | ||
| 161 | + <div class="" id="audioWrap"> | ||
| 162 | + <button class="play-code" style="display: none;"> | ||
| 163 | + <i class="icon iconfont icon-play"></i> | ||
| 164 | + </button> | ||
| 165 | + </div> | ||
| 166 | + </div> | ||
| 167 | + </div> | ||
| 168 | + | ||
| 169 | + <!-- 准备开始 --> | ||
| 170 | + <div id="countdown" style="display: none;"> | ||
| 171 | + <img src="" alt=""> | ||
| 172 | + </div> | ||
| 173 | + <!-- 保存提示 --> | ||
| 174 | + <div class="upload-tip" style="display: none;"> | ||
| 175 | + <img src="../img/upload_tip.png" alt=""> | ||
| 176 | + </div> | ||
| 177 | + | ||
| 178 | + </div> | ||
| 179 | + | ||
| 180 | +</body> | ||
| 181 | +</html> | ||
| 0 | \ No newline at end of file | 182 | \ No newline at end of file |