# @captchahub/core 中文文档

规范地址：https://npmcn.com/package/%40captchahub/core/

版本：1\.0\.11
npm 元数据更新时间：2026-08-28T23:53:53.154Z
中文译文更新时间：2026-11-09T05:33:56.217Z
软件包许可：未声明

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

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

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

- 包体积（解压后）：125 kB，58 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：react ^18\.0\.0 \|\| ^19\.0\.0，react-dom ^18\.0\.0 \|\| ^19\.0\.0
- 首次发布：2024-11-23T19:13:57.603Z
- 最新版本发布：2026-08-28T23:53:52.999Z
- 近 30 天下载量：6560（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 4 个）

## 中文简介

**CaptchaHub Core是一个TypeScript库,它作为CaptchaHub生态系统的基础软件包,提供网络应用中处理和处理Captcha的必要类,接口,以及工具.** 此软件包可以切换

## 安装

```sh
npm install @captchahub/core
```

也可以使用：`pnpm add @captchahub/core`、`yarn add @captchahub/core`、`bun add @captchahub/core`

## README

# CaptchaHub 核心软件

**CaptchaHub Core是一个TypeScript库,它作为CaptchaHub生态系统的基础软件包,提供网络应用中处理和处理Captcha的必要类,接口,以及工具.** 这个软件包能够与包括ReCaptcha、HCaptcha和Turnstile在内的各种Captcha供应商进行无缝整合,确保以一致和简化的方式实施Captcha.

## 安装

使用 pnpm 安装软件包 :

```bash
pnpm add @captchahub/core
```

## 特征

-   **统一一体化**翻译: CaptchaHub Core为整合多个cabtcha供应商提供了统一的接口.
-   **广泛**: 方便地扩展了核心功能,以支持额外的captcha服务.
-   **无节点( 无服务) 支持**: 被设计成在无节点(无服务器)环境中无缝工作,使其成为现代网络应用的理想.

## 使用量

### 获取 Captcha 脚本

这个 `getCaptchaScript` 函数可用如下:

```typescript
import { getCaptchaScript } from '@captchahub/core';

const config = {
    CAPTCHA_PROVIDER: 'your-provider', // Specify the captcha provider
    // Additional provider-specific configuration can go here
};

const CaptchaComponent = () => {
    const CaptchaScript = getCaptchaScript(config);

    return (
        <div>
            <CaptchaScript />
            {/* Additional form elements */}
        </div>
    );
};
```

### 获取 Captcha 窗体元素

这个 `getCaptchaFormElement` 函数可用如下:

```typescript
import { getCaptchaFormElement } from '@captchahub/core';

const config = {
    CAPTCHA_PROVIDER: 'your-provider', // Specify the captcha provider
    // Additional provider-specific configuration can go here
};

const CaptchaFormComponent = () => {
    const CaptchaFormElement = getCaptchaFormElement(config);

    return (
        <div>
            <CaptchaFormElement />
            {/* Additional form elements */}
        </div>
    );
};
```

### 正在验证 Captcha

这个 `verifyCaptcha` 函数可用如下:

```typescript
import { verifyCaptcha } from '@captchahub/core';

const config = {
    CAPTCHA_PROVIDER: 'your-provider', // Specify the captcha provider
    // Additional provider-specific configuration can go here
};

const formFieldValues = {
    // Your form field values that need to be verified
};

const isValid = await verifyCaptcha(formFieldValues, config);
if (isValid) {
    console.log('Captcha verified successfully!');
} else {
    console.error('Captcha verification failed.');
}
```

### 配置

Captcha 提供者的配置可以在创建 Captcha 实例时被传递到工厂的配置对象中定义. 配置对象必须包含 `CAPTCHA_PROVIDER` 属性以指定要使用的 Captcha 提供者。 根据具体提供者的不同,可能需要其他属性.

### 添加新供应商

要添加新的 Captcha 提供者, 您可以执行 `CaptchaInterface`以下是如何实施一个新的提供者的简单例子:

1.  **创建新文件夹**: 为您的提供者创建一个新文件夹( 例如 ), `packages/myprovider`) (中文(简体) ).
    
2.  **执行接口**: 创建执行 `CaptchaInterface`。该类应处理用于验证卡普查和渲染卡普查元素的逻辑.
    
    示例
    
    ```typescript
    import type { CaptchaInterface } from '@captchahub/core';
    
    export class MyProviderCaptcha implements CaptchaInterface {
        async verifyCaptcha(formFieldValues: Record<string, any>): Promise<boolean> {
            // Implement the logic to verify the captcha
        }
    
        getCaptchaScript(): React.FC {
            // Return the captcha script as a React component
        }
    
        getCaptchaFormElement(): React.FC {
            // Return the captcha form element as a React component
        }
    }
    ```
    
3.  **自注册软件包**:为了让您的包裹自我注册,确保您的包裹与 `CaptchaFactoryRegistry` 并导出工厂类作为默认导出单位 `index.tsx`。例如:
    

```typescript
import { CaptchaFactoryRegistry } from '@captchahub/core';
import { MyProviderCaptchaFactory } from './Factory';

CaptchaFactoryRegistry.registerCaptchaFactory('my-provider', new MyProviderCaptchaFactory());

// default export so that core factory can use it directly
export default MyProviderCaptchaFactory;
```

## 理由

CaptchaHub Core包旨在为TypeScript应用程序中的Captcha工作流程管理提供一致而可扩展的基础. 通过使用定义明确的界面和工具,开发者可以轻松地将captcha能力整合到他们的网络应用中.

## 捐款

欢迎捐款! 请随意将这个项目叉出并提交拉动请求. 在提交之前,请确保您的代码通过所有起伏和单元测试.

您可以使用 :

```bash
pnpm format
```

您可以使用 :

```bash
pnpm test
```

## 常见问题

### @captchahub/core 是什么？

CaptchaHub Core是一个TypeScript库,它作为CaptchaHub生态系统的基础软件包,提供网络应用中处理和处理Captcha的必要类,接口,以及工具\. 此软件包可以切换

### 如何安装 @captchahub/core？

在项目目录运行 npm install @captchahub/core，或使用 pnpm add / yarn add / bun add。

### @captchahub/core 支持 TypeScript 吗？

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

### @captchahub/core 支持 ESM 还是 CommonJS？

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

### @captchahub/core 可以商用吗？

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

### @captchahub/core 的下载量有多少？

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

### @captchahub/core 还在维护吗？

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

