Skip to content

BizCaptchaInput 图形验证码 ​

图形验证码输入框:local 模式前端生成干扰字符 SVG(内网 / 演示),remote 模式服务端出图 + captchaId 回传;输入满位自动校验、通过 / 失败自动换图防重放、连续失败达阈值额外触发 refresh。

与 BizSliderCaptcha(行为验证)、BizVerifyCodeInput(短信 OTP)构成完整验证码家族。适用于登录 / 注册防刷、短信发送前置校验、敏感操作二次确认。

基础用法(本地模式) ​

FD4A
输入满 4 位自动校验
输满 4 位自动校验:通过清空输入并换图;失败计数并换图。点击图可手动刷新。

远程模式(服务端出图) ​

验证码
点击图换一张;change 事件回传 (code, captchaId),判定权在服务端
mode="remote" 传 image-url(url / base64)与 captcha-id:change 事件回传 (code, captchaId),verify 仅做非空判定——校验权在服务端;点击图抛 refresh 由业务重新拉图。

字符集与位数 ​

961040
纯数字 6 位
C70D2
HEX 字符集 + 干扰强度 3
char-set 自定义字符集(默认剔除易混淆的 0/O/1/I/l)、length 位数、noise 干扰强度(0~3)。

大小写敏感与尺寸 ​

EMD7
ignore-case=false(默认忽略)
FDXT
small
NAW3
large
ignore-case 默认忽略大小写;size 三档(输入框宽与图高联动)。

连续失败自动换图 ​

THEJ
累计失败 0 次(故意输错试试;每次失败都会换图,达阈值额外触发 refresh)
每次校验失败都换图;连续失败达 auto-refresh-after-fails(默认 3)额外触发 refresh 事件供业务提示(可设 0 关闭)。

表单校验集成 ​

用户名
密码
验证码
6GDV
el-form 自定义 validator 内调 verify()——提交前随表单整校验,错误文案走表单体系。

图形码 → 短信码组合 ​

3T85
防刷链路:图形码本地通过 → 解锁发短信按钮 → OTP 校验交服务端
图形码通过(verify 事件 valid=true)才解锁发送短信按钮,再进入 BizVerifyCodeInput OTP 流程——完整防刷链路。

程序化方法 ​

WR4D
(操作日志)
refresh 换图 / reset 重置(清空 + 归零失败计数 + 换图)/ verify 主动校验 / focus 聚焦。

禁用态 ​

锁定
N7N4
如「登录已达最大重试次数,请 10 分钟后再试」场景直接置灰整个验证码区
disabled 同时锁定输入与刷新,图形置灰——登录重试次数超限等场景。

属性 ​

属性类型默认值说明
model-value / v-modelstring''用户输入的验证码
mode'local' | 'remote''local'本地生成 / 服务端出图
lengthnumber4字符数(local 模式;remote 固定 maxlength 4)
char-setstring剔除易混淆字符集本地字符集
noisenumber2干扰强度 0~3(local 模式)
ignore-casebooleantrue校验忽略大小写(local 模式)
auto-refresh-after-failsnumber3连续失败 N 次额外触发 refresh;0 关闭
image-urlstring—remote 模式图形地址(url / base64)
captcha-idstring—remote 模式随图下发的 token,事件原样回传
placeholderstring'请输入验证码'输入框占位
size'small' | 'default' | 'large''default'尺寸
disabledbooleanfalse禁用输入与刷新
load-fail-textstring'加载失败'图加载失败文案

事件 ​

事件名参数说明
update:model-value(code: string)输入变化(换图自动清空时也回发空串)
change(code: string, captchaId?: string)输入变化(remote 模式携带 captchaId)
verify(payload: { valid, input, captchaId?, failCount })校验结果(输满自动触发或 verify() 主动触发)
refresh(captchaId?: string)换图:local 重生成 / remote 由业务重新拉图

插槽 ​

插槽名说明
—无插槽

Expose ​

名称类型说明
verify() => { valid, input, captchaId?, failCount }主动校验并返回结果
refresh() => void换图
reset() => void重置(清空输入、归零失败计数、换图)
focus() => void聚焦输入框