Makeit Captcha 滑块验证码组件,基于 Vue3.x + Vite6.x + Canvas 开发,动态生成验证滑块,结合后端进行二次校验,能有效避免被恶意抓取后的模拟验证,进一步提升验证码的可靠性。
✅ 自定义主题配色 🌲
✅ 自定义初始化验证码 💖
✅ 自定义远程校验结果 💥
✅ 动态配置验证码弹窗背景图 🌺
npm i @miitvip/captcha
import { createApp } from 'vue'
import MakeitCaptcha from '@miitvip/captcha'
import '@miitvip/captcha/dist/makeit-captcha.min.css'
import App from './app.vue'
const app = createApp(App)
app.use(MakeitCaptcha)
app.mount('#app')
/**
* 如果项目本身有引入 vue-i18n,请导出 setupCaptchaI18n,
* 且在 captcha 组件 install 之前调用。
* 避免 vue-i18n 冲突(多次实例化)
* 如下示例:
*/
import { createApp } from 'vue'
import MakeitCaptcha, { setupCaptchaI18n } from '@miitvip/captcha'
import '@miitvip/captcha/dist/makeit-captcha.min.css'
import App from './app.vue'
const app = createApp(App)
const i18n = createI18n({
legacy: false,
locale: 'zh-cn',
messages: {}
})
setupCaptchaI18n(i18n)
app.use(MakeitCaptcha)
app.mount('#app')
<!-- 自定义初始化 / 校验等 -->
<template>
<div class="mi-captchas">
<!-- 基础效果 -->
<mi-captcha ref="captcha" />
<!-- 手动触发重置 -->
<a @click="reset">重置</a>
<!-- 自定义主题色 ( 颜色值 ) -->
<mi-captcha primary-color="#2F9688" />
<!-- 自定义初始化 / 校验等 -->
<mi-captcha
theme-color="#be6be0"
init-action="v1/captcha/init"
@init="initAfter"
verify-action="v1/captcha/verification"
:verify-params="params.verify"
/>
</div>
</template>
<script setup>
import { ref, reactive } from 'vue'
const captcha = ref(null)
const params = reactive({
verify: { key: null }
})
const initAfter = (res) => {
if (res?.ret?.code === 200) {
localStorage.setItem('mi-captcha-key', res?.data?.key)
params.verify.key = res?.data?.key
}
}
const reset = () => {
console.log('reinitialize')
captcha.value?.reset(false)
}
</script>
更多定制化内容及使用请查看在线示例:https://admin.makeit.vip/component/captcha