当前位置: 首页 > Web前端 > vue.js

Vue中配置Tinymce富文本编辑器(配置图片上传)

时间:2023-03-31 16:56:03 vue.js

Vue中配置Tinymce富文本编辑器(配置图片上传)所有代码https://github.com/surest-sky...这里不用安装,动态加载js引用即可,否则加载的组件比较多,会影响访问速度详见https://github.com/surest-sky...请注意,在配置图片上传时,我配置了自己的上传逻辑,使用axios上传formData,在api/tools.js中上传到七牛云,由于上传需要鉴权,所以这一步在request>components/Tinymce/index.vueimport{uploadImage}from'@/api/tool';images_upload_handler:(blobInfo,success,失败)=>{让formdata=newFormData();formdata.append('文件',blobInfo.blob());uploadImage(formdata).then(data=>{success(data.file);}).catch(err=>{failure('ServerError');});}>api/tool.jsexportfunctionuploadImage(data,sign=""){returnasyncfunctionupload(){letsignData;if(sign){signData=awaitgetUplaodSignExam({sign:sign}).then(response=>{constsignData=response.datareturnsignData});}else{signData=awaitgetUplaodSign().then(response=>{constsignData=response.datareturnsignData});}const{uploadUrl,token,host,dir}=signData;data.append('token',token);constresult=awaitrequest({url:uploadUrl,method:'post',data:data}).然后(({散列,键})=>{返回{文件:主机+键}});returnresult}();}/***获取上传密钥信息*/exportfunctiongetUplaodSign(params){returnrequest({url:'/module/document/qiniu-sign',method:'post',data:params});}/***获取上传密钥信息*/exportfunctiongetUplaodSignExam(params){returnrequest({url:'/web/qiniu-sign',method:'post',data:params});}use从'@/components/Tinymce'导入Tinymce;omponents:{Tinymce}save方法会在执行CTRL+S时执行,设置自动保存时也会执行。v-model用于动态修改内容,见this.$emit('input',editor.getContent());详情