From abea0a6c39d0966d4ac33d8aeb475e405bb8a2f6 Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Sat, 17 Oct 2026 03:03:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=90=88=E8=A7=84=E7=BA=A2=E7=BA=BF?= =?UTF-8?q?=EF=BC=88=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=A0=B8=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E6=95=8F=E6=84=9F=E8=AF=8D=E6=A3=80=E6=9F=A5=20+=20=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=AE=A1=E6=A0=B8=E6=8A=BD=E8=B1=A1=20+=20=E5=90=88?= =?UTF-8?q?=E8=A7=84=E5=A3=B0=E6=98=8E=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compliance/ComplianceNotice.java | 27 ++++++++++++++++ .../compliance/ContentModerationService.java | 31 +++++++++++++++++++ .../compliance/DisabledContentModeration.java | 20 ++++++++++++ fruitshorts-module-creator/pom.xml | 5 +++ .../service/ContentSubmissionService.java | 29 +++++++++++++++++ 5 files changed, 112 insertions(+) create mode 100644 fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ComplianceNotice.java create mode 100644 fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ContentModerationService.java create mode 100644 fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/DisabledContentModeration.java diff --git a/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ComplianceNotice.java b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ComplianceNotice.java new file mode 100644 index 0000000..dcce070 --- /dev/null +++ b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ComplianceNotice.java @@ -0,0 +1,27 @@ +// Author: fruit.com.cn + +package com.fruitshorts.framework.compliance; + +/** + * 平台合规声明(法律红线,不可删除或修改)。 + * + *
本软件「水果短剧(FruitShorts)」为正规短剧平台,仅用于承载、分发符合法律法规
+ * 与公序良俗的短剧内容。平台严禁且不提供任何用于上传、传播、存储色情、淫秽、露骨或
+ * 违法犯罪内容的功能。任何运营方利用本软件从事违法犯罪行为的,其法律责任由运营方独立
+ * 承担,与开发者无任何法律关系。
+ */
+public final class ComplianceNotice {
+
+ private ComplianceNotice() {
+ }
+
+ /** 平台定位与合法用途声明。 */
+ public static final String PLATFORM_STATEMENT =
+ "水果短剧(FruitShorts)为正规短剧平台,仅用于合法合规的短剧内容运营,"
+ + "严禁用于任何违法犯罪活动或色情、淫秽、露骨内容的传播。";
+
+ /** 内容合规红线:用户生成内容发布前必须通过敏感词自动检查。 */
+ public static final String CONTENT_RED_LINE =
+ "所有用户生成内容必须通过敏感词自动检查(BLOCK 级直接拦截),"
+ + "命中待审词必须进入人工审核,禁止任何违规内容上线。";
+}
diff --git a/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ContentModerationService.java b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ContentModerationService.java
new file mode 100644
index 0000000..227cf11
--- /dev/null
+++ b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/ContentModerationService.java
@@ -0,0 +1,31 @@
+// Author: fruit.com.cn
+
+package com.fruitshorts.framework.compliance;
+
+/**
+ * 图片/视频内容审核抽象(露骨内容、违规画面检测)。
+ * 第一阶段默认未接入第三方,接入时新增实现类即可,业务侧不感知。
+ */
+public interface ContentModerationService {
+
+ /** 审核结论:通过 / 拦截 / 转人工。 */
+ enum Verdict {
+ PASS, BLOCK, REVIEW
+ }
+
+ /**
+ * 审核图片。
+ *
+ * @param imageUrl 图片地址
+ * @return 审核结论
+ */
+ Verdict checkImage(String imageUrl);
+
+ /**
+ * 审核视频(实现方负责抽帧)。
+ *
+ * @param videoUrl 视频地址
+ * @return 审核结论
+ */
+ Verdict checkVideo(String videoUrl);
+}
diff --git a/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/DisabledContentModeration.java b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/DisabledContentModeration.java
new file mode 100644
index 0000000..799f17e
--- /dev/null
+++ b/fruitshorts-framework/src/main/java/com/fruitshorts/framework/compliance/DisabledContentModeration.java
@@ -0,0 +1,20 @@
+// Author: fruit.com.cn
+
+package com.fruitshorts.framework.compliance;
+
+/**
+ * 默认内容审核实现:未配置第三方审核服务时一律放行,交由运营方人工审核兜底。
+ * 接入第三方(如阿里云内容安全 / Google Cloud Vision SafeSearch)后新增实现类并替换装配。
+ */
+public class DisabledContentModeration implements ContentModerationService {
+
+ @Override
+ public Verdict checkImage(String imageUrl) {
+ return Verdict.PASS;
+ }
+
+ @Override
+ public Verdict checkVideo(String videoUrl) {
+ return Verdict.PASS;
+ }
+}
diff --git a/fruitshorts-module-creator/pom.xml b/fruitshorts-module-creator/pom.xml
index 33f5c3a..7d2c35c 100644
--- a/fruitshorts-module-creator/pom.xml
+++ b/fruitshorts-module-creator/pom.xml
@@ -39,5 +39,10 @@