yanxh 7a35ff4354 初始化项目 преди 2 дни
..
business-content-security-api 7a35ff4354 初始化项目 преди 2 дни
business-content-security-application 7a35ff4354 初始化项目 преди 2 дни
business-content-security-bean 7a35ff4354 初始化项目 преди 2 дни
business-content-security-controller 7a35ff4354 初始化项目 преди 2 дни
business-content-security-service 7a35ff4354 初始化项目 преди 2 дни
src 7a35ff4354 初始化项目 преди 2 дни
README.md 7a35ff4354 初始化项目 преди 2 дни
pom.xml 7a35ff4354 初始化项目 преди 2 дни
后台接口文档.md 7a35ff4354 初始化项目 преди 2 дни

README.md

business-content-security(UGC 内容安全)

跨模块 内容安全检测 能力:业务侧仅依赖 ContentSecurityApi,底层通过 Provider SPI 对接微信(可扩展阿里云等),满足小程序审核对 UGC 文本/图片检测的要求。


模块结构

business-content-security/
├── business-content-security-api/          # ContentSecurityApi、Provider SPI、事件
├── business-content-security-bean/         # Entity、VO、Convert
├── business-content-security-service/      # Log/Task 持久化
├── business-content-security-application/  # 编排、WeChat Provider、ApiImpl
├── business-content-security-controller/   # 管理端流水查询
└── src/main/resources/sql/
    ├── content_security.sql                # 建表
    └── content_security_menu_permission.sql # 菜单权限(可选)

已接入业务

业务模块 入口 文本 图片 异步回调
统一评价 REVIEW ReviewApplicationService.submit 违规 → 评价 已拒绝
意见反馈 FEEDBACK FeedbackApplicationService.submitFeedback 违规 → 反馈 已关闭

配置(application.yaml

jeesharp:
  content-security:
    enabled: true                    # 总开关
    default-provider: WECHAT_MINI
    on-missing-openid: REVIEW          # 无 openid 时:REVIEW / REJECT
    on-provider-error: REVIEW          # Provider 异常时
    media-async-enabled: true          # 图片走 mediaCheckAsync
    media-async-fallback-sync: true    # 异步失败降级同步 img_sec_check

微信运维

  1. 执行建表src/main/resources/sql/content_security.sql
  2. 小程序消息推送 URL(服务器配置):

    https://{域名}/mobile/noAuth/contentSecurity/wechat/mediaCallback
    

    路径已在 /mobile/noAuth/** 白名单,无需额外 yaml。

  3. 依赖:会员须绑定微信小程序 openid(MemberOauthService),否则按 on-missing-openid 降级。


管理端

  • 接口POST /admin/manager/business/contentSecurity/log/v1/list
  • 权限manager:business:contentSecurity:log:list
  • 前端(开发路由)/business/contentSecurity/logasyncRouter.ts
  • 生产菜单:执行 content_security_menu_permission.sql(按环境调整父菜单 ID)

业务接入方式(新模块)

  1. pom 依赖 business-content-security-api(禁止依赖 application)
  2. 注入 ContentSecurityApi,UGC 写入口优先使用 ContentSecurityUgcCheckSupport.checkTextAndImages + bindAfterPersist
  3. 监听 ContentSecurityMediaCompletedEvent 处理异步 REJECT(可选)

版本记录

日期 说明
2026-06-27 初版:微信文本/图片、异步任务、评价/反馈接入、管理端流水