# @crvouga/mockingbird-service-unsplash 中文文档

规范地址：https://npmcn.com/package/%40crvouga/mockingbird-service-unsplash/

版本：1\.11\.1
npm 元数据更新时间：2026-11-12T11:40:05.590Z
中文译文更新时间：2026-11-14T09:58:55.985Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40crvouga/mockingbird-service-unsplash
原文对照：https://npmcn.com/package/%40crvouga/mockingbird-service-unsplash/?lang=original
项目主页：https://github.com/crvouga/mockingbird/tree/main/packages/service/unsplash#readme
源码仓库：https://github.com/crvouga/mockingbird

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

- 包体积（解压后）：4.2 MB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2026-10-05T09:32:24.308Z
- 最新版本发布：2026-11-12T11:40:05.212Z
- 近 30 天下载量：2081（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 18 个）

## 中文简介

确定性 Unsplash 搜索和本地合成图像固定装置.

## 安装

```sh
npm install @crvouga/mockingbird-service-unsplash
```

也可以使用：`pnpm add @crvouga/mockingbird-service-unsplash`、`yarn add @crvouga/mockingbird-service-unsplash`、`bun add @crvouga/mockingbird-service-unsplash`

## README

# @crvouga/mockingbird-service-unsplash (英语)

> 本地模拟器。 真正的API合同. 部分 [嘲笑鸟](https://github.com/crvouga/mockingbird)。 。 。 .

WIP Unsplash v1 有决定性结果和合成本地图像字节的相片搜索.

## 安装

```sh
bun add @crvouga/mockingbird-service-unsplash
```

## 使用量

```ts
import { createApi } from "unsplash-js"
import { createServer } from "@crvouga/mockingbird-service-unsplash/server"

const server = await createServer()

// The Unsplash SDK your application already uses. Only its base URL changes.
const unsplash = createApi({ accessKey: "mock_unsplash_key", baseUrl: server.url })
const { data } = await unsplash.GET("/search/photos", {
  params: { query: { query: "mock", orientation: "landscape", per_page: 9, page: 1 } },
})
const image = await fetch(data?.results[0]?.urls.regular ?? "") // synthetic local image bytes

await server.close()
```

对于单独的申请程序,运行 `mockingbird-unsplash serve --port 12125`。 。 。 . 设置 SDK 的 `baseUrl` (或原始客户端的搜索来源) `http://localhost:12125`· ; 不存在标准供应商基URL环境变量。 接受 `client_id=mock_unsplash_key` 或者说 `Authorization: Client-ID mock_unsplash_key`配置其他合成密钥 `accessKeys`。 。 。 .

### 路线和固定装置

-   `GET /search/photos`: 精确的不敏感大小写比对每个固定的 `queries`。 。 。 . 过滤方向, 返回 `total`, (中文(简体) ), `total_pages`, (中文(简体) ), `results`页:1 信头和稳定的插入顺序页。 默认值: 第1页,每页10;最多30. 未知的查询产生空页 。 无效备选案文文本和缺少/无效作者姓氏 ; 归属链接来自定着.
-   `GET /photos/{id}/download`: 返回 `{url}` 指向局部图像和增量 命名空间范围下载检查状态。 没有发送真正的分析事件 .
-   `GET /__admin/blobs/{id}`: 以配置的图像内容类型返回固定字节. 这是当地的运输站,不是Unsplash供应商终点站.

过 `photos: PhotoFixture[]` 到种子查询匹配、归属、取向和 `imageBase64`编号 :`contentType`。默认是用于查询的合成 PNG `mock`,不是真实的 图片。 只使用合成或拥有的字节. URL 保存选中的名称空间和 自定义 `adminPrefix`,因此浏览器可以在不复制请求的证书的情况下加载它们.

### 控件

共享 `/__admin/state/photos` 财务报告和审定财务报表 `/__admin/state/downloads` 路线检查/种子状态. 重置还原了构造器固定器并清除了下载计数. 时间线 时钟, 请求日记,延迟和一发错误规则使用共享管理员合同. 命名空间由 `x-mockingbird-namespace`, (中文(简体) ), `/__admin/ns/{name}`,或绘图 通过 `PUT /__admin/credentials`。查询证书不放入日志 或页形链接; 跟踪链接时, 重新应用认证 .

预设 : `unauthorized` (401个), `rate_limited` (说明403配额错误), `server_error` (503个), `connection_drop`这些是决定性故障控制; 配额核算不是活的。 通俗的断层也可以被脚本429和后期. 没有网友.

接受测试涵盖所有三种要求的行为, HTTP 上的本地字节, 自定义 前缀/名空间图像 URL、重置、断层和证书编辑。 财产测试覆盖 既采用对等化JSON操作,又检测出差异. `bun scripts/parity.ts` 需求 `UNSPLASH_ACCESS_KEY` 并仅探测空元数据搜索,而不下载图像. 尚未实行活账户对等.

### 故意不模拟

真正的搜索/索引/排行、任意部分文本匹配、制作相片内容、, 图像调整大小、增加搜索过滤器、用户 OAuth、编辑/收集和实际 定额核算。 成功答复的费率限制头是固定固定值. 只有第281期所消耗的反应字段是模拟的;这不是完整的相片对象.

## API 密码

-   `UnsplashAPI`: 用 `fetch`, (中文(简体) ), `reset`, (中文(简体) ), `photos` 财务报告和审定财务报表 `downloads` 藏书.
-   `createRuntime`:共享管理员,名空间,时钟,故障和日记运行时间.
-   `UNSPLASH_NAMESPACE`:服务名.
-   `UNSPLASH_PRESETS`:确定性命名的断层控制.
-   `DEFAULT_PHOTOS`:合成初期固定.
-   `accessKey`:读取客户端-ID头或客户端 id查询证书.
-   `document`, (中文(简体) ), `operationIds`, (中文(简体) ), `supportedOperationIds`:生成合同元数据.
-   `createServer`, (中文(简体) ), `serveTarget`, (中文(简体) ), `DEFAULT_PORT` 从 `./server`: 节点服务器/CLI目标 (默认端口12125).

公共类型 : `PhotoFixture`, (中文(简体) ), `UnsplashAPIOptions`, (中文(简体) ), `OperationId`, (中文(简体) ), `SupportedOperationId`。 。 。 .

## 常见问题

### @crvouga/mockingbird-service-unsplash 是什么？

确定性 Unsplash 搜索和本地合成图像固定装置\.

### 如何安装 @crvouga/mockingbird-service-unsplash？

在项目目录运行 npm install @crvouga/mockingbird-service-unsplash，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mockingbird-unsplash，可以用 npx mockingbird-unsplash 直接运行。

### @crvouga/mockingbird-service-unsplash 支持 TypeScript 吗？

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

### @crvouga/mockingbird-service-unsplash 支持 ESM 还是 CommonJS？

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

### @crvouga/mockingbird-service-unsplash 可以商用吗？

@crvouga/mockingbird-service-unsplash 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @crvouga/mockingbird-service-unsplash 的下载量有多少？

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

### @crvouga/mockingbird-service-unsplash 还在维护吗？

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

