From 406d27d67d643c91bb9a5cff5582994cec19b1a1 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 04 八月 2025 18:12:05 +0800
Subject: [PATCH] 厨神二维码,新闻添加的bug

---
 manager/src/views/news/index.vue |  149 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 103 insertions(+), 46 deletions(-)

diff --git a/manager/src/views/news/index.vue b/manager/src/views/news/index.vue
index bf83454..81e8cd4 100644
--- a/manager/src/views/news/index.vue
+++ b/manager/src/views/news/index.vue
@@ -53,7 +53,7 @@
 
       <!-- 鎿嶄綔鎸夐挳 -->
       <Row class="operation">
-        <Button @click="openAdd" type="primary" icon="md-add">鏂板娲诲姩</Button>
+        <Button @click="openAdd" type="primary" icon="md-add">鏂板鏂伴椈</Button>
         <Button @click="delBatch" type="error" icon="md-trash" :disabled="selectCount === 0">鎵归噺鍒犻櫎</Button>
       </Row>
 
@@ -134,7 +134,7 @@
               </FormItem>
             </Col>
             <Col span="24">
-              <FormItem label="鏂伴椈鍐呭锛�" prop="content">
+              <FormItem label="蹇鍐呭锛�" prop="content">
                 <Upload
                   :show-upload-list="false"
                   ref="upload"
@@ -232,7 +232,7 @@
 import 'quill/dist/quill.bubble.css';
 
 import * as Quill from 'quill' //寮曞叆缂栬緫鍣�
-import VideoBlot from '../activity/video.js';
+import VideoBlot from './video.js';
 
 const toolbarOptions = [
   ['bold', 'italic', 'underline', 'strike'],        // 鍔犵矖锛屾枩浣擄紝涓嬪垝绾匡紝鍒犻櫎绾�
@@ -443,10 +443,15 @@
   },
   mounted() {
     //鍒濆鍖�
-    this.Quill=this.$refs.QuillEditor.quill
-    this.getNewsList();
-    this.initTitle();
-    this.initButton();
+    this.$nextTick(() => {
+      if (this.$refs.QuillEditor) {
+        this.Quill=this.$refs.QuillEditor.quill
+        this.getNewsList();
+        this.initTitle();
+        this.initButton();
+      }
+    })
+
   },
   methods:{
     onEditorBlur(editor) {
@@ -492,8 +497,57 @@
       this.uploadFile2()
       return false
     },
-    uploadFile2() {
+    getFileType(file) {
+      // 鑾峰彇鏂囦欢绫诲瀷鎴栨墿灞曞悕
+      let type, extension;
 
+      if (file instanceof File) {
+        // 濡傛灉鏄疐ile瀵硅薄
+        type = file.type;
+        const name = file.name.toLowerCase();
+        extension = name.substring(name.lastIndexOf('.') + 1);
+      } else if (typeof file === 'string') {
+        // 濡傛灉鏄瓧绗︿覆锛堟枃浠跺悕鎴朥RL锛�
+        const name = file.toLowerCase();
+        extension = name.substring(name.lastIndexOf('.') + 1);
+
+        // 灏濊瘯浠嶶RL涓彁鍙朚IME绫诲瀷锛堝鏋滄湁锛�
+        const mimeMatch = file.match(/^data:(.+?);/);
+        if (mimeMatch) {
+          type = mimeMatch[1];
+        }
+      } else {
+        return 'unknown';
+      }
+
+      // 甯歌鍥剧墖鍜岃棰戠殑MIME绫诲瀷
+      const imageTypes = [
+        'image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/bmp', 'image/svg+xml'
+      ];
+
+      const videoTypes = [
+        'video/mp4', 'video/webm', 'video/ogg', 'video/quicktime', 'video/x-msvideo', 'video/x-matroska'
+      ];
+
+      // 妫�鏌IME绫诲瀷
+      if (type) {
+        if (imageTypes.includes(type)) return 'image';
+        if (videoTypes.includes(type)) return 'video';
+      }
+
+      // 甯歌鍥剧墖鍜岃棰戠殑鎵╁睍鍚�
+      const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'svg'];
+      const videoExtensions = ['mp4', 'webm', 'ogg', 'mov', 'avi', 'mkv'];
+
+      // 妫�鏌ユ枃浠舵墿灞曞悕
+      if (extension) {
+        if (imageExtensions.includes(extension)) return 'image';
+        if (videoExtensions.includes(extension)) return 'video';
+      }
+
+      return 'unknown';
+    },
+    uploadFile2() {
       if (!this.file) return
 
       this.submitLoading = true
@@ -505,11 +559,12 @@
           let url = res.data.url;
           let fileKey = res.data.fileKey;
           let fileType = this.getFileType(this.file);
-
+          console.log("鎵撳嵃")
+          console.log(this.Quill);
           const range = this.Quill.getSelection();
           const index = range ? range.index : this.Quill.getLength();
 
-          console.log("--------");
+          console.log(fileType);
           if (fileType === 'video') {
             this.Quill.insertEmbed(index, 'video', {
               url:url,
@@ -528,6 +583,8 @@
           console.log(this.newsForm.content)
           this.Quill.setSelection(index + 1);
           this.$Message.success('涓婁紶鎴愬姛')
+        }else{
+          this.$Message.error(res.msg)
         }
       }).catch(() => {
         this.submitLoading = false
@@ -551,39 +608,39 @@
 
     saveOrUpdate(){
       console.log(this.newsForm)
-      // this.$refs.form.validate(valid => {
-      //   if (valid) {
-      //     this.submitLoading = true
-      //     const submitData = {
-      //       ...this.newsForm,
-      //       publish: this.newsForm.publish !== 0,  // true 鈫� 1, false 鈫� 0
-      //     };
-      //     if (this.newsForm.id){
-      //       editNews(submitData).then(res => {
-      //         this.submitLoading = false
-      //         if (res.code === 200) {
-      //           this.$Message.success(res.msg)
-      //           this.modelClose()
-      //           this.getNewsList()
-      //         }
-      //       }).catch(() => {
-      //         this.submitLoading = false
-      //       })
-      //     }else {
-      //       addNews(submitData).then(res => {
-      //         this.submitLoading = false
-      //         if (res.code === 200) {
-      //           this.$Message.success(res.msg)
-      //           this.modelClose()
-      //           this.getNewsList()
-      //         }
-      //       }).catch(() => {
-      //         this.submitLoading = false
-      //       })
-      //     }
-      //
-      //   }
-      // })
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          this.submitLoading = true
+          const submitData = {
+            ...this.newsForm,
+            publish: this.newsForm.publish !== 0,  // true 鈫� 1, false 鈫� 0
+          };
+          if (this.newsForm.id){
+            editNews(submitData).then(res => {
+              this.submitLoading = false
+              if (res.code === 200) {
+                this.$Message.success(res.msg)
+                this.modelClose()
+                this.getNewsList()
+              }
+            }).catch(() => {
+              this.submitLoading = false
+            })
+          }else {
+            addNews(submitData).then(res => {
+              this.submitLoading = false
+              if (res.code === 200) {
+                this.$Message.success(res.msg)
+                this.modelClose()
+                this.getNewsList()
+              }
+            }).catch(() => {
+              this.submitLoading = false
+            })
+          }
+
+        }
+      })
     },
 
     infoModelClose(){
@@ -617,17 +674,17 @@
     },
 
     openEdit(row){
-      this.modelTitle = '淇敼鏂伴椈';
+      this.modelTitle = '淇敼蹇';
       this.modelShow = true;
       this.$refs.form.resetFields();
       this.newsForm.title = row.title;
       this.newsForm.content = row.content;
       this.newsForm.id = row.id;
-      this.$refs.editor.setContent(this.newsForm.content)
+      // this.$refs.editor.setContent(this.newsForm.content)
     },
 
     openAdd(){
-      this.modelTitle = '鏂板鏂伴椈';
+      this.modelTitle = '鏂板蹇';
       this.modelShow = true;
       this.$refs.form.resetFields()
       this.newsForm.id = '';

--
Gitblit v1.8.0