# @faiber/faiber-version 中文文档

规范地址：https://npmcn.com/package/%40faiber/faiber-version/

版本：2\.8\.0
npm 元数据更新时间：2026-11-14T09:45:11.889Z
中文译文更新时间：2026-11-14T09:08:43.294Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40faiber/faiber-version
原文对照：https://npmcn.com/package/%40faiber/faiber-version/?lang=original

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

- 包体积（解压后）：54.7 kB，24 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-07-18T14:30:11.602Z
- 最新版本发布：2026-11-14T09:45:11.741Z
- 近 30 天下载量：3886（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：66（近 12 个月 66 个）

## 中文简介

Faiber 版本注册的打入客户端.

## 安装

```sh
npm install @faiber/faiber-version
```

也可以使用：`pnpm add @faiber/faiber-version`、`yarn add @faiber/faiber-version`、`bun add @faiber/faiber-version`

## README

# @faiber/faiber-version (英语)

Faiber 版本注册的打入客户端.

## 安装和配置

```bash
npm install @faiber/faiber-version @faiber/sdk-core
```

```ts
import { FaiberClient } from "@faiber/sdk-core";
import { VersionApi } from "@faiber/faiber-version";

const client = new FaiberClient("version", {
  domains: { version: "https://version.example.com" },
});
const versions = new VersionApi(client);

const current = await versions.service("profile");
const history = await versions.allVersions("profile");
const latest = current.data.data.service.last_version;
if (latest) {
  const release = await versions.version(latest.id);
  console.log(release.data.data.version.download_url);
}
```

## 能力

| 方法 | 路线 | SDK 方法 |
| --- | --- | --- |
| `GET` | `/health` | `health()` |
| `GET` | `/api/openapi.json` | `openapi()` |
| `GET` | `/api/v1/services` | `services()` |
| `GET` | `/api/v1/services/{service_slug}` | `service(slug)` |
| `GET` | `/api/v1/services/{service_slug}/all` | `allVersions(slug)` |
| `GET` | `/api/v1/versions/{version_id}` | `version(id)` |
| `POST` | `/api/v1/apk/releases` | `operations.routerPublishApkPost(input)` |

答复保留后端信封:使用服务清单 `data.services`、单一服务及其完整历史使用情况 `data.service`和释放用途 `data.version`。导出的类型包括服务身份/状态、最新版本、版本代码/名称、频道、范围、更改日志、下载 URL、状态和时间戳.

所有呼叫回复Axios的完整回复并接受 `RequestOptions` 用于取消、超时和标题。 版本的注册路线在被检查的服务中是公开的;除非配置的客户端有一个,否则不会添加任何令牌.

### APK 出版业

`versions.operations.routerPublishApkPost({serviceSlug, appName, version, versionCode, downloadUrl}, options)` 发布"同能APK"发布. 下载 URL 必须使用 HTTPS 和 `versionCode` 必须是积极的。 通过配置的服务器客户端提供沙盒专用APK出版商无记名证书;这不是最终用户出版许可. 原始反应是 `{status:"success", id}`。无效的元数据返回400,缺失/不正确的证书返回401,没有可用的发布器配置返回503.

弹道包含1-100个ASCII字母,数字或连字符. `appName` 必须包含非空白文本,最多为80个字符; `version` 包含1-40 ASCII 字母,数字,点,连字符或下划线. URL不得包含用户证书. `versionCode` 是一个正整数; 使用 JavaScript 安全整数来避免丢失精度.

释放身份对于同一种相片和版本字符串来说是稳定的. 重试可以更新它的元数据和代码;一个更古老的代码不能覆盖更高的存储代码. 出版商创建活动 `Release`编号 :`Closed` 记录,但将现有的不活动父服务不活动。 因此,成功的收据可以与返回404的服务查询同时存在。 下载 URL 存储为元数据;服务不会获取或验证APK的内容.

### 注册行为

列表返回没有页码、过滤器或人烟的主动服务 `last_version` 数值。 服务查询接受其 **弹片**,并解决最高活动 `version_code`。完整历史包括未指明顺序的活跃版本。 一个版本的搜索接受一个UUID:不正确的UUID返回400,而缺失/不活跃的记录返回404.

`channel` 用途 `Release` 或者说 `PreRelease`· ; `scope` 用途 `Public` 或者说 `Closed`范围是被检查的处理器的描述性元数据,不强制成员。 为您的项目运行时间应用适当的网关访问策略 。 不要治疗 `Closed` 作为一种保护机制.

健康报告处理状况。 OpenAPI 端点返回一个原始文档,目前只描述健康;它不是一个完整的API目录. 方便方法和产生的业务都使用这些相同的电线合同.

存在可忽略字段 `null`,包括服务 `title`元数据 财务报告和审定财务报表 `updated_at`;没有省略。 历史用途 `versions` 没有 `last_version` 字段。 版本时间戳是天真的数据库时间戳字符串;没有 承诺世界协调时抵消。 成功的读取信封总是包括 `status`, (中文(简体) ), `message` 财务报告和审定财务报表 `data`。出版商收据仍为原始.

使用内存 `TokenProvider` 用于网关证书,或配置 Axios `withCredentials` 当您的网关支持安全的 Http Only cookie 时。 将专用出版商证书保存在可信任的服务器上. 当终端用户和出版商的符号不同时配置单独的出版商客户端.

Axios 拒绝不成功的答复; 服务应用程序错误通常会曝光 `{error: string}` 内 `error.response.data`,而提取器错误可能使用不同的正文。 中止 `AbortSignal` 用 Axios 取消代码拒绝 `ERR_CANCELED`。 。 。 .

完整的多服务客户端是 [@faiber/faiber-ts-sdk](https://www.npmjs.com/package/@faiber/faiber-ts-sdk)。 。 。 .

## 常见问题

### @faiber/faiber-version 是什么？

Faiber 版本注册的打入客户端\.

### 如何安装 @faiber/faiber-version？

在项目目录运行 npm install @faiber/faiber-version，或使用 pnpm add / yarn add / bun add。

### @faiber/faiber-version 支持 TypeScript 吗？

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

### @faiber/faiber-version 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @faiber/faiber-version 可以商用吗？

@faiber/faiber-version 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @faiber/faiber-version 的下载量有多少？

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

### @faiber/faiber-version 还在维护吗？

最新版本 2\.8\.0 发布于 2026/11/14（今天）；至今共发布 66 个版本，其中过去 12 个月发布了 66 个；首次发布于 2026/07/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

