欢迎光临散文网 会员登陆 & 注册

7) 文章管理&vue2富文本百度编辑器(UEditor)支持

2022-11-09 15:08 作者:紫檀清香  | 我要投稿

一个内容系统自然离不开富文本编辑器的支持,这里选择了老牌的百度编辑器(UEditor)作为用户内容输入的控件。个人多年下来也习惯它的风格与功能也认为UEditor是非常棒的富文本编辑器。虽然目前已经很少再更新了,但也不妨碍我们使用。

下载UEditor包后 在public将UEditor放到这个目录


 vue里面还需要下章vue-ueditor-wrap组件 https://github.com/HaoChuan9421/vue-ueditor-wrap/tree/2.x 【一个“包装”了 UEditor 的 Vue 组件,支持通过 v-model 来绑定富文本编辑器的内容,让 UEditor 的使用简单到像 Input 框一样。】

Installation


服务端将使用 UEditor.Core 对 UEditor 文件上传支持【https://github.com/fangjun953322/UEditor.Core】

YiAim.Cms.HttpApi安装UEditor.Core包依赖 将UEditor项目里面的config.json复制到YiAim.Cms.Web里面并重命名为uEditorConfig.json同时将文件设为可复制 在YiAim.Cms.HttpApi的CmsHttpApiModule.cs 注入UEditor的服务


将blog里面的curd方法补全同时确保api能正常访问,这里将文章分类设为可空(本人项目需求)

需要注意的是添加、修改文章的时候要用事务,确保文章、标签、文章标签关联的数据能一起保存 这里使用abp自动生成的crud时,对于添加文章来说很明显是不能满足我们的业务需求的,所有这里选择了重写,按照满足业务需求的方式进行实现,同时采用 ABP框架的工作单元(UOW) 实现事务控制 【https://docs.abp.io/zh-Hans/abp/6.0/Unit-Of-Work】

Category.cs 改为


进行数据迁移,重新生成表结构。这是blog表已经移除了外键关联

IBlogService.cs


BlogService.cs


访问swagger 可以看到blog与UEditor的api都是正常的

回到vue里面,在 src\api\blogs\blog.js里面补全blog接口请求

blog.js



在 src\views\cms\blog文件夹里面,创建index.vue 列表页、edit.vue编辑页、create.vue创建页,不管是创建还是编辑本质都是from表单,所有把用户输入的表单抽出成为一个公共组件,新建components文件夹里面,新建ArticleFromDetail.vue

index.vue


create.vue


edit.vue



  • ArticleFromDetail.vue 文件里面为了防止代码过多、方便管理,我们将js、css 都单独抽离出来

articleEdit.js 放在 src\assets\js里面


articleEdit.css 放在 src\styles里面


由于前端代码太多,这里只贴几个关键的代码

来看一下目前实现的效果

到此,本章就基本完成文章管理&富文本百度编辑器(UEditor)的使用,文章的修改、删除之类的功能就不再贴出源码,有需要的可以拉取源码看一看。内容管理系统里面还差一个上传文件(图片)的功能。下章就完成图片上传、裁剪的相关功能。



7) 文章管理&vue2富文本百度编辑器(UEditor)支持的评论 (共 条)

分享到微博请遵守国家法律