<vue-html5-editor
style="z-index: 0"
:content.sync="content"
:height="300"
:autoHeight="false"
@change="updateData"
/>
updateData(e = "") {
let c1 = e.replace(/<img width="100%"/g, "<img");
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.content = c2;
},
import Vue from 'vue'
import VueHtml5Editor from 'vue-html5-editor'
export default function () {
let opt = {
name: "vue-html5-editor",
showModuleName: true,
icons: {
text: "fa fa-pencil",
color: "fa fa-paint-brush",
font: "fa fa-font",
align: "fa fa-align-justify",
list: "fa fa-list",
link: "fa fa-chain",
unlink: "fa fa-chain-broken",
tabulation: "fa fa-table",
image: "fa fa-file-image-o",
hr: "fa fa-minus",
eraser: "fa fa-eraser",
undo: "fa-undo fa",
"full-screen": "fa fa-arrows-alt",
info: "fa fa-info",
},
image: {
sizeLimit: 512 * 1024 * 10,
upload: {
url: 'http://10.135.16.116:9080/zhengzhou/focCommonController.do?focUploadImage&uploadPath=article',
headers: {},
params: {},
fieldName: 'upload'
},
compress: {
width: 200,
height: 200,
quality: 80
},
uploadHandler(responseText) {
var json = JSON.parse(responseText);
console.info(json);
if (!json.success) {
this.$toast('上传失败');
} else {
return json.result
}
}
},
language: "zh-cn",
i18n: {
"zh-cn": {
"align": "对齐方式",
"image": "图片",
"list": "列表",
"link": "链接",
"unlink": "去除链接",
"table": "表格",
"font": "文字",
"full screen": "全屏",
"text": "排版",
"eraser": "格式清除",
"info": "关于",
"color": "颜色",
"please enter a url": "请输入地址",
"create link": "创建链接",
"bold": "加粗",
"italic": "倾斜",
"underline": "下划线",
"strike through": "删除线",
"subscript": "上标",
"superscript": "下标",
"heading": "标题",
"font name": "字体",
"font size": "文字大小",
"left justify": "左对齐",
"center justify": "居中",
"right justify": "右对齐",
"ordered list": "有序列表",
"unordered list": "无序列表",
"fore color": "前景色",
"background color": "背景色",
"row count": "行数",
"column count": "列数",
"save": "确定",
"upload": "上传",
"progress": "进度",
"unknown": "未知",
"please wait": "请稍等",
"error": "错误",
"abort": "中断",
"reset": "重置",
"emoji": "emoji"
}
},
hiddenModules: [],
visibleModules: [
"text",
"color",
"font",
"align",
"image",
"hr",
"eraser",
"full-screen",
"emoji"
],
modules: [
{
name: "emoji",
icon: "fa fa-smile-o",
i18n: "emoji",
show: true,
init: function (editor) {
console.log("emoji module init")
},
dashboard: {
template: ` <div>
<span v-for="(s,index) in brow" :key="index" @click="insertSymbol(s)" v-html="s.value"></span>
</div>`,
mixins: [emojiIcons],
data: function () {
return {
symbols: [
">_<|||",
"^_^;",
"⊙﹏⊙‖∣°",
"^_^|||",
"^_^\"",
"→_→",
"..@_@|||||..",
"…(⊙_⊙;)…",
"o_o ....",
"O__O",
"///^_^.......",
"?o?|||",
"( ^_^ )? ",
"(+_+)?",
"(?ε?)? ",
"o_O???",
"@_@a",
"一 一+",
">\"<||||",
"‘(*>﹏<*)′"
]
}
},
methods: {
insertSymbol: function (symbol) {
this.$parent.execCommand("insertHTML", symbol.key)
}
}
}
}
],
};
Vue.use(VueHtml5Editor, opt);
}