You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
15 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"remainingRequest":"D:\\code\\vue\\front\\node_modules\\babel-loader\\lib\\index.js!D:\\code\\vue\\front\\node_modules\\cache-loader\\dist\\cjs.js??ref--1-0!D:\\code\\vue\\front\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\code\\vue\\front\\src\\components\\Editor.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\code\\vue\\front\\src\\components\\Editor.vue","mtime":1709633798000},{"path":"D:\\code\\vue\\front\\babel.config.js","mtime":1709633798000},{"path":"D:\\code\\vue\\front\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\code\\vue\\front\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\code\\vue\\front\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8g5bel5YW35qCP6YWN572uCmNvbnN0IHRvb2xiYXJPcHRpb25zID0gW1siYm9sZCIsICJpdGFsaWMiLCAidW5kZXJsaW5lIiwgInN0cmlrZSJdLAovLyDliqDnspcg5pac5L2TIOS4i+WIkue6vyDliKDpmaTnur8KWyJibG9ja3F1b3RlIiwgImNvZGUtYmxvY2siXSwKLy8g5byV55SoICDku6PnoIHlnZcKW3sKICBoZWFkZXI6IDEKfSwgewogIGhlYWRlcjogMgp9XSwKLy8gMeOAgTIg57qn5qCH6aKYClt7CiAgbGlzdDogIm9yZGVyZWQiCn0sIHsKICBsaXN0OiAiYnVsbGV0Igp9XSwKLy8g5pyJ5bqP44CB5peg5bqP5YiX6KGoClt7CiAgc2NyaXB0OiAic3ViIgp9LCB7CiAgc2NyaXB0OiAic3VwZXIiCn1dLAovLyDkuIrmoIcv5LiL5qCHClt7CiAgaW5kZW50OiAiLTEiCn0sIHsKICBpbmRlbnQ6ICIrMSIKfV0sCi8vIOe8qei/mwpbewogIHNpemU6IFsic21hbGwiLCBmYWxzZSwgImxhcmdlIiwgImh1Z2UiXQp9XSwKLy8g5a2X5L2T5aSn5bCPClt7CiAgaGVhZGVyOiBbMSwgMiwgMywgNCwgNSwgNiwgZmFsc2VdCn1dLAovLyDmoIfpopgKW3sKICBjb2xvcjogW10KfSwgewogIGJhY2tncm91bmQ6IFtdCn1dLAovLyDlrZfkvZPpopzoibLjgIHlrZfkvZPog4zmma/popzoibIKW3sKICBmb250OiBbXQp9XSwKLy8g5a2X5L2T56eN57G7Clt7CiAgYWxpZ246IFtdCn1dLAovLyDlr7npvZDmlrnlvI8KWyJjbGVhbiJdLAovLyDmuIXpmaTmlofmnKzmoLzlvI8KWyJsaW5rIiwgImltYWdlIiwgInZpZGVvIl0gLy8g6ZO+5o6l44CB5Zu+54mH44CB6KeG6aKRCl07CmltcG9ydCBjb25maWcgZnJvbSAiQC9jb25maWcvY29uZmlnIjsKaW1wb3J0IHsgcXVpbGxFZGl0b3IgfSBmcm9tICJ2dWUtcXVpbGwtZWRpdG9yIjsKaW1wb3J0ICJxdWlsbC9kaXN0L3F1aWxsLmNvcmUuY3NzIjsKaW1wb3J0ICJxdWlsbC9kaXN0L3F1aWxsLnNub3cuY3NzIjsKaW1wb3J0ICJxdWlsbC9kaXN0L3F1aWxsLmJ1YmJsZS5jc3MiOwpleHBvcnQgZGVmYXVsdCB7CiAgcHJvcHM6IHsKICAgIC8q57yW6L6R5Zmo55qE5YaF5a65Ki8KICAgIHZhbHVlOiB7CiAgICAgIHR5cGU6IFN0cmluZwogICAgfSwKICAgIGFjdGlvbjogewogICAgICB0eXBlOiBTdHJpbmcKICAgIH0sCiAgICAvKuWbvueJh+Wkp+WwjyovCiAgICBtYXhTaXplOiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogNDAwMCAvL2tiCiAgICB9CiAgfSwKICBjb21wb25lbnRzOiB7CiAgICBxdWlsbEVkaXRvcgogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGJhc2VVcmw6IGNvbmZpZy5iYXNlVXJsLAogICAgICBjb250ZW50OiB0aGlzLnZhbHVlLAogICAgICBxdWlsbFVwZGF0ZUltZzogZmFsc2UsCiAgICAgIC8vIOagueaNruWbvueJh+S4iuS8oOeKtuaAgeadpeehruWumuaYr+WQpuaYvuekumxvYWRpbmfliqjnlLvvvIzliJrlvIDlp4vmmK9mYWxzZSzkuI3mmL7npLoKICAgICAgZWRpdG9yT3B0aW9uOiB7CiAgICAgICAgcGxhY2Vob2xkZXI6ICIiLAogICAgICAgIHRoZW1lOiAic25vdyIsCiAgICAgICAgLy8gb3IgJ2J1YmJsZScKICAgICAgICBtb2R1bGVzOiB7CiAgICAgICAgICB0b29sYmFyOiB7CiAgICAgICAgICAgIGNvbnRhaW5lcjogdG9vbGJhck9wdGlvbnMsCiAgICAgICAgICAgIGhhbmRsZXJzOiB7CiAgICAgICAgICAgICAgaW1hZ2U6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgIC8vIOinpuWPkWlucHV05qGG6YCJ5oup5Zu+54mH5paH5Lu2CiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5hdmF0YXItdXBsb2FkZXIgaW5wdXQiKS5jbGljaygpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgdGhpcy5xdWlsbC5mb3JtYXQoImltYWdlIiwgZmFsc2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSwKICAgICAgaGVhZGVyOiB7CiAgICAgICAgJ1Rva2VuJzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Zyb250VG9rZW4nKQogICAgICB9IC8vIOacieeahOWbvueJh+acjeWKoeWZqOimgeaxguivt+axguWktOmcgOimgeaciXRva2VuCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIC8vIOiuoeeul+WxnuaAp+eahCBnZXR0ZXIKICAgIGdldEFjdGlvblVybDogZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gdGhpcy5iYXNlVXJsICsgdGhpcy5hY3Rpb247CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBvbkVkaXRvckJsdXIoKSB7CiAgICAgIC8v5aSx5Y6754Sm54K55LqL5Lu2CiAgICB9LAogICAgb25FZGl0b3JGb2N1cygpIHsKICAgICAgLy/ojrflvpfnhKbngrnkuovku7YKICAgIH0sCiAgICBvbkVkaXRvckNoYW5nZSgpIHsKICAgICAgY29uc29sZS5sb2codGhpcy52YWx1ZSk7CiAgICAgIC8v5YaF5a655pS55Y+Y5LqL5Lu2CiAgICAgIHRoaXMuJGVtaXQoImlucHV0IiwgdGhpcy52YWx1ZSk7CiAgICB9LAogICAgLy8g5a+M5paH5pys5Zu+54mH5LiK5Lyg5YmNCiAgICBiZWZvcmVVcGxvYWQoKSB7CiAgICAgIC8vIOaYvuekumxvYWRpbmfliqjnlLsKICAgICAgdGhpcy5xdWlsbFVwZGF0ZUltZyA9IHRydWU7CiAgICB9LAogICAgdXBsb2FkU3VjY2VzcyhyZXMsIGZpbGUpIHsKICAgICAgLy8gcmVz5Li65Zu+54mH5pyN5Yqh5Zmo6L+U5Zue55qE5pWw5o2uCiAgICAgIC8vIOiOt+WPluWvjOaWh+acrOe7hOS7tuWunuS+iwogICAgICBsZXQgcXVpbGwgPSB0aGlzLiRyZWZzLm15UXVpbGxFZGl0b3IucXVpbGw7CiAgICAgIC8vIOWmguaenOS4iuS8oOaIkOWKnwogICAgICBpZiAocmVzLmNvZGUgPT09IDApIHsKICAgICAgICAvLyDojrflj5blhYnmoIfmiYDlnKjkvY3nva4KICAgICAgICBsZXQgbGVuZ3RoID0gcXVpbGwuZ2V0U2VsZWN0aW9uKCkuaW5kZXg7CiAgICAgICAgLy8g5o+S5YWl5Zu+54mHICByZXMudXJs5Li65pyN5Yqh5Zmo6L+U5Zue55qE5Zu+54mH5Zyw5Z2ACiAgICAgICAgcXVpbGwuaW5zZXJ0RW1iZWQobGVuZ3RoLCAiaW1hZ2UiLCB0aGlzLmJhc2VVcmwgKyAidXBsb2FkLyIgKyByZXMuZmlsZSk7CiAgICAgICAgLy8g6LCD5pW05YWJ5qCH5Yiw5pyA5ZCOCiAgICAgICAgcXVpbGwuc2V0U2VsZWN0aW9uKGxlbmd0aCArIDEpOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoIuWbvueJh+aPkuWFpeWksei0pSIpOwogICAgICB9CiAgICAgIC8vIGxvYWRpbmfliqjnlLvmtojlpLEKICAgICAgdGhpcy5xdWlsbFVwZGF0ZUltZyA9IGZhbHNlOwogICAgfSwKICAgIC8vIOWvjOaWh+acrOWbvueJh+S4iuS8oOWksei0pQogICAgdXBsb2FkRXJyb3IoKSB7CiAgICAgIC8vIGxvYWRpbmfliqjnlLvmtojlpLEKICAgICAgdGhpcy5xdWlsbFVwZGF0ZUltZyA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCLlm77niYfmj5LlhaXlpLHotKUiKTsKICAgIH0KICB9Cn07"},{"version":3,"names":["toolbarOptions","header","list","script","indent","size","color","background","font","align","config","quillEditor","props","value","type","String","action","maxSize","Number","default","components","data","baseUrl","content","quillUpdateImg","editorOption","placeholder","theme","modules","toolbar","container","handlers","image","document","querySelector","click","quill","format","localStorage","getItem","computed","getActionUrl","methods","onEditorBlur","onEditorFocus","onEditorChange","console","log","$emit","beforeUpload","uploadSuccess","res","file","$refs","myQuillEditor","code","length","getSelection","index","insertEmbed","setSelection","$message","error","uploadError"],"sources":["src/components/Editor.vue"],"sourcesContent":["<template>\n <div>\n <!-- 图片上传组件辅助-->\n <el-upload\n class=\"avatar-uploader\"\n :action=\"getActionUrl\"\n name=\"file\"\n :headers=\"header\"\n :show-file-list=\"false\"\n :on-success=\"uploadSuccess\"\n :on-error=\"uploadError\"\n :before-upload=\"beforeUpload\"\n ></el-upload>\n\n <quill-editor\n class=\"editor\"\n v-model=\"value\"\n ref=\"myQuillEditor\"\n :options=\"editorOption\"\n @blur=\"onEditorBlur($event)\"\n @focus=\"onEditorFocus($event)\"\n @change=\"onEditorChange($event)\"\n ></quill-editor>\n </div>\n</template>\n<script>\n// 工具栏配置\nconst toolbarOptions = [\n [\"bold\", \"italic\", \"underline\", \"strike\"], // 加粗 斜体 下划线 删除线\n [\"blockquote\", \"code-block\"], // 引用 代码块\n [{ header: 1 }, { header: 2 }], // 1、2 级标题\n [{ list: \"ordered\" }, { list: \"bullet\" }], // 有序、无序列表\n [{ script: \"sub\" }, { script: \"super\" }], // 上标/下标\n [{ indent: \"-1\" }, { indent: \"+1\" }], // 缩进\n [{ size: [\"small\", false, \"large\", \"huge\"] }], // 字体大小\n [{ header: [1, 2, 3, 4, 5, 6, false] }], // 标题\n [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色\n [{ font: [] }], // 字体种类\n [{ align: [] }], // 对齐方式\n [\"clean\"], // 清除文本格式\n [\"link\", \"image\", \"video\"] // 链接、图片、视频\n];\n\nimport config from \"@/config/config\";\nimport { quillEditor } from \"vue-quill-editor\";\nimport \"quill/dist/quill.core.css\";\nimport \"quill/dist/quill.snow.css\";\nimport \"quill/dist/quill.bubble.css\";\n\nexport default {\n props: {\n /*编辑器的内容*/\n value: {\n type: String\n },\n action: {\n type: String\n },\n /*图片大小*/\n maxSize: {\n type: Number,\n default: 4000 //kb\n }\n },\n\n components: {\n quillEditor\n },\n\n data() {\n return {\n baseUrl: config.baseUrl,\n content: this.value,\n quillUpdateImg: false, // 根据图片上传状态来确定是否显示loading动画刚开始是false,不显示\n editorOption: {\n placeholder: \"\",\n theme: \"snow\", // or 'bubble'\n modules: {\n toolbar: {\n container: toolbarOptions,\n handlers: {\n image: function(value) {\n if (value) {\n // 触发input框选择图片文件\n document.querySelector(\".avatar-uploader input\").click();\n } else {\n this.quill.format(\"image\", false);\n }\n }\n }\n }\n }\n },\n header: {\n 'Token': localStorage.getItem('frontToken')\n } // 有的图片服务器要求请求头需要有token\n };\n },\n computed: {\n // 计算属性的 getter\n getActionUrl: function() {\n return this.baseUrl + this.action;\n }\n },\n methods: {\n onEditorBlur() {\n //失去焦点事件\n },\n onEditorFocus() {\n //获得焦点事件\n },\n onEditorChange() {\n console.log(this.value);\n //内容改变事件\n this.$emit(\"input\", this.value);\n },\n // 富文本图片上传前\n beforeUpload() {\n // 显示loading动画\n this.quillUpdateImg = true;\n },\n\n uploadSuccess(res, file) {\n // res为图片服务器返回的数据\n // 获取富文本组件实例\n let quill = this.$refs.myQuillEditor.quill;\n // 如果上传成功\n if (res.code === 0) {\n // 获取光标所在位置\n let length = quill.getSelection().index;\n // 插入图片 res.url为服务器返回的图片地址\n quill.insertEmbed(length, \"image\", this.baseUrl+ \"upload/\" +res.file);\n // 调整光标到最后\n quill.setSelection(length + 1);\n } else {\n this.$message.error(\"图片插入失败\");\n }\n // loading动画消失\n this.quillUpdateImg = false;\n },\n // 富文本图片上传失败\n uploadError() {\n // loading动画消失\n this.quillUpdateImg = false;\n this.$message.error(\"图片插入失败\");\n }\n }\n};\n</script> \n\n<style>\n.editor {\n line-height: normal !important;\n}\n.ql-snow .ql-tooltip[data-mode=\"link\"]::before {\n content: \"请输入链接地址:\";\n}\n.ql-snow .ql-tooltip.ql-editing a.ql-action::after {\n border-right: 0px;\n content: \"保存\";\n padding-right: 0px;\n}\n\n.ql-snow .ql-tooltip[data-mode=\"video\"]::before {\n content: \"请输入视频地址:\";\n}\n.ql-container {\n\theight: 400px;\n}\n\n.ql-snow .ql-picker.ql-size .ql-picker-label::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item::before {\n content: \"14px\";\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"small\"]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"small\"]::before {\n content: \"10px\";\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"large\"]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"large\"]::before {\n content: \"18px\";\n}\n.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=\"huge\"]::before,\n.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=\"huge\"]::before {\n content: \"32px\";\n}\n\n.ql-snow .ql-picker.ql-header .ql-picker-label::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item::before {\n content: \"文本\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before {\n content: \"标题1\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before {\n content: \"标题2\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before {\n content: \"标题3\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before {\n content: \"标题4\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before {\n content: \"标题5\";\n}\n.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before,\n.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before {\n content: \"标题6\";\n}\n\n.ql-snow .ql-picker.ql-font .ql-picker-label::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item::before {\n content: \"标准字体\";\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=\"serif\"]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=\"serif\"]::before {\n content: \"衬线字体\";\n}\n.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=\"monospace\"]::before,\n.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=\"monospace\"]::before {\n content: \"等宽字体\";\n}\n</style>"],"mappings":"AA0BA;AACA,MAAAA,cAAA,IACA;AAAA;AACA;AAAA;AACA;EAAAC,MAAA;AAAA;EAAAA,MAAA;AAAA;AAAA;AACA;EAAAC,IAAA;AAAA;EAAAA,IAAA;AAAA;AAAA;AACA;EAAAC,MAAA;AAAA;EAAAA,MAAA;AAAA;AAAA;AACA;EAAAC,MAAA;AAAA;EAAAA,MAAA;AAAA;AAAA;AACA;EAAAC,IAAA;AAAA;AAAA;AACA;EAAAJ,MAAA;AAAA;AAAA;AACA;EAAAK,KAAA;AAAA;EAAAC,UAAA;AAAA;AAAA;AACA;EAAAC,IAAA;AAAA;AAAA;AACA;EAAAC,KAAA;AAAA;AAAA;AACA;AAAA;AACA;AAAA,CACA;AAEA,OAAAC,MAAA;AACA,SAAAC,WAAA;AACA;AACA;AACA;AAEA;EACAC,KAAA;IACA;IACAC,KAAA;MACAC,IAAA,EAAAC;IACA;IACAC,MAAA;MACAF,IAAA,EAAAC;IACA;IACA;IACAE,OAAA;MACAH,IAAA,EAAAI,MAAA;MACAC,OAAA;IACA;EACA;EAEAC,UAAA;IACAT;EACA;EAEAU,KAAA;IACA;MACAC,OAAA,EAAAZ,MAAA,CAAAY,OAAA;MACAC,OAAA,OAAAV,KAAA;MACAW,cAAA;MAAA;MACAC,YAAA;QACAC,WAAA;QACAC,KAAA;QAAA;QACAC,OAAA;UACAC,OAAA;YACAC,SAAA,EAAA9B,cAAA;YACA+B,QAAA;cACAC,KAAA,WAAAA,CAAAnB,KAAA;gBACA,IAAAA,KAAA;kBACA;kBACAoB,QAAA,CAAAC,aAAA,2BAAAC,KAAA;gBACA;kBACA,KAAAC,KAAA,CAAAC,MAAA;gBACA;cACA;YACA;UACA;QACA;MACA;MACApC,MAAA;QACA,SAAAqC,YAAA,CAAAC,OAAA;MACA;IACA;EACA;EACAC,QAAA;IACA;IACAC,YAAA,WAAAA,CAAA;MACA,YAAAnB,OAAA,QAAAN,MAAA;IACA;EACA;EACA0B,OAAA;IACAC,aAAA;MACA;IAAA,CACA;IACAC,cAAA;MACA;IAAA,CACA;IACAC,eAAA;MACAC,OAAA,CAAAC,GAAA,MAAAlC,KAAA;MACA;MACA,KAAAmC,KAAA,eAAAnC,KAAA;IACA;IACA;IACAoC,aAAA;MACA;MACA,KAAAzB,cAAA;IACA;IAEA0B,cAAAC,GAAA,EAAAC,IAAA;MACA;MACA;MACA,IAAAhB,KAAA,QAAAiB,KAAA,CAAAC,aAAA,CAAAlB,KAAA;MACA;MACA,IAAAe,GAAA,CAAAI,IAAA;QACA;QACA,IAAAC,MAAA,GAAApB,KAAA,CAAAqB,YAAA,GAAAC,KAAA;QACA;QACAtB,KAAA,CAAAuB,WAAA,CAAAH,MAAA,gBAAAlC,OAAA,eAAA6B,GAAA,CAAAC,IAAA;QACA;QACAhB,KAAA,CAAAwB,YAAA,CAAAJ,MAAA;MACA;QACA,KAAAK,QAAA,CAAAC,KAAA;MACA;MACA;MACA,KAAAtC,cAAA;IACA;IACA;IACAuC,YAAA;MACA;MACA,KAAAvC,cAAA;MACA,KAAAqC,QAAA,CAAAC,KAAA;IACA;EACA;AACA","ignoreList":[]}]}