import {rand} from "../../util.js"; const template=`
`; function unescapeHTML(escapedHTML) { const temp = document.createElement('textarea'); temp.innerHTML = escapedHTML; return temp.value; } export default { name: "Wangeditor", data: function () { return { id:'', editor:'', width_:'', height_:'' } }, mounted:function (){ this.id=rand(1000,9999); if(this.width && (this.width.indexOf('%')>-1 || this.width.indexOf('px')>-1)){ this.width_=this.width; }else{ this.width_=this.width+'px'; } if(this.height && (this.height.indexOf('%')>-1 || this.height.indexOf('px')>-1)){ this.height_=this.height; }else{ this.height_=this.height+'px'; } Yunqi.use('/assets/libs/wangeditor/index.js').then(res=>{ this.editor=window.wangEditor; let time=rand(100,999); setTimeout(()=>{ this.createEditor(); },time); }); }, props:{ mode:'default',//or 'simple' value:'', field:{ type:String, default: '' }, width:{ type:String, default:'100%' }, height:{ type:String, default:'350' } }, template:template, emits:['change'], methods:{ createEditor:function (){ let editorConfig={ placeholder:'请输入内容', MENU_CONF:{ uploadImage: { customBrowseAndUpload(insertFn) { Yunqi.api.open({ url: 'general/attachment/select?limit=10', title:'选择图片', icon:'fa fa-image', width:1000, height:550, close:function (imgs){ if(!imgs){ return; } imgs.forEach(img=>{ insertFn(img,'',img); }); } }); } }, uploadVideo:{ server: '/ajax/upload' } }, onChange:(editor)=>{ if(this.field){ this.$emit('change',{field:this.field,value:editor.getHtml()}); }else{ this.$emit('change',editor.getHtml()); } } }; let editor=this.editor.createEditor({ selector: '#editor-container-'+this.id, html: this.value?unescapeHTML(this.value):'


', config: editorConfig, mode: this.mode }); let toolbarConfig={}; this.editor.createToolbar({ editor, selector: '#toolbar-container-'+this.id, config: toolbarConfig, mode: this.mode }) } } };