FlowGate LogoFlowGate
图片模板开发

概述

用任意前端框架开发 FlowGate 图片模板

图片模板是一段静态前端页面(HTML/CSS/JS,可由 React/Vue/Svelte/原生等任意框架打包),由 FlowGate Nexus 在无头浏览器中渲染并截图,最终作为图片消息发送到聊天平台。

作为开发者,你只需要关心两件事:

  1. manifest.json声明模板需要哪些数据(在线玩家、服务器状态、PlaceholderAPI 变量)以及哪些参数可由管理员自定义。
  2. 在页面里用 @fgate/template-sdk 读取这些数据与参数,渲染你的页面,最后调用 ready() 通知宿主截图。

工作原理

管理员上传 .zip ──▶ Nexus 校验/解压到 data/templates/<id>/

群里发送绑定指令 ──▶ Nexus 按 manifest 拉取数据(向 MC 服务器发 RPC)

            注入 window.__FGATE_TEMPLATE__ ──▶ 打开 dist/index.html

              你的页面渲染 + 调用 ready() ──▶ 截图 ──▶ 作为图片发送

数据流与能力协商

模板声明的每个数据源可能对应 MC 服务器的一种能力,也可能是纯 Nexus 数据库数据(不依赖 MC 端配合)。共 12 种数据源类型:

分组数据源说明
MC 服务器能力online_playersserver_statusplayer_statisticsplayer_advancementsplayer_equipment需 FGateClient 声明对应能力位,旧版客户端默认不支持
PlaceholderAPIplaceholderplaceholder_rank仅安装了 PAPI 的 Paper/Bukkit 服务器
Nexus 数据库player_profilerecent_joinsbinding_statsserver_status_historyevent_leaderboard不依赖 MC 端能力,服务器离线也可用

每种数据源的具体字段与返回值,见 Manifest 格式

每个数据源都可以标记 required

  • required: true(默认):服务器不具备该能力时,实例无法启用,渲染中止。
  • required: false:能力不可用时该数据源降级为 null/[],模板需自行处理缺失数据。

把不通用的能力(如 placeholder)标记为 required: false,就能让同一个模板包在支持与不支持该能力的服务器上都能工作——这就是「开发一次、支持多平台」的方式。

接下来请阅读 Manifest 格式SDK 用法打包与上传

On this page