当前位置: 首页 > news >正文

推荐一款前端滑动验证码插件(Vue、uniapp)

uniapp版本:滑块拼图验证码,有后端,简单几步即可实现,小程序、h5都可以用 - DCloud 插件市场

Vue版本及cdn版本可以查阅文档: 行为验证 | Poster 文档

示例代码:

<template><view id="app"><button @click="open">验证</button><slider-captcha v-model="visible":options="options":loading="loading"@check="check"@close="close"@refresh="getSliderOptions"@error="getSliderOptions"><!-- vue2 --><view slot="title">自定义标题-安全验证</view><view slot="successText">自定义成功提示-登录中</view><view slot="errorText">自定义错误提示-是不是太难了换一个</view><view slot="tips">自定义提示拖动下方滑块完成拼图</view><!-- <view slot="question">自定义提示</view> --><!-- vue2 --><!-- vue3 --><template #title>自定义标题-安全验证</template><template #successText>自定义成功提示-登录中</template><template #errorText>自定义错误提示-是不是太难了换一个</template><template #tips>自定义提示拖动下方滑块完成拼图</template><!-- <template #question>自定义提示</template> --><!-- vue3 --></slider-captcha> </view>
</template><script>
import SliderCaptcha from '@/components/kkokk-slider-captcha.vue'
export default {components:{SliderCaptcha},data(){return {visible: false,loading: false,options: {}}},methods: {// 打开触发open() {this.visible = truethis.getSliderOptions()},// 验证check(sliderKey, sliderX, done, error){// 这里是验证是否成功的接口this.loading = trueuni.request({url: 'http://192.168.10.76:8111/', header: {// 'Content-Type': 'application/x-www-form-urlencoded''Content-Type': 'application/json' //自定义请求头信息},data:{sliderKey:sliderKey,sliderX:sliderX},method:'POST',//请求方式,必须为大写success: (res) => {this.loading = falsedone()},fail: () => {this.loading = falseerror()}})},// 关闭触发close() {},// 获取滑块验证参数getSliderOptions(){this.loading = trueuni.request({url: 'http://192.168.10.76:8111/', header: {// 'Content-Type': 'application/x-www-form-urlencoded''Content-Type': 'application/json' //自定义请求头信息},method:'GET',//请求方式,必须为大写success: (res) => {const {img, key, y} = res.datathis.options = {sliderImg: img,sliderKey: key,sliderY: y}this.loading = false}})}}
}
</script>

使用效果:

唯一不足的是:依赖的后端环境是php 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++设计模式--单例模式
  • Java人力资源招聘社会校招类型招聘系统PC端
  • Linux服务管理(四)Apache服务
  • <Python><paddle>基于python使用百度paddleocr实现车牌识别
  • Vue2从基础到实战(指令修饰符)详解
  • Golang | Leetcode Golang题解之第290题单词规律
  • 便携移动工作站,端侧 AI 大模型设备折腾笔记:ROG 幻 X 和 4090 扩展坞
  • Python常用内置库介绍
  • Redis学习[3] ——持久化
  • android(安卓)最简单明了解释版本控制之MinSdkVersion、CompileSdkVersion、TargetSdkVersion
  • Python基础知识笔记——random模块
  • C++包管理之`vcpkg`简介
  • 如何限制 docker 使用cpu
  • HTML中a标签跳转后路径不正确?
  • IDEA 本地有jar包依赖文件,但是所有引用的jar包全部爆红
  • 《剑指offer》分解让复杂问题更简单
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Angular 响应式表单之下拉框
  • Computed property XXX was assigned to but it has no setter
  • Git同步原始仓库到Fork仓库中
  • js继承的实现方法
  • Making An Indicator With Pure CSS
  • passportjs 源码分析
  • PermissionScope Swift4 兼容问题
  • session共享问题解决方案
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • ViewService——一种保证客户端与服务端同步的方法
  • vuex 学习笔记 01
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 基于组件的设计工作流与界面抽象
  • 通过git安装npm私有模块
  • 无服务器化是企业 IT 架构的未来吗?
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $.proxy和$.extend
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (力扣题库)跳跃游戏II(c++)
  • (三)模仿学习-Action数据的模仿
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)mysql使用Navicat 导出和导入数据库
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .env.development、.env.production、.env.staging
  • .Net 6.0 处理跨域的方式
  • .net FrameWork简介,数组,枚举
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net 流——流的类型体系简单介绍