user_live.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. var index = 0;
  2. var cosBox = [];
  3. var getSignature = function(callback){
  4. $.ajax({
  5. url: APP_ROOT + 'm.php?m=VideoPlayback&a=new_sign',
  6. type: 'POST',
  7. dataType: 'json',
  8. success: function(res){
  9. if(res.status ==1 && res.signature) {
  10. callback(res.signature);
  11. } else {
  12. $.showErr('获取签名失败');
  13. }
  14. }
  15. });
  16. };
  17. $("#video_file").on('change',function(e){
  18. var num = addUploaderMsgBox('hasVideo');
  19. var videoFile = this.files[0];
  20. $('#result').append(videoFile.name + '\n');
  21. var resultMsg = qcVideo.ugcUploader.start({
  22. videoFile: videoFile,
  23. getSignature: getSignature,
  24. allowAudio: 1,
  25. success: function(result){
  26. if(result.type == 'video') {
  27. $('[name=videoresult'+num+']').text('上传成功');
  28. $('[name=cancel'+num+']').remove();
  29. $('[name=del'+num+']').css('display','inline-block');
  30. cosBox[num] = null;
  31. } else if (result.type == 'cover') {
  32. $('[name=coverresult'+num+']').text('上传成功');
  33. }
  34. console.log('上传成功的文件类型:' + result.type);
  35. },
  36. error: function(result){
  37. var msg = 'message:' + result.msg;
  38. $('#error').html(msg);
  39. console.log('上传失败的文件类型:' + result.type);
  40. console.log('上传失败的原因:' + result.msg);
  41. },
  42. progress: function(result){
  43. if(result.type == 'video') {
  44. $('[name=videoname'+num+']').text(result.name);
  45. $('[name=videosha'+num+']').text(Math.floor(result.shacurr*100)+'%');
  46. $('[name=videocurr'+num+']').text(Math.floor(result.curr*100)+'%');
  47. $('[name=cancel'+num+']').attr('taskId', result.taskId);
  48. cosBox[num] = result.cos;
  49. } else if (result.type == 'cover') {
  50. $('[name=covername'+num+']').text(result.name);
  51. $('[name=coversha'+num+']').text(Math.floor(result.shacurr*100)+'%');
  52. $('[name=covercurr'+num+']').text(Math.floor(result.curr*100)+'%');
  53. }
  54. console.log('上传进度的文件类型:' + result.type);
  55. console.log('上传进度的文件名称:' + result.name);
  56. console.log('上传进度:' + result.curr);
  57. },
  58. finish: function(result){
  59. $('[name=videofileId'+num+']').text(result.fileId);
  60. $('[name=videourl'+num+']').text(result.videoUrl);
  61. if(result.message) {
  62. $('[name=videofileId'+num+']').text(result.message);
  63. }
  64. $("#file_id").val(result.fileId);
  65. console.log('上传结果的fileId:' + result.fileId);
  66. console.log('上传结果的视频名称:' + result.videoName);
  67. console.log('上传结果的视频地址:' + result.videoUrl);
  68. }
  69. });
  70. if(resultMsg){
  71. $('#video_file').val("");
  72. }
  73. });
  74. $("#btn_upload").on('click',function(){
  75. $('#video_file').click();
  76. });
  77. /*
  78. * 取消上传绑定事件,示例一与示例二通用
  79. */
  80. $('#result').on('click', '[act=cancel-upload]', function() {
  81. var cancelresult = qcVideo.ugcUploader.cancel({
  82. cos: cosBox[$(this).attr('cosnum')],
  83. taskId: $(this).attr('taskId')
  84. });
  85. $(".uploaderMsgBox").remove();
  86. console.log(cancelresult);
  87. });
  88. $('#result').on('click','[data-act="del"]', function() {
  89. $("#file_id").val('');
  90. $(".uploaderMsgBox").remove();
  91. $('#result').text('');
  92. });
  93. /**
  94. * 添加上传信息模块
  95. */
  96. var addUploaderMsgBox = function(type){
  97. var html = '<div class="uploaderMsgBox" name="box'+index+'">';
  98. if(!type || type == 'hasVideo') {
  99. html += '视频名称:<span name="videoname'+index+'"></span>;' +
  100. '计算sha进度:<span name="videosha'+index+'">0%</span>;' +
  101. '上传进度:<span name="videocurr'+index+'">0%</span>;' +
  102. 'fileId:<span name="videofileId'+index+'"> </span>;' +
  103. '上传结果:<span name="videoresult'+index+'"> </span>;<br>' +
  104. '地址:<span name="videourl'+index+'"> </span>;'+
  105. '<span data-act="del" style="display: none" name="del'+index+'" class="delete">删除</span>;'+
  106. '<a href="javascript:void(0);" name="cancel'+index+'" cosnum='+index+' act="cancel-upload">取消上传</a><br>';
  107. }
  108. if(!type || type == 'hasCover') {
  109. html += '封面名称:<span name="covername'+index+'"></span>;' +
  110. '计算sha进度:<span name="coversha'+index+'">0%</span>;' +
  111. '上传进度:<span name="covercurr'+index+'">0%</span>;' +
  112. '上传结果:<span name="coverresult'+index+'"> </span>;<br>' +
  113. '地址:<span name="coverurl'+index+'"> </span>;<br>' +
  114. '</div>'
  115. }
  116. html += '</div>';
  117. $('#result').append(html);
  118. return index++;
  119. };