@flare-engine/leaderboards

中文文档
0.4.12发布于 2026/11/13Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 2326

领导板提供者接口(消费者提供适配器)

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 当地供应商- createMemoryLeaderboards
  4. 内置后退

@flare-engine/ 领导板

类型 LeaderboardsProvider 接口 + NoopLeaderboardsProvider +反应上下文,加 createMemoryLeaderboards ——为测试,本地dev,和单玩家游戏的后端免费内幕提供商. 混凝土平台适配器(Game Center,Google Play Games,Steam)是后发射的;在此之前在应用边界自线.

安装

bun add @flare-engine/leaderboards

使用量

import {
  LeaderboardsContext,
  useLeaderboards,
  NoopLeaderboardsProvider,
} from '@flare-engine/leaderboards';

export function App() {
  return (
    <LeaderboardsContext.Provider value={NoopLeaderboardsProvider}>
      {/* ... */}
    </LeaderboardsContext.Provider>
  );
}

useLeaderboards() 返回活动提供者。 这个 LeaderboardsProvider 表面为 submitScore(id, score, meta?), (中文(简体) ), getTopN(id, n),以及 getPlayerRank(id) - 全都是动脉 盗用 NoopLeaderboardsProvider 对于另一个供应商来说,不需要改变消费者.

当地供应商- createMemoryLeaderboards

记忆 LeaderboardsProvider 包含有文件记载的语义,用于测试和去除:

import { createMemoryLeaderboards } from '@flare-engine/leaderboards';

const boards = createMemoryLeaderboards({
  playerId: 'p1',
  displayName: 'You',
  seed: {
    daily: [
      { playerId: 'a', displayName: 'Ada', score: 300 },
      { playerId: 'b', displayName: 'Bo', score: 100 },
    ],
  },
});

await boards.submitScore('daily', 250);
await boards.getTopN('daily', 10); // [Ada 300 #1, You 250 #2, Bo 100 #3]
await boards.getPlayerRank('daily'); // 2
  • 每个 submitScore 以当地身份登记的记录playerId 默认 'local' 编号 : displayName 默认 'Player')——接口没有玩家id.
  • seed 预选人口为每块棋盘相竞者行,所以没有后端的查询是有意义的.
  • 最佳得分取胜:严格更高的提交数取代了当地玩家的分数和元;低等或等分的则被忽略.
  • 排名以分数为降级,以插入顺序为分数而断接(更上等),依次为一等分. getTopN 返回最多为 n 行数(n <= 0 或未知的棋盘 [](三); getPlayerRank 返回本地级别或 null 当本地玩家没有条目时.
  • 板子会长出无限制的(没有驱逐)——用于测试和当地的dev,而不是生产储存.

内置后退

在 CI 或 dev 构建中没有平台证书, 请选择 NoopLeaderboardsProvider (或 createMemoryLeaderboards)在您自己的嵌入式旗帜后,在真实身份证明到来之前,任何事物都不要触及一个本地的SDK.

版本与发布记录

@flare-engine/leaderboards 共发布 17 个版本,首次发布于 2026/06/10;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.12latest2026/11/133 天前
0.4.112026/11/123 天前
0.4.102026/11/087 天前
0.4.82026/11/0610 天前
0.4.72026/11/0411 天前
0.4.62026/10/3115 天前

关于 @flare-engine/leaderboards 的常见问题

@flare-engine/leaderboards 是什么?

领导板提供者接口(消费者提供适配器)

如何安装 @flare-engine/leaderboards?

在项目目录运行 npm install @flare-engine/leaderboards,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@flare-engine/leaderboards 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@flare-engine/leaderboards 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@flare-engine/leaderboards 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@flare-engine/leaderboards 可以商用吗?

@flare-engine/leaderboards 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@flare-engine/leaderboards 的下载量有多少?

根据 npm 官方下载统计,@flare-engine/leaderboards 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,326 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flare-engine/leaderboards 还在维护吗?

最新版本 0.4.12 发布于 2026/11/13(3 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。