@captchahub/core

中文文档
1.0.11发布于 2026/08/29TypeScriptES Module零依赖近 30 天下载 6560

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

中文使用文档
文档目录10 节
  1. 安装
  2. 特征
  3. 使用量
  4. 获取 Captcha 脚本
  5. 获取 Captcha 窗体元素
  6. 正在验证 Captcha
  7. 配置
  8. 添加新供应商
  9. 理由
  10. 捐款

CaptchaHub 核心软件

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

安装

使用 pnpm 安装软件包 :

pnpm add @captchahub/core

特征

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

使用量

获取 Captcha 脚本

这个 getCaptchaScript 函数可用如下:

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 函数可用如下:

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 函数可用如下:

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。该类应处理用于验证卡普查和渲染卡普查元素的逻辑.

    示例

    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。例如:

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能力整合到他们的网络应用中.

捐款

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

您可以使用 :

pnpm format

您可以使用 :

pnpm test

版本与发布记录

@captchahub/core 共发布 11 个版本,首次发布于 2024/11/24;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.0.11latest2026/08/292 个月前
1.0.102026/08/063 个月前
1.0.92026/03/297 个月前
1.0.82026/03/277 个月前
1.0.62025/08/021.3 年前
1.0.52025/03/031.7 年前

关于 @captchahub/core 的常见问题

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