问题
在哪个配置文件里配置采用哪种在线编辑方式(OnlyOffice 高保真 Word / 富文本)?
答案
在后端 yudao-server 的 Spring Boot 配置文件中,通过 yudao.onlyoffice.editor-mode 统一指定;合同模版、合同正文、独立编辑页共用这一种方式,前端不提供切换。
详细说明
配置文件位置
按当前激活的 profile 生效,常见文件如下:
| 环境 | 文件路径 |
|---|---|
| 默认/公共 | ruoyi-office/yudao-server/src/main/resources/application.yaml |
| 本地开发 | ruoyi-office/yudao-server/src/main/resources/application-local.yaml |
| 生产 | ruoyi-office/yudao-server/src/main/resources/application-prod.yaml |
对应 Java 配置类:yudao-module-contract/.../OnlyOfficeProperties.java(前缀 yudao.onlyoffice)。
配置示例
yaml
yudao:
onlyoffice:
# 显式指定全局在线编辑方式(二选一)
editor-mode: onlyoffice # 高保真 Word(OnlyOffice)
# editor-mode: richtext # 富文本(Tinymce)
enabled: true
server-url: http://localhost:8081
jwt-secret: ruoyi-office-onlyoffice-secret
callback-base-url: http://host.docker.internal:48080editor-mode 可选值:
| 值 | 说明 |
|---|---|
onlyoffice | 合同模版、合同正文均用 OnlyOffice 在线编辑 Word |
richtext | 均用富文本编辑器(Tinymce) |
未配置 editor-mode 时的默认规则
若不写 editor-mode,后端按 enabled 自动推断(OnlyOfficeServiceImpl.getEditorMode()):
enabled: true且配置了server-url→ onlyoffice- 否则 → richtext
因此本地 application-local.yaml 中若 enabled: true,即使未写 editor-mode,也会走 OnlyOffice。
前端如何读取
前端启动后调用:
GET /admin-api/contract/onlyoffice/editor-mode
返回 onlyoffice 或 richtext,驱动合同起草、模版编辑、独立正文编辑页的统一行为。
实际建议
| 目标 | 建议配置 |
|---|---|
| 使用 OnlyOffice | editor-mode: onlyoffice(或保持 enabled: true),并部署 Document Server(可参考 script/docker/docker-compose.onlyoffice.yml) |
| 使用富文本 | 显式写 editor-mode: richtext,并将 enabled: false,避免误推断为 OnlyOffice |
修改配置后需重启后端;前端刷新页面即可。
涉及代码 / 配置
- 配置类:
OnlyOfficeProperties.java— 字段editorMode - 推断逻辑:
OnlyOfficeServiceImpl.getEditorMode() - 对外接口:
OnlyOfficeController—GET /contract/onlyoffice/editor-mode - 前端缓存:
apps/web-antd/src/views/contract/composables/editor-mode.ts
修订记录
| 日期 | 修改 |
|---|---|
| 2026-06-27 | 初稿 |
