Bladeren bron

feat: 编辑器

zhangjie 6 maanden geleden
bovenliggende
commit
a9dfb7d5cb
2 gewijzigde bestanden met toevoegingen van 24 en 1 verwijderingen
  1. 2 1
      src/components/vEditor/components/VMenu.vue
  2. 22 0
      src/components/vEditor/components/audio.js

+ 2 - 1
src/components/vEditor/components/VMenu.vue

@@ -130,7 +130,7 @@
 
 <script>
 import { setDocMode } from "./changeMode";
-import { audioHandle } from "./audio";
+import { audioHandle, uploadAudioHandle } from "./audio";
 import { imageHandle } from "./image";
 import { answerPointHandle } from "./answerPoint";
 // import FormulaDialog from "./FormulaDialog";
@@ -154,6 +154,7 @@ export default {
         type: "audio/wav",
       });
       console.log("file", file);
+      uploadAudioHandle.bind(this.$parent)(file);
     },
     openVoiceDialog() {
       this.$refs.TtsDialog.open();

+ 22 - 0
src/components/vEditor/components/audio.js

@@ -44,3 +44,25 @@ export async function audioHandle(event) {
   document.execCommand("insertHTML", false, imageNode.outerHTML);
   this.$emit("audio-added");
 }
+
+export async function uploadAudioHandle(file) {
+  this.$refs.editor.focus();
+
+  // if (file.size > this.maxAudioSize) {
+  //   this.$message(
+  //     `音频大小超过限制!最大不超过 ${this.maxAudioSize / 1024 / 1024} MB.`
+  //   );
+  //   return;
+  // }
+
+  // 上传音频文件
+  const res = await saveAudioApi({ file });
+  console.log(res.data);
+
+  const imageNode = await audioToImageNode(res.data);
+  console.log(imageNode);
+  // console.log({ relativeFilePath, imageNode });
+  // console.log(imageNode.outerHTML);
+  document.execCommand("insertHTML", false, imageNode.outerHTML);
+  this.$emit("audio-added");
+}