Commit fc980668cdced34247af2ebaf22bb19a8679ad20

Authored by ykxie
1 parent 27b922b8

fix 单文件高亮

Showing 1 changed file with 87 additions and 61 deletions
src/js/gbreplayer.js
@@ -11,6 +11,7 @@ $(function(){ @@ -11,6 +11,7 @@ $(function(){
11 var $recording_time = $('.recording-time'); 11 var $recording_time = $('.recording-time');
12 var tag = 1; // 标记第一次暂停 12 var tag = 1; // 标记第一次暂停
13 var player = $.AudioPlayer; 13 var player = $.AudioPlayer;
  14 + var coderecordsData;
14 15
15 // 根据不同的角色渲染页面 16 // 根据不同的角色渲染页面
16 if(_role == 1){ 17 if(_role == 1){
@@ -22,6 +23,39 @@ $(function(){ @@ -22,6 +23,39 @@ $(function(){
22 $('#upload').show(); 23 $('#upload').show();
23 } 24 }
24 25
  26 + if(document.URL.indexOf('player.htm')>=0){
  27 + if (_role == 0) {
  28 + var apiUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api";
  29 + getLangid(apiUrl);
  30 + } else if (_role == 1) {
  31 + var apiUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api";
  32 + getLangid(apiUrl);
  33 + }
  34 + }
  35 + console.log(_languageid)
  36 +
  37 + function getLangid(apiUrl){
  38 + $.ajax({
  39 + type: "get",
  40 + url: apiUrl,
  41 + async: false,
  42 + success: function(coderecords) {
  43 + _languageid = parseInt(coderecords.languageid);
  44 + if(coderecords){
  45 + coderecordsData = coderecords;
  46 + }else{
  47 + // TODO 提示错误信息
  48 + alert('错误')
  49 + }
  50 + },
  51 + error: function(){
  52 + alert('错误')
  53 + }
  54 + });
  55 + }
  56 +
  57 +
  58 +
25 var GBCodePlayBack = { 59 var GBCodePlayBack = {
26 records: [], 60 records: [],
27 excercise_records: [], 61 excercise_records: [],
@@ -361,75 +395,67 @@ $(function(){ @@ -361,75 +395,67 @@ $(function(){
361 if(document.URL.indexOf('player.htm')>=0){ 395 if(document.URL.indexOf('player.htm')>=0){
362 if (_role == 0) { 396 if (_role == 0) {
363 console.log('----========') 397 console.log('----========')
364 - var apiUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api";  
365 - initPlayerPage(apiUrl); 398 + // var apiUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api";
  399 + initPlayerPage();
366 400
367 } else if (_role == 1) { 401 } else if (_role == 1) {
368 - var apiUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api";  
369 - initPlayerPage(apiUrl) 402 + // var apiUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api";
  403 + initPlayerPage()
370 } 404 }
371 }else { 405 }else {
372 compileMode(_languageid) 406 compileMode(_languageid)
373 } 407 }
374 408
375 // 初始化渲染页面 409 // 初始化渲染页面
376 - function initPlayerPage(apiUrl){  
377 - $.ajax({  
378 - type: "get",  
379 - url: apiUrl,  
380 - success: function(coderecords) {  
381 - var langid = parseInt(coderecords.languageid);  
382 - selectLang(langid);  
383 - compileMode(langid);  
384 - console.log(coderecords);  
385 - $("#play_audio").attr('src', "http://gxb-file.oss-cn-beijing.aliyuncs.com" + coderecords.audioUrl);  
386 - if (_role ==0) {  
387 - player.init({  
388 - container: '#audioWrap'  
389 - ,source: "http://gxb-file.oss-cn-beijing.aliyuncs.com" + coderecords.audioUrl  
390 - ,imagePath: 'js/audioPlayer/image'  
391 - ,debuggers: false  
392 - ,allowSeek: false  
393 - ,playCallback: function(){ // 播放  
394 - playCode();  
395 - GBCodePlayBack.htmlplayereditor.setOption('readOnly', true);  
396 - }  
397 - ,pauseCallback: function(){ // 暂停  
398 - GBCodePlayBack.audioTime = parseInt(player.elements.audioDom.currentTime*1000)  
399 - pauseCode();  
400 - GBCodePlayBack.firstPlay = 0;  
401 - GBCodePlayBack.pauseValue = GBCodePlayBack.htmlplayereditor.getValue();  
402 - GBCodePlayBack.htmlplayereditor.setOption('readOnly', false);  
403 - }  
404 - ,seekedCallback: function(){} // 拖拽  
405 - ,endedCallback: function(){ // 结束播放  
406 - playEnd()  
407 - }  
408 - });  
409 - var coderecords = coderecords.codeRecordList;  
410 -  
411 - }else{  
412 - $('.play-code').show();  
413 - var coderecords = coderecords.studentRecordList;  
414 - }  
415 -  
416 - GBCodePlayBack.htmlplayereditor.setValue('');  
417 - GBCodePlayBack.cssplayereditor.setValue('');  
418 - GBCodePlayBack.jsplayereditor.setValue('');  
419 -  
420 - var starttime = 0;  
421 - console.log(coderecords);  
422 - for(var i=0;i<coderecords.length;i++){  
423 - if(!coderecords[i].trigger) coderecords[i].trigger = 0;  
424 - coderecords[i].changeobj = jQuery.parseJSON(coderecords[i].changeobj);  
425 - }  
426 -  
427 - GBCodePlayBack.records = coderecords;  
428 - },  
429 - error: function(){  
430 - alert('错误')  
431 - }  
432 - }); 410 + function initPlayerPage(){
  411 + var langid = _languageid;
  412 + var coderecords = coderecordsData;
  413 + selectLang(langid);
  414 + compileMode(langid);
  415 + console.log(coderecords);
  416 + $("#play_audio").attr('src', "http://gxb-file.oss-cn-beijing.aliyuncs.com" + coderecords.audioUrl);
  417 + if (_role ==0) {
  418 + player.init({
  419 + container: '#audioWrap'
  420 + ,source: "http://gxb-file.oss-cn-beijing.aliyuncs.com" + coderecords.audioUrl
  421 + ,imagePath: 'js/audioPlayer/image'
  422 + ,debuggers: false
  423 + ,allowSeek: false
  424 + ,playCallback: function(){ // 播放
  425 + playCode();
  426 + GBCodePlayBack.htmlplayereditor.setOption('readOnly', true);
  427 + }
  428 + ,pauseCallback: function(){ // 暂停
  429 + GBCodePlayBack.audioTime = parseInt(player.elements.audioDom.currentTime*1000)
  430 + pauseCode();
  431 + GBCodePlayBack.firstPlay = 0;
  432 + GBCodePlayBack.pauseValue = GBCodePlayBack.htmlplayereditor.getValue();
  433 + GBCodePlayBack.htmlplayereditor.setOption('readOnly', false);
  434 + }
  435 + ,seekedCallback: function(){} // 拖拽
  436 + ,endedCallback: function(){ // 结束播放
  437 + playEnd()
  438 + }
  439 + });
  440 + var coderecords = coderecords.codeRecordList;
  441 + }else{
  442 + $('.play-code').show();
  443 + var coderecords = coderecords.studentRecordList;
  444 + }
  445 +
  446 + GBCodePlayBack.htmlplayereditor.setValue('');
  447 + GBCodePlayBack.cssplayereditor.setValue('');
  448 + GBCodePlayBack.jsplayereditor.setValue('');
  449 +
  450 + var starttime = 0;
  451 + console.log(coderecords);
  452 + for(var i=0;i<coderecords.length;i++){
  453 + if(!coderecords[i].trigger) coderecords[i].trigger = 0;
  454 + coderecords[i].changeobj = jQuery.parseJSON(coderecords[i].changeobj);
  455 + }
  456 +
  457 + GBCodePlayBack.records = coderecords;
  458 + player.play();
433 } 459 }
434 460
435 // 使编辑器满屏 461 // 使编辑器满屏