feat: 🚀 生产环境

This commit is contained in:
2025-07-29 12:01:11 +08:00
parent 41da6b1914
commit 5da9c11771
3 changed files with 28 additions and 34 deletions

BIN
dist.zip

Binary file not shown.

BIN
dist07-28.zip Normal file

Binary file not shown.

View File

@@ -29,8 +29,8 @@
<QuillEditor <QuillEditor
id="mainEditor" id="mainEditor"
ref="myQuillEditor" ref="myQuillEditor"
contentType="html"
v-model:content="editorContent" v-model:content="editorContent"
contentType="html"
@update:content="onContentChange" @update:content="onContentChange"
:options="options" :options="options"
/> />
@@ -53,7 +53,6 @@
editable editable
@edit="handleTabsEdit" @edit="handleTabsEdit"
@tab-change="handleTabChange" @tab-change="handleTabChange"
v-if="tabsData.length"
> >
<!-- 标签页标题支持编辑 --> <!-- 标签页标题支持编辑 -->
<el-tab-pane <el-tab-pane
@@ -113,8 +112,7 @@
<script setup name="Editor"> <script setup name="Editor">
import { QuillEditor, Quill } from "@vueup/vue-quill"; import { QuillEditor, Quill } from "@vueup/vue-quill";
import "@vueup/vue-quill/dist/vue-quill.snow.css"; import "@vueup/vue-quill/dist/vue-quill.snow.css";
// /computed import { getCurrentInstance, reactive, ref, toRaw, computed, onMounted, nextTick } from "vue";
import { getCurrentInstance, reactive, ref, toRaw, onMounted, nextTick } from "vue";
import { generateUUID } from "@/utils"; import { generateUUID } from "@/utils";
// import { h } from "@/utils/url"; // import { h } from "@/utils/url";
import { routerObj } from "./utils.js"; import { routerObj } from "./utils.js";
@@ -128,7 +126,7 @@ let fontSizeStyle = Quill.import("attributors/style/size");
fontSizeStyle.whitelist = ["12px", "14px", "16px", "18px", "20px", "22px", "24px", "26px", "28px", "30px", "32px"]; fontSizeStyle.whitelist = ["12px", "14px", "16px", "18px", "20px", "22px", "24px", "26px", "28px", "30px", "32px"];
Quill.register(fontSizeStyle, true); Quill.register(fontSizeStyle, true);
// 自定义Blot; // 自定义Blot
import ImageBlot from "./quill-image"; import ImageBlot from "./quill-image";
import Video from "./quill-video"; import Video from "./quill-video";
import TabsBlot from "./quill-tabs"; import TabsBlot from "./quill-tabs";
@@ -153,7 +151,7 @@ const activeEditor = ref("main"); // 跟踪当前活跃编辑器main/tab-索
// 标签页数据新增key作为唯一标识isEditing控制编辑状态 // 标签页数据新增key作为唯一标识isEditing控制编辑状态
const tabsData = ref([]); const tabsData = ref([]);
// 标签页编辑器ref数组 // 标签页编辑器ref数组
const tabEditors = reactive([]); const tabEditors = ref([]);
// 标题编辑输入框的ref // 标题编辑输入框的ref
const editInputRefs = ref([]); const editInputRefs = ref([]);
const currentEditingTabsRef = ref(null); const currentEditingTabsRef = ref(null);
@@ -166,9 +164,7 @@ const props = defineProps({
// 主编辑器内容双向绑定 // 主编辑器内容双向绑定
const editorContent = computed({ const editorContent = computed({
get: () => { get: () => props.content,
return props.content;
},
set: val => { set: val => {
emit("update:content", val); emit("update:content", val);
} }
@@ -179,7 +175,6 @@ const myQuillEditor = ref(null); // 主编辑器ref
const options = reactive({ const options = reactive({
theme: "snow", theme: "snow",
debug: "warn", debug: "warn",
strict: false,
modules: { modules: {
toolbar: { toolbar: {
container: [ container: [
@@ -306,7 +301,7 @@ const handleHttpUpload = async options => {
quill = rawQuillEditor.getQuill(); quill = rawQuillEditor.getQuill();
} else { } else {
const tabIndex = parseInt(activeEditor.value.split("-")[1]); const tabIndex = parseInt(activeEditor.value.split("-")[1]);
rawQuillEditor = toRaw(tabEditors[tabIndex]); rawQuillEditor = toRaw(tabEditors.value[tabIndex]);
quill = rawQuillEditor.getQuill(); quill = rawQuillEditor.getQuill();
} }
@@ -442,7 +437,7 @@ const insertVideoToEditor = (videoUrl, coverUrl) => {
quill = toRaw(myQuillEditor.value)?.getQuill(); quill = toRaw(myQuillEditor.value)?.getQuill();
} else { } else {
const tabIndex = parseInt(activeEditor.value.split("-")[1]); const tabIndex = parseInt(activeEditor.value.split("-")[1]);
quill = toRaw(tabEditors[tabIndex])?.getQuill(); quill = toRaw(tabEditors.value[tabIndex])?.getQuill();
} }
if (quill) { if (quill) {
@@ -489,7 +484,7 @@ const handleTabsEdit = (targetKey, action) => {
// 删除标签页 // 删除标签页
const index = tabsData.value.findIndex(item => item.key === targetKey); const index = tabsData.value.findIndex(item => item.key === targetKey);
tabsData.value.splice(index, 1); tabsData.value.splice(index, 1);
tabEditors.splice(index, 1); tabEditors.value.splice(index, 1);
editInputRefs.value.splice(index, 1); editInputRefs.value.splice(index, 1);
// 调整活跃编辑器索引 // 调整活跃编辑器索引
@@ -537,7 +532,6 @@ const finishEditTitle = index => {
// 其他方法(保持不变) // 其他方法(保持不变)
const onContentChange = content => { const onContentChange = content => {
console.log(content, "=content=");
emit("handleRichTextContentChange", content); emit("handleRichTextContentChange", content);
emit("update:content", content); emit("update:content", content);
}; };
@@ -615,25 +609,26 @@ const loadTabsDataToEditor = tabs => {
}; };
onMounted(() => { onMounted(() => {
nextTick(() => { initTitle();
initTitle(); // 监听编辑按钮点击事件
// 监听编辑按钮点击事件 const editorEl = document.querySelector(".ql-editor");
const editorEl = document.querySelector(".ql-editor"); if (editorEl) {
if (editorEl) { editorEl.addEventListener("edit-tabs", e => {
editorEl.addEventListener("edit-tabs", e => { console.log(1232, "测试");
console.log(e.detail.blot, "=e.detail="); console.log(e.detail.blot, "=e.detail=");
const tabsData = TabsBlot.value(e.detail.blot.domNode); const tabsData = TabsBlot.value(e.detail.blot.domNode);
if (tabsData.length > 0) { console.log(tabsData, "=tabsData=");
// 保存当前编辑的标签页引用 if (tabsData.length > 0) {
currentEditingTabsRef.value = e.detail.blot; // 保存当前编辑的标签页引用
// 加载数据到弹窗 currentEditingTabsRef.value = e.detail.blot;
loadTabsDataToEditor(tabsData); console.log(currentEditingTabsRef.value, "=currentEditingTabsRef.value =");
// 显示弹窗 // 加载数据到弹窗
outerVisible.value = true; loadTabsDataToEditor(tabsData);
} // 显示弹窗
}); outerVisible.value = true;
} }
}); });
}
}); });
defineExpose({ defineExpose({
@@ -674,4 +669,3 @@ defineExpose({
margin: -2px 0; /* 与标签对齐 */ margin: -2px 0; /* 与标签对齐 */
} }
</style> </style>
./quill-image1111