# @flare-engine/leaderboards 中文文档

规范地址：https://npmcn.com/package/%40flare-engine/leaderboards/

版本：0\.4\.12
npm 元数据更新时间：2026-11-12T19:45:54.859Z
中文译文更新时间：2026-11-14T21:45:03.776Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40flare-engine/leaderboards
原文对照：https://npmcn.com/package/%40flare-engine/leaderboards/?lang=original
项目主页：https://github.com/grzott/flare-engine#readme
源码仓库：https://github.com/grzott/flare-engine

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：48 kB，12 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：0 个
- peer 依赖：react \>=19\.0\.0
- 首次发布：2026-06-09T16:19:40.609Z
- 最新版本发布：2026-11-12T19:45:54.437Z
- 近 30 天下载量：2326（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

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

## 安装

```sh
npm install @flare-engine/leaderboards
```

也可以使用：`pnpm add @flare-engine/leaderboards`、`yarn add @flare-engine/leaderboards`、`bun add @flare-engine/leaderboards`

## README

# @flare-engine/ 领导板

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

## 安装

```sh
bun add @flare-engine/leaderboards
```

## 使用量

```tsx
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` 包含有文件记载的语义,用于测试和去除:

```ts
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 是什么？

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

### 如何安装 @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 和提交记录判断。

