# @faiber/faiber-modules 中文文档

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

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

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

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

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

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

## 中文简介

产品、变体、手推车、订单、库存、编辑职位和网页、分类学、标准经济、一般评论和反应、准入规则、定价和样本.

## 安装

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

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

## README

# @faiber/faiber-模块

产品、变体、手推车、订单、库存、编辑职位和网页、分类学、标准经济、一般评论和反应、准入规则、定价和样本.

## 安装

```bash
npm install @faiber/faiber-modules
```

## 配置

```ts
import { FaiberClient, MemoryTokenProvider } from "@faiber/sdk-core";
import { ModulesApi } from "@faiber/faiber-modules";

const tokens = new MemoryTokenProvider();
const client = new FaiberClient("modules", {
  domains: { modules: process.env.FAIBER_MODULES_URL! },
  tokenProvider: tokens,
  axios: { timeout: 15_000, withCredentials: true },
});
const api = new ModulesApi(client);

const products = await api.products.list({
  page_number: 1,
  page_size: 24,
});
const posts = await api.posts.list();
```

## 完全能力

该软件包从内容和商业模块服务中披露了179项注册业务。 通用工作流程有简洁的方法 `api`;每个已注册后端路由在 `api.operations`。生成的操作输入、查询、响应、路径、动词和许可合同从 `operations.types`。 。 。 .

| 区域 | 业务 | HTTP 方法 |
| --- | --: | --- |
| `access` | 页:1 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `audit-log` | 1个 | `GET` |
| `author` | 6个 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `blog` | 6个 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `cart` | 2个 | `GET`, (中文(简体) ), `PUT` |
| `category` | 第9条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `comment` | 第8条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `content` | 第9条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `content-transfer` | 页:1 | `GET`, (中文(简体) ), `PUT` |
| `integration` | 1个 | `GET` |
| `inventory` | 第12条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `management-api` | 页:1 | `GET`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `media` | 3个 | `GET`, (中文(简体) ), `POST` |
| `order` | 第12条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `podcast` | 第8条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST` |
| `product` | 第13条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `reaction` | 3个 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `POST` |
| `request` | 第13条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `router` | 6个 | `GET`, (中文(简体) ), `POST` |
| `search` | 1个 | `GET` |
| `seo-content` | 第9条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `service-pricing` | 6个 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `session` | 1个 | `GET` |
| `stock-movement` | 2个 | `GET`, (中文(简体) ), `POST` |
| `tag` | 第9条 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |
| `user-sample` | 页:1 | `DELETE`, (中文(简体) ), `GET`, (中文(简体) ), `PATCH`, (中文(简体) ), `POST`, (中文(简体) ), `PUT` |

分类、标签、评论、反应、标准业务标准、内容附件、定价、访问和商业业务 `api.operations`社区供养和社会职位由下列机构提供: `@faiber/faiber-social`。 。 。 .

## 认证和授权

使用一个 `TokenProvider` 以转发已签名用户的 Bearer 令牌,或启用 `withCredentials` 用于安全的 Http 只有饼干会话。 每个行动的JSDoc都包含从服务路线卫士复制的许可要求. SDK不嵌入 API 密钥,证书,本地主机 URL,沙盒主机,或生产主机.

## 投入、询问、答复和运输

所有方法都返回完整的Axios响应,包括状态,头,以及请求ID. 请求机构和查询对象被命名为导出接口. 模块页化使用 `page_number` 财务报告和审定财务报表 `page_size`,通常默认为1和10,而尺寸被夹到1-100。 收藏信封保留诸如 `products`, (中文(简体) ), `orders`, (中文(简体) ), `posts` 财务报告和审定财务报表 `stock_movements`。串行可选字段无效。 标准 Axios 请求选项、信头、超时、适配器、拦截器和 `AbortSignal` 取消被支持为最后参数.

一般性的REST资源得到能力保障。 调用未注册的遗留方法 `UnsupportedOperationError` 在发送请求之前, 而不是生成后端 `405`。 。 。 .

## 错误和取消

```ts
try {
  await api.client.get("/health", undefined, { signal: AbortSignal.timeout(5_000) });
} catch (error) {
  // Axios errors retain response.status and the service error body.
}
```

使用 `@faiber/faiber-ts-sdk` 当一个应用程序需要多个具有一个配置的Faiber服务时.

### 存储前期结帐和公共表格

```ts
const quote = await api.operations.orderQuotePost({
  id: checkoutId,
  items: [{ variant_id: variantId, quantity: 1 }],
  shipping: { fullName: "Test Buyer", phone: "+989000000000", city: "Rasht", address: "Delivery address", postalCode: "1234567890" },
}, { headers: { Origin: websiteOrigin } });
await api.operations.orderPayPost(checkoutId, { max_total: quote.data.total }, { headers: { Origin: websiteOrigin } });
```

这些自定义操作的使用 `/api/v1/shop/checkout/*` 返回原始数据 `ShopCheckout` 记录。 发运使用骆驼Case;取出量为整数IRR. 重试时重新使用检出 UUID 并保留已配置的网站 Origin, 用于引用, 支付和取消 。 服务器拥有价格,拒绝 Stale 接受的总数.

`operations.routerListGet({page:1})` 列出已公布的库存前期产品,每页100份 `hasMore`。 。 。 . `requestSubmitPost` 保留行政请求- 日志行为; 单独的公共形式操作提交 idempotent `submission_id` 改为 `website_contact`, (中文(简体) ), `website_newsletter`,或 `website_waitlist`. 公开表格验证电子邮件和字段界限,拒绝蜜壶内容,在费率有限时返回429个。 需要网站默认提供 `modules:request:create`。 。 。 .

Wildcard文件路径使用原始的非空块并保存目录分隔符. 不要预编码路径或包含点倒转, % 逃出,查询/分解 语法或回鞭; 无效路径在传输前会本地失效 .

## 主机目录搜索

```ts
const categories = await api.categories.list({ search: "Hardware", page_number: 1, page_size: 20 });
const tags = await api.tags.list({ search: "release" });
const seo = await api.seo.list({ search: "/products/" });
console.log(categories.data.data.search, categories.data.data.total_items);
```

同一查询和答复可上网查询 `api.operations.categoryListCategoriesGet`, (中文(简体) ), `tagListTagsGet`,以及 `seoContentListSeoContentsGet`类别和标记与名称相符; SEO匹配标题或 URL 。 匹配是一个对大小写不敏感的子字符串 : `%`, (中文(简体) ), `_`,以及 倒斜为普通字符。 服务器会修剪白空间, 并响应已规范的 搜索,或 `null` 用于空白/输入搜索。 输入超过128个Unicode字符或包含 NUL还回HTTP 400. 空白/ 输入的搜索保留了现有的目录和计数 。 页面开始 1; 页面大小被夹到1–100 (默认为 10), 由 UUID 升序命令 。 删除行 (d) 搜索没有增加身份、租户或许可语义。 完全Axios状态, 保留标题、错误、取消和现有配置的授权.

### 编辑管理、媒体和代理提议

已发布的内容查找返回一个原始内容 `ContentDocument`管理内容/设置的更新、公布和恢复 `If-Match` 与当前 ETag; 方便方法明确接受 ETag。 缺少先决条件 返回 428 和 steal Reversion 412. 内容需读取/写入 `content:read`编号 :`content:write`,需要发布 `content:publish`设置 `settings:read`编号 :`settings:write`。 。 。 .

`runAgent` 返回 SSE 文本并接受稳定的一等键;生成的操作接受密钥在 `options.headers`。需要代理模型/运行 `agent:run`,提案为: `agent:audit`,以及批准/拒绝 `agent:apply` (风险批准也要求 `agent:approve-risky`) (中文(简体) ). 保存出错事件以及 HTTP 失败 。 媒体下载返回字节; 上传使用多段 `kind` 财务报告和审定财务报表 `file`,由服务强制执行图像/视频限制.

SKU,推车项目,编辑文档,SEO部分,审计元数据,请求格式数据和代理上下文/diffs 仍然是任意的JSON,因为后端存储 `serde_json::Value`。它们的周围记录和收集信封是混凝土输出类型。 命令要求经认证的拥有者或管理者的角色;服务从活跃的变体计算出价格并强制执行股票/付款过渡.

## 常见问题

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

产品、变体、手推车、订单、库存、编辑职位和网页、分类学、标准经济、一般评论和反应、准入规则、定价和样本\.

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

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

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

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

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

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

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

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

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

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

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

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

