From 5a80a60227011398c8fe306d4adcdd09297d21e2 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 23 十月 2025 18:04:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/send_coupon' into send_coupon
---
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