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 | 85 | |
| 86 | 86 | if (role == 0) { |
| 87 | 87 | playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api"; |
| 88 | + getCodeData(playUrl, el) | |
| 88 | 89 | } else if (role == 1) { |
| 89 | 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 | 508 | |
| 501 | 509 | var isPlayDataError = false; |
| 502 | 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 | 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 | 649 | $(window).resize(function() { | ... | ... |
src/js/player.js
| ... | ... | @@ -21,73 +21,73 @@ $(function(){ |
| 21 | 21 | }); |
| 22 | 22 | |
| 23 | 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 | 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 | 94 | \ No newline at end of file | ... | ... |
src/v1.1/player1.html
| ... | ... | @@ -34,16 +34,17 @@ |
| 34 | 34 | |
| 35 | 35 | <script src="../js/05-util.js"></script> |
| 36 | 36 | <script src="../js/03-http.js"></script> |
| 37 | - | |
| 37 | + | |
| 38 | + <script type="text/javascript" src="../js/audioPlayer/jQuery.AudioPlayer.js"></script> | |
| 39 | + | |
| 38 | 40 | <script src="../js/recorder/Myna.js"></script> |
| 39 | 41 | <script src="../gxb-ide/Dir.js"></script> |
| 40 | 42 | <script src="../gxb-ide/CodingEditer.js"></script> |
| 41 | 43 | <script src="../gxb-ide/Iterm.js"></script> |
| 42 | 44 | <script src="../gxb-ide/Ide.js"></script> |
| 43 | 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 | 49 | <script src="../js/gbdebug/mode/xml/xml.js"></script> |
| 49 | 50 | <script src="../js/gbdebug/mode/javascript/javascript.js"></script> | ... | ... |