Commit fc50504e59ebc3af4435bc4da5833b90965f0abc
1 parent
c2885599
fix face
Showing
3 changed files
with
216 additions
and
139 deletions
src/gxb-ide/Dir.js
| @@ -85,28 +85,36 @@ | @@ -85,28 +85,36 @@ | ||
| 85 | 85 | ||
| 86 | if (role == 0) { | 86 | if (role == 0) { |
| 87 | playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api"; | 87 | playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api"; |
| 88 | + getCodeData(playUrl, el) | ||
| 88 | } else if (role == 1) { | 89 | } else if (role == 1) { |
| 89 | playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api"; | 90 | playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api"; |
| 91 | + getCodeData(playUrl, el) | ||
| 90 | } | 92 | } |
| 91 | - $.ajax({ | ||
| 92 | - type: "GET", | ||
| 93 | - url: playUrl, | ||
| 94 | - dataType: "json", | ||
| 95 | - contentType: "application/json", | ||
| 96 | - success: function(res) { | ||
| 97 | - console.log(res); | ||
| 98 | - var treeArr = res.programmingFileList; | ||
| 99 | - Dir.treeData = programFileListToTreeJson(treeArr); | ||
| 100 | - Dir.treeObj = $.fn.zTree.init($(el), setting, Dir.treeData); | ||
| 101 | - | ||
| 102 | - addTextareaPage(Dir.treeData); | ||
| 103 | - CodingEditer.initCodeMirror(treeLinkEditor); | ||
| 104 | - }, | ||
| 105 | - error: function(XMLHttpRequest, textStatus, errorThrown) { | ||
| 106 | - console.log('Ajax langs.json error'); | ||
| 107 | - console.log(XMLHttpRequest); | ||
| 108 | - } | ||
| 109 | - }); | 93 | + |
| 94 | + // if (role == 0) { | ||
| 95 | + // playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api"; | ||
| 96 | + // } else if (role == 1) { | ||
| 97 | + // playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api"; | ||
| 98 | + // } | ||
| 99 | + // $.ajax({ | ||
| 100 | + // type: "GET", | ||
| 101 | + // url: playUrl, | ||
| 102 | + // dataType: "json", | ||
| 103 | + // contentType: "application/json", | ||
| 104 | + // success: function(res) { | ||
| 105 | + // console.log(res); | ||
| 106 | + // var treeArr = res.programmingFileList; | ||
| 107 | + // Dir.treeData = programFileListToTreeJson(treeArr); | ||
| 108 | + // Dir.treeObj = $.fn.zTree.init($(el), setting, Dir.treeData); | ||
| 109 | + | ||
| 110 | + // addTextareaPage(Dir.treeData); | ||
| 111 | + // CodingEditer.initCodeMirror(treeLinkEditor); | ||
| 112 | + // }, | ||
| 113 | + // error: function(XMLHttpRequest, textStatus, errorThrown) { | ||
| 114 | + // console.log('Ajax langs.json error'); | ||
| 115 | + // console.log(XMLHttpRequest); | ||
| 116 | + // } | ||
| 117 | + // }); | ||
| 110 | 118 | ||
| 111 | } | 119 | } |
| 112 | 120 | ||
| @@ -500,74 +508,142 @@ | @@ -500,74 +508,142 @@ | ||
| 500 | 508 | ||
| 501 | var isPlayDataError = false; | 509 | var isPlayDataError = false; |
| 502 | function programFileListToTreeJson(arr, lang){ | 510 | function programFileListToTreeJson(arr, lang){ |
| 503 | - var playTreeFolder = [], | ||
| 504 | - playTreeFile = []; | ||
| 505 | - var n = 0, | ||
| 506 | - m = 0, | ||
| 507 | - l = 0; | ||
| 508 | - var datalist = arr; | ||
| 509 | - | ||
| 510 | - if(datalist.length > 10){ | ||
| 511 | - datalist.length = 10; | ||
| 512 | - } | ||
| 513 | - for (var i = 0; i < datalist.length; i++) { | ||
| 514 | - var temArr = datalist[i].path.split('/'); | ||
| 515 | - if(temArr[0] != "undefined" && temArr[1] != "undefined"){ | ||
| 516 | - if(playTreeFolder.length > 0){ | ||
| 517 | - for (var j = 0; j < playTreeFolder.length; j++) { | ||
| 518 | - if(playTreeFolder[j]){ | ||
| 519 | - if(playTreeFolder[j].name != temArr[0]){ | ||
| 520 | - playTreeFolder[n] = {"name": temArr[0], "open": true, "isParent": true, "collapse": false }; | ||
| 521 | - }else{ | ||
| 522 | - // console.log('playTreeFolder[j] else'); | ||
| 523 | - } | 511 | + var playTreeFolder = [], |
| 512 | + playTreeFile = []; | ||
| 513 | + var n = 0, | ||
| 514 | + m = 0, | ||
| 515 | + l = 0; | ||
| 516 | + var datalist = arr; | ||
| 517 | + | ||
| 518 | + if(datalist.length > 10){ | ||
| 519 | + datalist.length = 10; | ||
| 520 | + } | ||
| 521 | + for (var i = 0; i < datalist.length; i++) { | ||
| 522 | + var temArr = datalist[i].path.split('/'); | ||
| 523 | + if(temArr[0] != "undefined" && temArr[1] != "undefined"){ | ||
| 524 | + if(playTreeFolder.length > 0){ | ||
| 525 | + for (var j = 0; j < playTreeFolder.length; j++) { | ||
| 526 | + if(playTreeFolder[j]){ | ||
| 527 | + if(playTreeFolder[j].name != temArr[0]){ | ||
| 528 | + playTreeFolder[n] = {"name": temArr[0], "open": true, "isParent": true, "collapse": false }; | ||
| 529 | + }else{ | ||
| 530 | + // console.log('playTreeFolder[j] else'); | ||
| 524 | } | 531 | } |
| 525 | } | 532 | } |
| 526 | - }else{ | ||
| 527 | - playTreeFolder[n] = {"name": temArr[0], "open": true, "isParent": true, "collapse": false }; | ||
| 528 | - n++; | ||
| 529 | } | 533 | } |
| 534 | + }else{ | ||
| 535 | + playTreeFolder[n] = {"name": temArr[0], "open": true, "isParent": true, "collapse": false }; | ||
| 536 | + n++; | ||
| 537 | + } | ||
| 530 | 538 | ||
| 531 | - if(playTreeFile.length > 0){ | ||
| 532 | - for (var j = 0; j < playTreeFile.length; j++) { | ||
| 533 | - if(playTreeFile[j]){ | ||
| 534 | - if(playTreeFile[j].name != temArr[1]){ | ||
| 535 | - playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; | ||
| 536 | - }else{ | ||
| 537 | - playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; | ||
| 538 | - m++; | ||
| 539 | - } | 539 | + if(playTreeFile.length > 0){ |
| 540 | + for (var j = 0; j < playTreeFile.length; j++) { | ||
| 541 | + if(playTreeFile[j]){ | ||
| 542 | + if(playTreeFile[j].name != temArr[1]){ | ||
| 543 | + playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; | ||
| 544 | + }else{ | ||
| 545 | + playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; | ||
| 546 | + m++; | ||
| 540 | } | 547 | } |
| 541 | } | 548 | } |
| 542 | - }else{ | ||
| 543 | - playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; | ||
| 544 | - m++; | ||
| 545 | - } | 549 | + } |
| 546 | }else{ | 550 | }else{ |
| 547 | - isPlayDataError = true; | ||
| 548 | - return false; | ||
| 549 | - } | 551 | + playTreeFile[m] = {'pName': temArr[0], "name": temArr[1], "type": lang }; |
| 552 | + m++; | ||
| 553 | + } | ||
| 554 | + }else{ | ||
| 555 | + isPlayDataError = true; | ||
| 556 | + return false; | ||
| 550 | } | 557 | } |
| 551 | - if(!isPlayDataError){ | ||
| 552 | - for (var i = 0; i < playTreeFolder.length; i++) { | ||
| 553 | - playTreeFolder[i].pId = 0; | ||
| 554 | - playTreeFolder[i].id = i+1; | ||
| 555 | - playTreePathData['tree'].push(playTreeFolder[i]); | ||
| 556 | - } | ||
| 557 | - for (var i = 0; i < playTreeFile.length; i++) { | ||
| 558 | - for (var j = 0; j < playTreeFolder.length; j++) { | ||
| 559 | - if(playTreeFile[i].pName == playTreeFolder[j].name){ | ||
| 560 | - playTreeFile[i].id = (playTreeFolder[j].id.toString() + i.toString()) * 1; | ||
| 561 | - playTreeFile[i].pId = playTreeFolder[j].id; | ||
| 562 | - playTreePathData.tree.push(playTreeFile[i]); | ||
| 563 | - } | 558 | + } |
| 559 | + if(!isPlayDataError){ | ||
| 560 | + for (var i = 0; i < playTreeFolder.length; i++) { | ||
| 561 | + playTreeFolder[i].pId = 0; | ||
| 562 | + playTreeFolder[i].id = i+1; | ||
| 563 | + playTreePathData['tree'].push(playTreeFolder[i]); | ||
| 564 | + } | ||
| 565 | + for (var i = 0; i < playTreeFile.length; i++) { | ||
| 566 | + for (var j = 0; j < playTreeFolder.length; j++) { | ||
| 567 | + if(playTreeFile[i].pName == playTreeFolder[j].name){ | ||
| 568 | + playTreeFile[i].id = (playTreeFolder[j].id.toString() + i.toString()) * 1; | ||
| 569 | + playTreeFile[i].pId = playTreeFolder[j].id; | ||
| 570 | + playTreePathData.tree.push(playTreeFile[i]); | ||
| 564 | } | 571 | } |
| 565 | } | 572 | } |
| 566 | - return playTreePathData.tree; | ||
| 567 | - }else{ | ||
| 568 | - return false; | ||
| 569 | } | 573 | } |
| 574 | + return playTreePathData.tree; | ||
| 575 | + }else{ | ||
| 576 | + return false; | ||
| 570 | } | 577 | } |
| 578 | + } | ||
| 579 | + | ||
| 580 | + | ||
| 581 | + // 获取code | ||
| 582 | + function getCodeData(url, el){ | ||
| 583 | + console.log(url) | ||
| 584 | + $.ajax({ | ||
| 585 | + type: "get", | ||
| 586 | + url: url, | ||
| 587 | + dataType: "json", | ||
| 588 | + contentType: "application/json", | ||
| 589 | + success: function(res) { | ||
| 590 | + console.log('++++++++--------'); | ||
| 591 | + console.log(res) | ||
| 592 | + | ||
| 593 | + var coderecords = res.codeRecordList | ||
| 594 | + var audioUrl = res.audioUrl; | ||
| 595 | + | ||
| 596 | + var treeArr = res.programmingFileList; | ||
| 597 | + Dir.treeData = programFileListToTreeJson(treeArr); | ||
| 598 | + Dir.treeObj = $.fn.zTree.init($(el), setting, Dir.treeData); | ||
| 599 | + | ||
| 600 | + addTextareaPage(Dir.treeData); | ||
| 601 | + CodingEditer.initCodeMirror(treeLinkEditor); | ||
| 602 | + | ||
| 603 | + initTrigger(coderecords) | ||
| 604 | + AudioPlayer(audioUrl) | ||
| 605 | + }, | ||
| 606 | + error: function(error) { | ||
| 607 | + console.log(error) | ||
| 608 | + } | ||
| 609 | + }); | ||
| 610 | + } | ||
| 611 | + | ||
| 612 | + // 初始化tigger | ||
| 613 | + function initTrigger(records){ | ||
| 614 | + var records = records | ||
| 615 | + for (var i = 0, leg = records.length; i < leg; i++) { | ||
| 616 | + if (!records[i].trigger) records[i].trigger = 0; | ||
| 617 | + records[i].changeobj = jQuery.parseJSON(records[i].changeobj); | ||
| 618 | + records[i].treefile = jQuery.parseJSON(records[i].treefile); | ||
| 619 | + } | ||
| 620 | + CodingEditer.records = records; | ||
| 621 | + } | ||
| 622 | + | ||
| 623 | + // 初始化播放音频控制条 | ||
| 624 | + function AudioPlayer(audioUrl){ | ||
| 625 | + var player = $.AudioPlayer; | ||
| 626 | + player.init({ | ||
| 627 | + container: '#audioWrap', | ||
| 628 | + source: "https://gxb-file.oss-cn-beijing.aliyuncs.com" + audioUrl, | ||
| 629 | + imagePath: '../js/audioPlayer/image', | ||
| 630 | + debuggers: false, | ||
| 631 | + allowSeek: false, | ||
| 632 | + playCallback: function() { // 播放 | ||
| 633 | + console.log('++++++++'); | ||
| 634 | + CodingEditer.playCoding(); | ||
| 635 | + }, | ||
| 636 | + pauseCallback: function() { // 暂停 | ||
| 637 | + CodingEditer.audioTime = parseInt(player.elements.audioDom.currentTime*1000); | ||
| 638 | + CodingEditer.pauseCode(); | ||
| 639 | + }, | ||
| 640 | + seekedCallback: function() { // 拖拽 | ||
| 641 | + }, | ||
| 642 | + endedCallback: function() { // 结束播放 | ||
| 643 | + playEnd() | ||
| 644 | + } | ||
| 645 | + }); | ||
| 646 | + } | ||
| 571 | 647 | ||
| 572 | 648 | ||
| 573 | $(window).resize(function() { | 649 | $(window).resize(function() { |
src/js/player.js
| @@ -21,73 +21,73 @@ $(function(){ | @@ -21,73 +21,73 @@ $(function(){ | ||
| 21 | }); | 21 | }); |
| 22 | 22 | ||
| 23 | console.log(_role) | 23 | 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 | - } | 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 | 31 | ||
| 32 | CodingEditer.isRecordPage = 0; | 32 | CodingEditer.isRecordPage = 0; |
| 33 | 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; | 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 | 47 | ||
| 48 | - initTrigger(coderecords) | ||
| 49 | - AudioPlayer(audioUrl) | ||
| 50 | - }, | ||
| 51 | - error: function(error) { | ||
| 52 | - console.log(error) | ||
| 53 | - } | ||
| 54 | - }); | ||
| 55 | - } | 48 | + // initTrigger(coderecords) |
| 49 | + // AudioPlayer(audioUrl) | ||
| 50 | + // }, | ||
| 51 | + // error: function(error) { | ||
| 52 | + // console.log(error) | ||
| 53 | + // } | ||
| 54 | + // }); | ||
| 55 | + // } | ||
| 56 | 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 | - } | 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 | + // } | ||
| 67 | 67 | ||
| 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 | - } | 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 | 91 | ||
| 92 | 92 | ||
| 93 | }) | 93 | }) |
| 94 | \ No newline at end of file | 94 | \ No newline at end of file |
src/v1.1/player1.html
| @@ -34,16 +34,17 @@ | @@ -34,16 +34,17 @@ | ||
| 34 | 34 | ||
| 35 | <script src="../js/05-util.js"></script> | 35 | <script src="../js/05-util.js"></script> |
| 36 | <script src="../js/03-http.js"></script> | 36 | <script src="../js/03-http.js"></script> |
| 37 | - | 37 | + |
| 38 | + <script type="text/javascript" src="../js/audioPlayer/jQuery.AudioPlayer.js"></script> | ||
| 39 | + | ||
| 38 | <script src="../js/recorder/Myna.js"></script> | 40 | <script src="../js/recorder/Myna.js"></script> |
| 39 | <script src="../gxb-ide/Dir.js"></script> | 41 | <script src="../gxb-ide/Dir.js"></script> |
| 40 | <script src="../gxb-ide/CodingEditer.js"></script> | 42 | <script src="../gxb-ide/CodingEditer.js"></script> |
| 41 | <script src="../gxb-ide/Iterm.js"></script> | 43 | <script src="../gxb-ide/Iterm.js"></script> |
| 42 | <script src="../gxb-ide/Ide.js"></script> | 44 | <script src="../gxb-ide/Ide.js"></script> |
| 43 | <script src="../gxb-ide/ToolBox.js"></script> | 45 | <script src="../gxb-ide/ToolBox.js"></script> |
| 44 | - <script type="text/javascript" src="../js/audioPlayer/jQuery.AudioPlayer.js"></script> | ||
| 45 | 46 | ||
| 46 | - <script src="../js/player.js"></script> | 47 | + <script src="../js/player.js"></script> |
| 47 | 48 | ||
| 48 | <script src="../js/gbdebug/mode/xml/xml.js"></script> | 49 | <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/javascript/javascript.js"></script> |