富文本编辑器内容
富文本编辑器(editor)——可选多种编辑器接入社区发帖与编辑页,支持网易云/音频正文渲染
免费
详情介绍
一、插件简介
富文本编辑器插件通过钩子替换社区发帖/编辑页的正文输入区域,站长可在应用中心一键切换纯文本或多种富文本/Markdown 编辑器,无需改代码。
| 入口 | 路径 |
|---|---|
| 前台 | 社区发帖页 /topic/create、编辑页 /topic/edit/{id}(正文区域) |
| 后台 | 无独立菜单,仅在应用中心配置 |
URL 后缀说明:发帖/编辑页路径受社区路由配置影响,示例 /topic/create.html。
二、核心能力
| 能力 | 说明 |
|---|---|
| 多编辑器 | 纯文本、wangEditor、Quill、TinyMCE、EasyMDE、Summernote、Trumbowyg、CKEditor 5、Vditor |
| 钩子接入 | compose_body 渲染编辑器;compose_assets 加载 JS/CSS |
| 图片上传 | 各编辑器对接社区发帖上传接口 |
| Markdown | EasyMDE、Vditor 编辑 Markdown,提交时转 HTML |
| HTML 源码 | wangEditor 支持源码/预览/全屏 |
| 正文增强 | filterHtml 将网易云链接、音频占位转为播放器 |
| 全局样式 | 前台注入音频/音乐播放器 CSS |
| AI 写回 | 支持 __composeEditorApply 供 AI 助手润色回写 |
三、依赖与安装
- 必须先安装并启用 `community`(BBS社区)——编辑器挂载在社区发帖/编辑模板。
- 无数据库表,安装/卸载为空操作。
- 静态资源位于
public/static/editor/(wangEditor、Quill、EasyMDE 等);TinyMCE/Summernote 等部分使用 CDN。 - 与
aiassistant插件可配合使用 AI 优化正文。
四、应用中心基础配置
字段来自 EditorPlugin::configSchema():
| 配置项 | 类型 | 说明 |
|---|---|---|
启用编辑器插件 enabled | 开关 | 关闭后发帖页回退为系统默认纯文本框 |
编辑器类型 type | 下拉 | 见下表 |
编辑器类型选项
| 值 | 名称 | 说明 |
|---|---|---|
textarea | 纯文本 | 系统默认多行文本框 |
wangeditor | wangEditor | 默认推荐,功能完整 |
quill | Quill | 轻量富文本 |
tinymce | TinyMCE | CDN 加载,GPL 许可 |
easymde | EasyMDE Markdown | 提交时 MD→HTML |
summernote | Summernote | 依赖 jQuery |
trumbowyg | Trumbowyg | 轻量,中文语言包 |
ckeditor5 | CKEditor 5 | Classic 构建 |
vditor | Vditor Markdown | 即时渲染模式 |
五、后台/重点配置
无后台菜单。切换编辑器后建议:
- 前台打开发帖页确认工具栏与上传正常
- 发布测试帖检查详情页排版
- 若从富文本切到 Markdown 编辑器,旧 HTML 帖编辑时会尝试转为 Markdown 回显
六、前台用户流程
- 用户进入发帖或编辑页,钩子
compose_body渲染所选编辑器。 - 编辑内容;图片通过编辑器上传按钮走社区
topic/upload接口。 - 提交表单前 JS 调用
window.__composeEditorSync()将内容同步到隐藏域content。 - 帖子详情页经
HookService::filterHtml()链处理,本插件将uc-music-netease、uc-audio等占位转为播放器。
七、后台审核与运维
无审核流程。运维注意:
- CDN 编辑器(TinyMCE、Summernote 等)需服务器能访问外网
- 升级编辑器静态资源版本时同步
public/static/editor/目录
八、特殊说明
钩子插槽
| 插槽 | 优先级 | 说明 |
|---|---|---|
compose_body | — | 替换正文编辑区域 |
compose_assets | — | 页面底部加载编辑器资源 |
filterHtml 链
EditorPlugin::filterHtml() 在帖子展示时执行:
uc-music-netease/uc-music-netease-pl链接 → 网易云 iframe 播放器uc-audio链接(可选封面uc-audio-cover)→ HTML5 audio 播放器
renderAssets
全站注入播放器相关 <style>,不依赖是否在发帖页。
全局 JS 约定
window.__composeEditorSync():提交前同步内容window.__composeEditorApply(html):外部写入内容(AI 助手)
九、推荐上线清单
- 确认
community已启用 - 应用中心启用插件并选择编辑器类型
- 测试发帖、编辑、图片上传
- 检查帖子详情页图片与排版
- 若使用 Markdown 编辑器,测试 MD 语法与预览
- 确认服务器可加载 CDN 资源(若选 TinyMCE 等)
- 与
aiassistant联调 AI 润色回写(可选)
十、常见问题
Q:发帖页仍是纯文本框? 确认 editor 插件已安装且 enabled 为开启;检查是否与其他插件冲突。
Q:图片上传失败? 检查社区上传权限与 topic/upload 接口;浏览器控制台查看 __editorUploadFile 错误。
Q:TinyMCE/Summernote 空白? 多为 CDN 无法访问,可改用本地资源的 wangEditor/Quill,或配置代理。
Q:编辑旧帖出现 HTML 标签? EasyMDE/Vditor 会尝试 HTML→Markdown 转换;复杂排版可能需手动调整。
Q:网易云链接没有播放器? 链接需带 uc-music-netease 类名(发帖时通过编辑器插入);纯文本链接不会自动转换。
更新记录 (2)
-
v1.0.2
2026-08-25
1、优化编辑器UI样式 2、移除反人类编辑器
-
v1.0.1
2026-08-24
首次发布