前提准备
- 已开通阿里云验证码2.0服务。
- 已新建接入方式为Web/H5的验证场景。
在开通的阿里云的验证码的界面,可以看到身份标识prefix,后面会用到。

在场景管理目录里面,新增一个场景,可以看到场景IDSceneId,后面会用到。

验证码V2.0接入
不同的客户端架构使用不同的方式:
- Web和H5客户端V2架构接入
- Web和H5客户端V3架构接入,我现在使用的这一种方式接入的。
打开上面的链接,在文章的最下面会有示例demo参考, 把这个demo下载下来。
本站备份下载:客户端V2架构Demo示例下载——Vue集成Demo示例
本站备份下载,我用的是这个:客户端V3架构Demo示例下载——Vue3集成Demo示例
运行Demo
demo下载下来安装之后,需要修改两个地方的配置就可以跑起来了,不需要域名配置,不需要端口配置,安装包之后运行,就可以打开网站正常加载,如果你打不开那就是配置错了。
装包
如果使用npm install没有安装成功的话,删除掉package-lock.json文件,使用pnpm install方式安装。
修改配置
修改prefix
修改为前面获取到的prefix。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <link rel="shortcut icon" href="//www.aliyun.com/favicon.ico" type="image/x-icon" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AliyunCaptcha Vue</title> <script> window.AliyunCaptchaConfig = { region: 'cn', prefix: '1o4klf', }; </script> <script type="text/javascript" src="https://o.alicdn.com/captcha-frontend/aliyunCaptcha/AliyunCaptcha.js"></script></head>5 collapsed lines
<body><div id="app"></div><script type="module" src="/src/main.js"></script></body></html>修改SceneId
修改为前面获取到的SceneId。
function initCaptcha() { window.initAliyunCaptcha({ SceneId: 'xxxxxxx', // 场景ID。根据步骤二新建验证场景后,您可以在验证码场景列表,获取该场景的场景ID mode: 'popup', // 验证码模式。popup表示要集成的验证码模式为弹出式。无需修改 element: '#captcha-element', // 页面上预留的渲染验证码的元素,与原代码中预留的页面元素保持一致。 button: '#captcha-button', // 触发验证码弹窗的元素。 success: success, fail: fail, getInstance: getInstance, // 绑定验证码实例函数,无需修改 slideStyle: { width: 360, height: 40, }, // 滑块验证码样式,支持自定义宽度和高度,单位为px。其中,width最小值为320 px language: 'cn', // 验证码语言类型,支持简体中文(cn)、繁体中文(tw)、英文(en) })1 collapsed line
}运行项目
> vue-captcha-demo@0.0.0 dev> vite
VITE v4.5.14 ready in 302 ms
➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help浏览器中打开http://localhost:5173/,可以正常看到页面显示如下。

点击按钮,能够正常打开验证码弹框就可以了。

后面的代码需要结合业务进行调整,比如在function initCaptcha()中我们可能需要用自己的方式来打开这个验证码弹框,可以删除掉配置中的button: '#captcha-button',等等。