utils.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. var utils={};
  2. utils.msgContent="";
  3. utils.isUp=false;
  4. utils.tabTool=function(e,obj){
  5. var to=$(e.target).attr('to');
  6. for(var i=0;i<obj.length;i++){
  7. if(obj[i].getAttribute("for")==to){
  8. $(e.target).css('border-bottom',"4px solid cornflowerblue");
  9. $(obj[i]).css('display',"block");
  10. }
  11. }
  12. }
  13. utils.fileChange = function (obj,type,info,repStr) {
  14.         var file = obj.files[0];
  15. if(file.size>=8388608){
  16. layer.msg("网页音频文件不能超过"+8388608/1024/1024+"M,请压缩处理后再操作");
  17. }
  18. if(type!=="file"){
  19. if (!repStr.test(file.type)) {/*可以把audio改成其他文件类型 比如 image*/
  20.             alert("只能选择"+info+"文件");
  21.             return false;
  22.         }
  23. }
  24. utils.request(type,file);
  25. //         var reader = new FileReader();
  26. //         reader.readAsDataURL(file);
  27. //         reader.onload = function () {
  28. //              var audioBlob=utils.convertBase64UrlToBlob(reader.result,file.type)
  29. //             utils.request(type,audioBlob);
  30. //         };
  31.     };
  32.     
  33. utils.convertBase64UrlToBlob=function(urlData,type){   /*转成二进制对象*/
  34.     var bytes=window.atob(urlData.split(',')[1]);      
  35.     var ab = new ArrayBuffer(bytes.length);  
  36.     var ia = new Uint8Array(ab);  
  37.     for (var i = 0; i < bytes.length; i++) {  
  38.         ia[i] = bytes.charCodeAt(i);  
  39.     }  
  40.     return new Blob( [ab] , {type : type});  
  41.     
  42. utils.request=function(type,Blob){
  43. console.log(type)
  44.   var formData = new FormData();/*创建formData对象*/
  45. if(type=='audio'){
  46. formData.append("voice", Blob);
  47. formData.append("type", "voice");
  48. }else if(type=="video"){
  49. formData.append(type, Blob);
  50. formData.append("type", type);
  51. }else{
  52. formData.append(type, Blob);
  53. formData.append("type", type);
  54. }
  55.    $.ajax({
  56.             url:"/admin/upload/upFile",
  57.             type:"POST",
  58.             processData: false,
  59.             contentType: false,
  60.             data: formData,
  61.             dataType: 'json',
  62.             success: function (data) {
  63. if(data.status==200){
  64. if(type=='audio'){
  65. utils.msgContent='<audio controls="" src="'+data.data.path+'"></audio>';
  66. }else if(type=="video"){
  67. /* 如果是视频 */
  68. utils.msgContent='<video src="'+data.data.path+'" controls="controls">';
  69. }else{
  70. utils.msgContent='<div style="background:url('+path+'/images/fileImg.jpgs)"><a href="'+data.data.path+'" >'+data.data.path+'</a></div>';
  71. }
  72. $.ajax({
  73. type: "POST",
  74. url : "/admin/service/chat",
  75. data: {to_id:$('#guest_id').html(),type:1,content:utils.msgContent},
  76. success: function(msg){
  77. if(msg.status==200){
  78. welive_output(utils.msgContent,5,2);
  79. getFace();
  80. $('#sendTxt').val('');
  81. $('.content').val('');
  82. }else{
  83. layer.msg("上传失败!");
  84. }
  85. }
  86. });
  87. }else{
  88. layer.msg(data.msg);
  89. }
  90.             }
  91. })
  92. }