@lovekeqing/captcha
    Preparing search index...

    @lovekeqing/captcha

    @lovekeqing/captcha

    npm version

    一个简单的 SVG 验证码生成器,支持数字、字母、混合和数学公式类型,可自定义字体、字符集、干扰线等参数。暂时不支持浏览器端。

    icon
    • 支持多种验证码类型:数字、字母、混合、公式
    • 可自定义验证码长度、字符集、忽略字符
    • 支持自定义字体(TTF)
    • 可设置验证码图片宽高
    • 支持设置背景颜色和自动计算字体颜色
    • 干扰线数量和宽度可调
    • 生成 SVG 格式验证码图片
    pnpm add @lovekeqing/captcha
    
    import { Captcha } from "@lovekeqing/captcha";

    const captcha = new Captcha({
    type: "formula", // 验证码类型,可选:"number" | "letter" | "mix" | "formula"
    length: 3, // 验证码长度或公式中数字个数
    noise: 2, // 干扰线数量
    });

    captcha.generate().then(({ value, svg }) => {
    console.log("验证码值:", value);
    // svg 为验证码图片的 SVG 字符串
    });

    详见 CaptchaOptions

    下面所有的配置项均为可选:

    • fontPath:字体文件路径,支持 ttf
    • type:验证码类型,"number" | "letter" | "mix" | "formula",默认 "number"
    • length:验证码长度,默认 4,公式类型表示数字个数
    • width/height:验证码图片宽高,默认自动计算
    • noise:干扰线数量,默认 1
    • noiseWidth:干扰线宽度,默认 0.03 的图片高度
    • chars:自定义字符集,默认根据 type 生成
    • ignoreChars:忽略的字符集
    • backgroundColor:背景颜色,默认随机生成
    captcha.generate(content?: string): Promise<CaptchaResult>
    

    generate 方法用于生成随机的验证码图片,详见 CaptchaResult

    generate 方法接受一个可选参数 content,用于指定验证码的内容。如果不传入该参数,验证码内容将根据配置项随机生成。

    返回一个 Promise 对象,其成功的结果包含以下属性:

    • value:验证码答案
    • svg:验证码的 SVG 字符串
    • backgroundColor:背景颜色
    • width:宽度,实际生成的验证码图片宽度
    • height:高度,实际生成的验证码图片高度
    • scale:缩放,当用户指定的宽高与计算宽高不符时,会按用户指定的宽高进行缩放
    • pnpm build:构建项目
    • pnpm test:运行测试
    • pnpm build:docs:生成文档
    • pnpm build:all:测试、构建并生成文档
    1. Fork 本仓库
    2. 创建新分支并进行修改
    3. 提交 Pull Request

    当项目的管理员审核通过后,您的贡献将被合并到主分支中。

    MIT License