From 62091bb640608f24812e069947928c49b4ebdedf Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Sat, 11 Jul 2026 10:39:44 +0800
Subject: [PATCH] feat(resource): 集成OnlyOffice文档编辑功能

---
 drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java
index 7eefe34..80ee579 100644
--- a/drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java
+++ b/drone-ops/drone-resource/src/main/java/org/sxkj/resource/controller/AttachController.java
@@ -21,6 +21,7 @@
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.DateTimeUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
@@ -421,8 +422,9 @@
 	@ApiOperationSupport(order = 10)
 	@ApiOperation(value = "获取OnlyOffice配置", notes = "根据附件ID查询附件信息,返回包含当前用户信息和附件信息的OnlyOffice文档编辑器配置")
 	public R<Map<String, Object>> getOnlyOfficeConfig(
-			HttpServletRequest request,
-			@ApiParam(value = "附件ID", required = true) @RequestParam Long attachId) {
+		HttpServletRequest request,
+		@ApiParam(value = "附件ID", required = true) @RequestParam Long attachId,
+		@RequestParam(value = "mode", required = false) String mode) {
 		// 1. 获取当前登录用户信息
 		BladeUser user = AuthUtil.getUser();
 
@@ -445,7 +447,7 @@
 		// 5. 构建编辑器配置
 		Map<String, Object> editorConfig = new HashMap<>();
 		editorConfig.put("customization", customization);
-		editorConfig.put("mode", "edit");
+		editorConfig.put("mode", StringUtil.isBlank(mode) ? "view" : mode);
 		editorConfig.put("callbackUrl", onlyofficeCallbackUrl);
 		editorConfig.put("lang", "zh-CN");
 		editorConfig.put("user", userConfig);
@@ -508,6 +510,8 @@
 		log.info("ONLYOFFICE配置生成完成,attachId: {}, documentUrl: {}", attachId, documentUrl);
 		return R.data(result1);
 	}
+
+
 	public static final Integer MAX_KEY_LENGTH = 20;
 	public static final Integer ANONYMOUS_USER_ID = 4;
 	public static final Integer KILOBYTE_SIZE = 1024;

--
Gitblit v1.9.3