SanHQin 2 月之前
父节点
当前提交
47a239b2b6

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.2f5679a04217d7ad754adb2e3b95f566.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.bb486323f0fa002ba2e7.js></script><script type=text/javascript src=./static/js/app.2c520119f3b5f2269af2.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.859bc8dab24800d796211092e7be3634.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.bb486323f0fa002ba2e7.js></script><script type=text/javascript src=./static/js/app.1f66487aca0edae728c8.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/app.859bc8dab24800d796211092e7be3634.css


文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/app.859bc8dab24800d796211092e7be3634.css.map


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/app.1f66487aca0edae728c8.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/app.1f66487aca0edae728c8.js.map


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


+ 10 - 3
src/components/pages/classroomObservation/dialog/batchCreationClassDialog.vue

@@ -768,6 +768,7 @@ export default {
             let audioFile = await this.getVideoToVoiceAndUploadMixin(_fileData);
             console.log("👉", audioFile);
             _startData.jsonData.fileData.videoUrl = _fileData.url;
+            _startData.jsonData.fileData.fileObj = audioFile.fileObj;
             _startData.jsonData.fileData.url = audioFile.Location;
             _startData.jsonData.baseMessage.imageList.fileList = [
               {
@@ -820,12 +821,18 @@ export default {
               this.dataList.find(
                 i => i.id === _startData.id
               ).jsonData.steps = _stepList;
+
+              let _file = _startData.jsonData.fileData.fileObj;
+
+              if(!_file){
+                let fileBody = await this.getFileBody(_startData.jsonData.fileData.url);
+                _file = new File([fileBody.data], 'audio.wav', { type: 'audio/wav' });
+              }
+
               let {
                 transcriptionContent,
                 editorBarData
-              } = await this.wavAudioToTextAndObjMixin({
-                wavUrl: _startData.jsonData.fileData.url
-              });
+              } = await this.wavAudioToTextAndObjMixin(_file);
 
               this.dataList.find(
                 i => i.id === _startData.id

+ 41 - 47
src/components/pages/classroomObservation/tools/mixin.js

@@ -1,45 +1,6 @@
 import {
   v4 as uuidv4
 } from 'uuid';
-
-const getFileBody = (url) => {
-  return new Promise((resolve, reject) => {
-    var credentials = {
-      accessKeyId: "AKIATLPEDU37QV5CHLMH",
-      secretAccessKey: "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",
-    }; //秘钥形式的登录上传
-    window.AWS.config.update(credentials);
-    window.AWS.config.region = "cn-northwest-1"; //设置区域
-    let url2 = url;
-    let _url2 = "";
-    if (
-      url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
-    ) {
-      _url2 = url2.split(
-        "https://view.officeapps.live.com/op/view.aspx?src="
-      )[1];
-    } else {
-      _url2 = url2;
-    }
-    var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
-    let name = decodeURIComponent(_url2.split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1])
-    var params = {
-      Bucket: "ccrb",
-      Key: name
-    };
-    s3.getObject(params, function (err, data) {
-      if (err) {
-        console.log(err, err.stack)
-        resolve({ data: 1 });
-      } else {
-        resolve({ data: data.Body });
-        console.log(data);
-      }          // sxuccessful response
-
-    });
-  });
-};
-
 var OpenCC = require("opencc-js");
 
 let converter = OpenCC.Converter({
@@ -181,7 +142,7 @@ ${arr.map(row => `<tr>
         if (fileData.fileObj) {
           _file = fileData.fileObj
         } else if (fileData.url) {
-          let videoRes = await getFileBody(fileData.url);
+          let videoRes = await this.getFileBody(fileData.url);
           if (videoRes.data === 1) return resolve({ data: 1 })
           // 把uint8Array转换为视频文件
           _file = new File([videoRes.data], 'video.mp4', { type: 'video/mp4' });
@@ -214,7 +175,7 @@ ${arr.map(row => `<tr>
               // blob转成file文件
               const audioFile = new File([wavBlob], 'audio.wav', { type: 'audio/wav' });
               this.uploadFileMixin(audioFile).then(upload => {
-                resolve({ audioUrl: upload })
+                resolve({ audioUrl: upload,fileObj:audioFile })
               })
             } catch (error) {
               console.log("👉", error);
@@ -309,6 +270,43 @@ ${arr.map(row => `<tr>
         // axios({
       });
     },
+    getFileBody(url){
+      return new Promise((resolve, reject) => {
+        var credentials = {
+          accessKeyId: "AKIATLPEDU37QV5CHLMH",
+          secretAccessKey: "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",
+        }; //秘钥形式的登录上传
+        window.AWS.config.update(credentials);
+        window.AWS.config.region = "cn-northwest-1"; //设置区域
+        let url2 = url;
+        let _url2 = "";
+        if (
+          url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
+        ) {
+          _url2 = url2.split(
+            "https://view.officeapps.live.com/op/view.aspx?src="
+          )[1];
+        } else {
+          _url2 = url2;
+        }
+        var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
+        let name = decodeURIComponent(_url2.split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1])
+        var params = {
+          Bucket: "ccrb",
+          Key: name
+        };
+        s3.getObject(params, function (err, data) {
+          if (err) {
+            console.log(err, err.stack)
+            resolve({ data: 1 });
+          } else {
+            resolve({ data: data.Body });
+            console.log(data);
+          }          // sxuccessful response
+
+        });
+      });
+    },
     getAnalysisMixin(obj) {
       return new Promise(async (resolve) => {
         let { fileId, assistantData, content, analysisData, baseMessage } = obj;
@@ -1208,12 +1206,8 @@ CH:${_CH}
       })
     },
     //文本转录
-    wavAudioToTextAndObjMixin(data) {
+    wavAudioToTextAndObjMixin(file) {
       return new Promise(async (resolve) => {
-        let { wavUrl } = data;
-
-        let wavBlob = await getFileBody(wavUrl)
-        const audioFile = new File([wavBlob.data], 'audio.wav', { type: 'audio/wav' });
         let iframeRef = this.$refs["iframeRef"];
         iframeRef.contentWindow.window.document.getElementById(
           "languageOptions"
@@ -1293,7 +1287,7 @@ CH:${_CH}
 
         //开始转录
         iframeRef.contentWindow.ConversationTranscriber({
-          files: [audioFile]
+          files: [file]
         });
       })
 

部分文件因为文件数量过多而无法显示