@crvouga/mockingbird-service-unsplash

中文文档
1.11.1发布于 2026/11/12MITTypeScriptES Module构建来源已验证近 30 天下载 2081

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

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 路线和固定装置
  4. 控件
  5. 故意不模拟
  6. API 密码

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

本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .

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

安装

bun add @crvouga/mockingbird-service-unsplash

使用量

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 共发布 18 个版本,首次发布于 2026/10/05;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.11.1latest2026/11/121 天前
1.11.02026/11/122 天前
1.10.02026/11/113 天前
1.9.42026/11/0310 天前
1.9.32026/11/0311 天前
1.9.22026/11/0311 天前

关于 @crvouga/mockingbird-service-unsplash 的常见问题

@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 和提交记录判断。