/** * [ONEMAP.M.gcmsAudio] * @return {[object]} */ define([ 'html!templates/gcms/gcmsAudio', 'vendorDir/handlebars/handlebars', 'css!styles/gcms/gcmsAudio'], function(tpcLayout,Handlebars){ //参数 var modValue= { options:{} }; /** * 模块初始化 * @return {[type]} [description] */ function init(options){ modValue.options = {}; for(var op in options){ modValue.options[op] = options[op]; } //获取内容数据 getDetailData({callback:function(){ showAudio(); }}); //订阅推送 subscribe(); } function getDetailData(options){ ONEMAP.V.loading.load(); $.ajax({ url: onemapUrlConfig.gcmsServiceUrl+'/show/'+modValue.options['column_name']+'/'+modValue.options['article_id'], type:"GET", dataType: 'json' }) .done(function(data) { ONEMAP.V.loading.loaded(); if(data.code == 4){ ONEMAP.C.noPermission('getDetailData'); return false; } if(data.code == 3){ ONEMAP.C.logout('getDetailData'); } if(JSON.parse(data['data']['record'][modValue.options['field_name']]).length == 0){ ONEMAP.C.publisher.publish({ type: 'warning', message: '没有音频数据' }, 'noteBar::add'); remove(); }else { ONEMAP.D.gcmsCurArticleData = data['data']; options.callback(); } }) .fail(function() { ONEMAP.V.loading.loaded(); }); } /** * 事件绑定 * @return {[type]} [description] */ function bindEvent(){ $('#gcmsAudioModal .modal-header .close').bind('click', function() { remove(); }); $('#gcmsAudioModal .modal-header').dragmove($('#gcmsAudioModal')); var $box2 = $('#gcmsAudioModal').on('mousedown', '#coorForGcmsAudioModal', function(e) { var posix = { 'w': $box2.width(), 'h': $box2.height(), 'x': e.pageX, 'y': e.pageY }; $.extend(document, {'move': true, 'call_down': function(e) { $box2.css({ 'width': Math.max(30, e.pageX - posix.x + posix.w), 'height': Math.max(30, e.pageY - posix.y + posix.h) }); var bodyHeight = Math.max(30, e.pageY - posix.y + posix.h )-145; $("#gcmsAudioModal .modal-body").css({height:bodyHeight}); }}); $.extend(document, {'move': true, 'call_up': function(e) { $('#gcmsAudioList .selected').click(); }}); return false; }); } function showAudio(){ $('body').append(tpcLayout); bindEvent(); var audioFileUrl = onemapUrlConfig.gcmsServiceUrl+'/file'+JSON.parse(ONEMAP.D.gcmsCurArticleData['record'][modValue.options['field_name']])[0]+'?jwt='+ONEMAP.D.user.ticket; // if(Modernizr.video.h264.length>0){ // var audioPlayerHtml = ''; // }else { var flashPlayerInfo = flashChecker(); if (flashPlayerInfo && flashPlayerInfo.v > 10) { var audioPlayerHtml = _setFlashPlayer("audioPlayer", "scripts/vendor/player/snplayer.swf?file=type:mp3;url:" + audioFileUrl + "", "100%", "100%", "SkinURL=skin/default.zip", true); } else { if (document.all) { var flashPlayerLink = onemapUrlConfig.siteUrl+'/soft/flashplayer_winax.exe'; } else { var flashPlayerLink = onemapUrlConfig.siteUrl+'/soft/flashplayer_win.exe'; } var audioPlayerHtml = '
' + '

请安装Adobe flash player 11以上版本的播放器。

' + '
Adobe Flash Player 11
' + '
'; } //} $('#gcmsAudioPlayer').empty().append(audioPlayerHtml); $('#gcmsAudioModal').show(); //显示列表 $('#gcmsAudioList').empty(); $(JSON.parse(ONEMAP.D.gcmsCurArticleData['record'][modValue.options['field_name']])).each(function(index, el) { $('
  • ').appendTo($('#gcmsAudioList')); }); $('#gcmsAudioList .btn:eq(0)').addClass('selected'); $('#gcmsAudioList .btn').bind('click',function(){ var audioFileUrl = $(this).attr('vUrl'); // if(Modernizr.video.h264.length>0){ // var audioPlayerHtml = ''; // }else { var flashPlayerInfo = flashChecker(); if (flashPlayerInfo && flashPlayerInfo.v > 10) { var audioPlayerHtml = _setFlashPlayer("audioPlayer", "scripts/vendor/player/snplayer.swf?file=type:mp3;url:" + audioFileUrl + "", "100%", "100%", "SkinURL=skin/default.zip", true); } else { if (document.all) { var flashPlayerLink = onemapUrlConfig.siteUrl+'/soft/flashplayer_winax.exe'; } else { var flashPlayerLink = onemapUrlConfig.siteUrl+'/soft/flashplayer_win.exe'; } var audioPlayerHtml = '
    ' + '

    请安装Adobe flash player 11以上版本的播放器。

    ' + '
    Adobe Flash Player 11
    ' + '
    '; } //} $('#gcmsAudioPlayer').empty().append(audioPlayerHtml); $('#gcmsAudioModal').show(); $('#gcmsAudioModal .selected').removeClass('selected'); $(this).addClass('selected'); }); } function flashChecker(){ var hasFlash = 0; var flashVersion =0; try{ if(document.all){ var swf = new ActiveXObject('ShockwaveFlash.ShockwaveFlash'); if(swf){ hasFlash = 1; VSwf = swf.GetVariable('$version'); flashVersion = parseInt(VSwf.split(" ")[1].split(",")[0]); } }else { if(navigator.plugins && navigator.plugins.length > 0){ var swf = navigator.plugins["Shockwave Flash"]; } if(swf){ hasFlash = 1; var words = swf.description.split(" "); for(var i=0;i'; html += ''; html += ''; html += ''; html += ''; html += ''; html += '