paid-core

这是 FLNXI 付费增强包。商业交付方向是“免费基础镜像 + paid-core 付费包”,而不是为每个付费功能单独发布一个镜像。

当前状态:

  • 提供 /health 健康检查。
  • 提供 /status 能力状态。
  • 提供 /capabilities 能力清单。
  • 提供 /authorize 授权决策入口。
  • 提供 /templates/validate-fields,承接自定义模板字段保存前校验和格式化。
  • 提供 /templates/normalize-save,承接自定义模板创建/更新前的保存请求标准化。
  • 提供 /templates/plan-delete,承接自定义模板删除前的使用中拦截规划。
  • 提供 /materials/validate-template-fields,承接上传/编辑素材时的自定义字段内容校验。
  • 提供 /materials/prepare-metadata,承接上传/编辑素材时的自定义字段 metadata 准备和大小检查。
  • 提供 /templates/detect-structure-changes,承接已有素材模板的结构变更风险判断。
  • 提供 /templates/prepare-migration-metadata,承接模板迁移时的目标字段投影、必填字段兼容性判断、metadata 准备、旧字段备份计算和大小检查。
  • 提供 /templates/plan-migration-batch,承接模板迁移批次大小、安全确认、预览模式和分批执行规划。
  • 提供 /templates/build-migration-preview,承接模板迁移预览、备份字段影响统计和样例生成。
  • 提供 /templates/project-public-options,承接公开模板列表、上传页模板列表和素材类型 tag 的展示投影。
  • 提供 /templates/calculate-field-stats,承接后台模板详情里的字段填写率和低填写率字段统计。
  • 提供 /materials/plan-list-query,承接素材列表搜索字段、自定义字段搜索、首页筛选字段和 metadata 筛选的查询计划。
  • 提供 /materials/plan-custom-search,承接素材列表自定义字段搜索规划。
  • 提供 /materials/plan-home-filter-fields,承接首页筛选字段的标准列和 metadata 统计来源规划。
  • 保留 /materials/plan-home-filter-counts 兼容旧调用,当前主路由使用 /materials/plan-home-filter-fields。
  • 提供 /departments/plan-scope,承接部门隔离范围规划。
  • 提供 /departments/plan-structure-change,承接部门创建、重命名、删除时的部门和用户联动计划。
  • 承接自定义模板、部门隔离、系统设置、内网穿透、API 访问等付费功能的运行门禁。
  • 内网穿透真实 provider 尚未接入时,/tunnel/status、/tunnel/start、/tunnel/stop 会明确返回 provider_not_configured。

重要边界:

  • 当前版本先把付费功能入口收敛到一个包,并已迁入自定义模板字段保存前校验、保存请求标准化、模板删除前使用中拦截规划、素材字段提交校验、素材 metadata 准备、结构变更风险判断、公开模板展示投影、模板字段填写率统计、素材列表搜索/筛选查询计划、自定义字段搜索规划、首页自定义筛选字段统计规划、部门隔离范围规划、API 访问运行门禁,以及模板迁移目标字段投影、兼容性判断、metadata 准备、旧字段备份计算、迁移批次规划、迁移预览和备份字段影响统计。
  • 素材删除、恢复、精品设置和统计入口已通过统一素材管理范围或 /departments/plan-scope 使用 paid-core 的部门范围规划;主程序继续保留最终 Prisma 条件、数据库写入、删除和统计 SQL 执行。
  • 模板迁移最终数据库写入、素材列表分页查询、首页筛选字段统计 SQL 执行、部门结构最终写库等动作仍由主程序执行;paid-core 返回规则、计划、校验和展示投影,不直接连接客户数据库。
  • 因此当前准确口径是“付费能力的计划层和运行门禁已拆入 paid-core”,不能表述为“所有业务执行都从主程序移走”。

发布后需要把固定镜像和 digest 写入 license-server:

PREMIUM_MODULE_PAID_CORE_IMAGE=registry.example.com:5000/flnxi/premium/paid-core:1.0.0
PREMIUM_MODULE_PAID_CORE_DIGEST=sha256:...