From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-biz-common/jnpf-biz-common-onlyoffice/src/main/java/jnpf/bizcommon/onlyoffice/entity/OnlyOfficeProperties.java | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 166 insertions(+), 0 deletions(-)
diff --git a/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/main/java/jnpf/bizcommon/onlyoffice/entity/OnlyOfficeProperties.java b/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/main/java/jnpf/bizcommon/onlyoffice/entity/OnlyOfficeProperties.java
new file mode 100644
index 0000000..b03ea9d
--- /dev/null
+++ b/jnpf-biz-common/jnpf-biz-common-onlyoffice/src/main/java/jnpf/bizcommon/onlyoffice/entity/OnlyOfficeProperties.java
@@ -0,0 +1,166 @@
+package jnpf.bizcommon.onlyoffice.entity;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * OnlyOffice 闆嗘垚鍙傛暟锛岀粦瀹� {@code config/shared/jnpf-biz-common.yaml} 鐨� {@code onlyoffice.*}銆�
+ *
+ * <p>涓変釜 base url 涔嬫墍浠ュ垎寮�鑰屼笉鏄叡鐢ㄤ竴涓�岀綉鍏冲湴鍧�銆嶏紝鏄洜涓哄畠浠殑**瑙嗚涓嶅悓**锛�
+ * {@code dsPublicUrl} 鏄祻瑙堝櫒瑙嗚锛堝鍣ㄥ悕娴忚鍣ㄨВ鏋愪笉浜嗭級锛屽彟涓や釜鏄� DS 瀹瑰櫒瑙嗚銆�
+ * 瀹夸富 java -jar 鏍堜笅鍚庝袱鑰呰瑕嗙洊鎴� host.docker.internal锛圖S 鍦ㄥ鍣ㄣ�佺綉鍏冲湪瀹夸富锛夈��
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "onlyoffice")
+public class OnlyOfficeProperties {
+
+ /** 娴忚鍣ㄥ姞杞界紪杈戝櫒 api.js 鐨勫湴鍧�锛屽 http://localhost:20000 */
+ private String dsPublicUrl;
+
+ /** DS 鍥炴簮鎷夊師濮嬫枃妗g殑缃戝叧鍦板潃锛屽 http://cx-gateway:30000 */
+ private String fileFetchBaseUrl;
+
+ /** DS 鍥炶皟鍚庣鐨勭綉鍏冲湴鍧�锛屽 http://cx-gateway:30000 */
+ private String callbackBaseUrl;
+
+ /**
+ * 鍚庣鍙嶅悜鎷夊彇 DS 浜х墿鐨勫湴鍧�锛堝悗绔瑙掞級锛屽 http://cx-onlyoffice銆�
+ *
+ * <p>淇濆瓨鍥炶皟閲� DS 缁欑殑涓嬭浇 url 鐢ㄧ殑鏄�**瀹冭嚜宸辫瑙�**鐨勪富鏈哄悕锛屽悗绔笉涓�瀹氳兘鐩磋繛锛�
+ * 閰嶄簡鏈」灏卞彧淇濈暀鍏� path+query 鎹㈠埌杩欎釜涓绘満涓娿�傜暀绌哄垯鍘熸牱浣跨敤 DS 缁欑殑 url銆�
+ */
+ private String dsInternalUrl;
+
+ /**
+ * 涓� DS 瀹瑰櫒 JWT_SECRET 鍚屾簮銆傚悗绔敤瀹冪鍙戠紪杈戝櫒 config锛屽苟鏍¢獙 DS 鍥炶皟鐨�
+ * Authorization 澶淬�傚洖璋冪鐐瑰湪缃戝叧鐧藉悕鍗曞唴锛堝钩鍙拌ˉ涓� #9锛夛紝姝ゅ瘑閽ユ槸鍏跺敮涓�瀹夊叏杈圭晫銆�
+ */
+ private String jwtSecret;
+
+ /** 缂栬緫閿佸績璺宠秴鏃讹紙鍒嗛挓锛夈�傞攣姝e父鐢� status 2/4 鍥炶皟閲婃斁锛屾椤规槸娴忚鍣ㄥ穿婧冪瓑寮傚父鍦烘櫙鐨勫厹搴� */
+ private Integer lockTimeoutMinutes = 30;
+
+ /**
+ * 鏄惁鍏佽鍦ㄧ紪杈戝櫒閲屼笅杞芥枃妗o紙瀵瑰簲銆屾枃浠� 鈫� 涓嬭浇涓恒�嶄笌椤舵爮鍙充晶鐨勪笅杞藉浘鏍囷級銆�
+ *
+ * <p>榛樿鍏抽棴銆傗殸锔� 瀹冨彧鏀剁晫闈㈠叆鍙o紝涓嶆槸瀹夊叏杈圭晫鈥斺�攞@code /api/file/Image/**} 鍦ㄧ綉鍏崇櫧鍚嶅崟鍐呫��
+ * 鍙潬 securityKey 绁ㄦ嵁閴存潈锛岀煡閬� URL 鐨勪汉鐓ф牱鑳藉彇鍒板師鏂囦欢銆�
+ */
+ private boolean allowDownload = false;
+
+ /** 鏄惁鍏佽鍦ㄧ紪杈戝櫒閲屾墦鍗帮紙瀵瑰簲銆屾枃浠� 鈫� 鎵撳嵃銆嶄笌椤舵爮鍙充晶鐨勬墦鍗板浘鏍囷級銆傞粯璁ゅ叧闂紝鍚屼笂娉ㄦ剰浜嬮」 */
+ private boolean allowPrint = false;
+
+ /** 缂栬緫鏉冮檺鍒ゅ畾锛岃 {@link EditPermission} */
+ private EditPermission editPermission = new EditPermission();
+
+ /** ONLYOFFICE 鎻掍欢娉ㄥ唽琛ㄤ笌鍦烘櫙缁戝畾 */
+ private Plugins plugins = new Plugins();
+
+ @Data
+ public static class Plugins {
+
+ /** 鎻掍欢缂栫爜鍒伴儴缃插畾涔夌殑鏄犲皠 */
+ private Map<String, PluginDefinition> definitions = new LinkedHashMap<>();
+
+ /** 鍏佽鍚敤鎻掍欢鐨勪笟鍔″満鏅� */
+ private List<PluginSceneMapping> scenes = new ArrayList<>();
+ }
+
+ @Data
+ public static class PluginDefinition {
+
+ /** 涓庢彃浠� config.json 瀹屽叏涓�鑷寸殑 GUID */
+ private String guid;
+
+ /** 鎻掍欢濂戠害鐗堟湰 */
+ private String version;
+
+ /** 娴忚鍣ㄥ彲璁块棶鐨勬彃浠惰祫婧愬熀纭�鍦板潃锛屼笉鍚� release */
+ private String publicBaseUrl;
+
+ /** 涓嶅彲鍙樺彂甯冪洰褰曪紱姝e紡鐗堟湰涓� 0.1.0 */
+ private String release = "0.1.0";
+
+ /** 娴忚鍣ㄥ彲璁块棶鐨勬彃浠朵笟鍔� API 鍩虹鍦板潃 */
+ private String apiBaseUrl;
+ }
+
+ @Data
+ public static class PluginSceneMapping {
+
+ private String bizScene;
+
+ private String bizModule;
+
+ private List<String> pluginCodes = new ArrayList<>();
+
+ /** 鎵撳紑缂栬緫鍣ㄥ悗鑷姩鍚姩鐨勬彃浠剁紪鐮侊紝蹇呴』灞炰簬 pluginCodes */
+ private String autostartPluginCode;
+
+ /** 褰撳墠鍦烘櫙闇�瑕佺鐢ㄧ殑 Document Server 鍐呯疆鎻掍欢 GUID */
+ private List<String> disabledPluginGuids = new ArrayList<>();
+ }
+
+ /**
+ * 銆岃皝鑳界紪杈戙�嶇殑鍒ゅ畾瑙勫垯銆�
+ *
+ * <p>绮掑害鏄�**鑿滃崟/鎸夐挳绾�**锛屼笌骞冲彴鍦ㄧ嚎琛ㄥ崟鐨勫崟鏉℃洿鏂扮鐐逛竴鑷�
+ * 锛坽@code VisualdevModelDataController#update} 鍙仛 {@code StpUtil.checkPermission}锛夈��
+ * 鍒ゅ畾鎵�闇�鐨勬潈闄愮爜鍦ㄧ櫥褰曟椂灏卞凡鐏岃繘 Sa-Token 浼氳瘽锛岀函鏈湴鍒ゆ柇銆侀浂 Feign 璋冪敤銆�
+ *
+ * <p>涓轰粈涔堜笉鍋氥�岃褰曠骇銆嶏紙杩欎竴鏉℃楠屽崟璇ヤ笉璇ョ粰杩欎釜浜烘敼锛夛細閭e睘浜庝笟鍔¤鍒欙紝
+ * 渚濊禆涓氬姟琛ㄥ瓧娈碉紙鐝粍銆佽礋璐d汉銆佹祦绋嬬姸鎬侊級锛岃�� biz-common 鐨勫噯鍏ヨ鍒欑姝㈠畠鍚崟涓�
+ * 涓氬姟妯″潡鐨勪笓灞為�昏緫銆傞渶瑕佽褰曠骇鏃跺簲鐢变笟鍔℃ā鍧楄嚜琛屽垽瀹氬悗鍐嶆墦寮�缂栬緫鍣ㄣ��
+ */
+ @Data
+ public static class EditPermission {
+
+ /**
+ * 鏈櫥璁扮殑 bizModule锛堟垨璇锋眰鏍规湰娌″甫 bizModule锛夋椂鐨勫彇鍚戙��
+ *
+ * <p>{@code false}锛堥粯璁わ級= 鏀捐缂栬緫锛屽彧鎵撲竴鏉� warn 鏃ュ織銆傝繖鏄�**鍏煎榛樿鍊�**锛�
+ * 閲岀▼纰� 3 鐨勬渶绠�璋冪敤 {@code openOfficeDocument({ file })} 骞朵笉浼� bizModule锛�
+ * 涓�涓婃潵灏变弗鏍间細璁╂墍鏈夋棦鏈夎皟鐢ㄦ柟绐佺劧鍙樺彧璇汇��
+ *
+ * <p>{@code true} = 涓�寰嬪彧璇汇�備笟鍔′晶鎶婅鐧昏鐨勯兘鐧昏瀹屼箣鍚庡簲褰撴墦寮�瀹冣�斺��
+ * 鍚﹀垯銆岄厤缃紡鐧昏銆嶈繖绉嶅け璇細琛ㄧ幇涓恒�屾倓鎮勬斁琛岀紪杈戙�嶏紝鑰屼笉鏄浜哄療瑙夌殑鎶ラ敊銆�
+ */
+ private boolean strict = false;
+
+ /**
+ * bizModule 鈫� 鍦ㄧ嚎琛ㄥ崟 moduleId 鐨勭櫥璁拌〃銆�
+ *
+ * <p>鍒绘剰鐢� List 鑰屼笉鏄� Map锛歋pring Boot Binder 瀵� Map 鏄�**鍚堝苟**璇箟銆佸 List 鏄�
+ * **鏁翠綋鏇挎崲**锛岀敤 Map 鐨勮瘽鍒犳帀涓�鏉$櫥璁版牴鏈笉鐢熸晥锛坅udit 鐨� layer0 娉ㄥ唽琛ㄨ俯杩囪繖涓潙锛�
+ * 瑙� {@code AuditFormRegistry}锛夈��
+ */
+ private List<ModuleMapping> modules = new ArrayList<>();
+ }
+
+ @Data
+ public static class ModuleMapping {
+
+ /** 璋冪敤鏂逛紶鏉ョ殑涓氬姟妯″潡鏍囪瘑锛屼笌 {@code OnlyOfficeConfigParam.bizModule} 瀵瑰簲 */
+ private String bizModule;
+
+ /** 瀵瑰簲鐨勫湪绾胯〃鍗曞姛鑳戒富閿紙base_module.f_id锛夛紝鏉冮檺鐮佸氨鏄嬁瀹冩嫾鐨� */
+ private String moduleId;
+
+ /**
+ * 鏄惁瑕佹眰 {@code moduleId::btn_edit} 鎸夐挳鏉冮檺锛岄粯璁� true銆�
+ *
+ * <p>鈿狅笍 杩欐潯鏄釜闄烽槺浣嶏細鍦ㄧ嚎琛ㄥ崟鍙湁鍕句簡銆屽惎鐢ㄦ寜閽潈闄愩�嶆椂锛岀敤鎴风殑鏉冮檺琛ㄩ噷鎵嶄細鏈�
+ * {@code moduleId::btn_edit}銆傛病鍚敤鍗存妸鏈」鐣欐垚 true锛屼細瀵艰嚧**鎵�鏈変汉閮借闄嶇骇鍙**銆�
+ * 璇ユā鍧楁病鍚敤鎸夐挳鏉冮檺鏃跺~ false锛屾鏃跺彧鏍¢獙鑿滃崟绾ф潈闄愩��
+ */
+ private boolean requireBtnEdit = true;
+ }
+}
--
Gitblit v1.8.0