@faiber/faiber-version (英语)
Faiber 版本注册的打入客户端.
安装和配置
npm install @faiber/faiber-version @faiber/sdk-core
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。 。 。 .