广告
返回顶部
首页 > 资讯 > 精选 >Android如何实现微信小程序滑块验证
  • 813
分享到

Android如何实现微信小程序滑块验证

2023-06-26 04:06:47 813人浏览 八月长安
摘要

这篇文章主要讲解了“Android如何实现微信小程序滑块验证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现微信小程序滑块验证”吧!如图:滑块验证组件puzzleVeri

这篇文章主要讲解了“Android如何实现微信小程序滑块验证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现微信小程序滑块验证”吧!

如图:

Android如何实现微信小程序滑块验证

滑块验证组件

puzzleVerify目录

Android如何实现微信小程序滑块验证

index.wxml

<!-- 滑动验证弹窗 --><view class="slide_model" wx:if="{{slidebel}}"><view class="slide_wrapper"><!-- 拼图图片部分 --><view class="canvas_img" id="canvas_img"><!-- 背景图片 --><canvas  canvas-id="firstCanvas" id="firstCanvas"></canvas><!-- 被抠方块 --><cover-view class="canvas_view" ></cover-view><!-- 可移动空格 --><cover-image class="canfile_image"src="{{canfile_image}}"></cover-image></view><!-- 滑块 --><view class="canvas_slide"><view class="canvas_width"></view><view class="canvas_kus" bindtouchstart="slide_start" bindtouchmove="slide_hmove" bindtouchend="slide_chend"><view wx:if="{{slide_status < 2}}"></view><view wx:if="{{slide_status == 2}}"><image src="/imgs/puzzle-checked.png" mode="aspectFit"></image></view><view wx:if="{{slide_status == 3}}"><image src="/imgs/puzzle-fail.png" mode="aspectFit"></image></view></view><view wx:if="{{slide_status == 0 || slide_status == 1}}">拖动左边滑块完成上方拼图</view></view><!-- 底部按钮 --><view class="canvas_guil"><image bindtap="visidlisd" class="footer-icon" src="/imgs/puzzle-close.png"></image><image bindtap="slide_tap" class="footer-icon" src="/imgs/puzzle-fresh.png"></image></view></view></view>

index.wxss

.slide_model {  width: 100%;  height: 100vh;  z-index: 999;  position: fixed;  left: 0;  top: 0;  background: rgba(0, 0, 0, 0.4);  display: flex;  align-items: center;  justify-content: center;}.slide_wrapper {  float: left;  z-index: 1;  position: relative;  width: 90%;  background-color: #fff;}.canvas_img {  width: 90%;  min-height: 150px;  position: relative;  margin: 25rpx auto 0;}#firstCanvas {  z-index: 1 !important;  width: 100%;  height: 100%;}.canvas_view {  width: 50px;  height: 50px;  position: absolute;  background: rgba(0, 0, 0, 0.6);  z-index: 2;  box-shadow: 0 0 5px 2px rgba(255, 255, 255, 0.5);}.canfile_image {  width: 50px;  height: 50px;  position: absolute;  left: 0;  z-index: 3;  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.8);  box-sizing: border-box;}.canfile_image::before {  content: "";  position: absolute;  width: 100%;  height: 100%;  box-shadow: 0 0 8px 5px rgba(255, 255, 255, 0.8) inset;}.canvas_slide {  width: 90%;  height: 45px;  background: #eee;  text-align: center;  line-height: 80rpx;  margin: 0 auto;  position: relative;  font-size: 26rpx;}.canvas_width {  position: absolute;  left: 0;  top: 0;  height: 45px;  background-color: #1991FA;  width: 0;  border-top: 1px solid #DDD;  border-bottom: 1px solid #ddd;}.canvas_kus {  width: 48px;  height: 45px;  background-color: #fff;  font-size: 36rpx;  font-weight: 700;  position: absolute;  left: 0;  top: 0;  border: 1px solid #ddd;  color: #fff;  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);}.canvas_kus>view {  width: 100%;  height: 100%;  background-position: center;  background-size: 50% 40%;  background-repeat: no-repeat;}.canvas_guil {  width: 100%;  border-top: 1px solid #f4f4f4;  height: 100rpx;  display: flex;  align-items: center;  float: left;  font-size: 30rpx;  color: #666;}.canvas_guil>image {  margin-left: 30rpx;}

index.js

Component({properties: {sildeBlockCont: {   //接受父组件值type: String}},data: {canvas_width: 0,slidebel: false, //滑动弹窗canfile_image: '', //裁剪图片canfile_x: '', //被抠方块的水平位置canfile_y: '', //被抠方块的垂直位置slide_clientX: 0, //移动位置slide_status: 0, //0 停止操作   1 触发长按   2 正确   3 错误},methods: {// 弹窗visidlisd(e) {var that = thisthis.setData({slidebel: !this.data.slidebel})if (this.data.slidebel) {if (this.data.canvas_width != 0) {this.slide_tap()return}wx.nextTick(() => {let query = this.createSelectorQuery()query.select('#canvas_img').boundinGClientRect(function (rect) {that.setData({canvas_width: rect.width})that.slide_tap()}).exec()})}},// 画布slide_tap(e) {var that = thisvar imgIndex = Math.round(Math.random() * 13 + 1)that.setData({canfile_x: Math.round(Math.random() * (this.data.canvas_width - 120) + 60),canfile_y: Math.round(Math.random() * (this.data.canvas_width * 13 / 28 - 60)),canfile_image: ''})setTimeout(function () {var context = wx.createCanvasContext('firstCanvas', that)context.width = that.data.canvas_widthcontext.height = that.data.canvas_width * 13 / 28//  /imgs/puzzle-bg-${imgIndex}.jpg  为滑块背景图 从静态资源获取  如从接口获取可从that.properties.properties拿context.drawImage(`/imgs/puzzle-bg-${imgIndex}.jpg`, 0, 0, context.width, context.height)context.draw(false, (() => {wx.canvasToTempFilePath({x: that.data.canfile_x,y: that.data.canfile_y,width: 50,height: 50,canvasId: 'firstCanvas',success: function (res) {that.setData({canfile_image: res.tempFilePath})}}, that);}))}, 50)},// 滑动开始slide_start(e) {this.setData({slide_status: 1})},// 滑动中slide_hmove(e) {this.setData({slide_clientX: (e.touches[0].clientX - 60) < 1 ? 0 : (e.touches[0].clientX - 60)})},//滑动结束slide_chend(e) {var that = thisvar cliextX;var maxX = this.data.canvas_width - 60if (that.data.slide_clientX < 1) {that.data.slide_status = 0return false}if (that.data.slide_clientX > maxX) {cliextX = maxX} else {cliextX = that.data.slide_clientX}if (((that.data.canfile_x + 5) > cliextX) && ((that.data.canfile_x - 5) < cliextX)) {that.setData({slide_status: 2,slide_clientX: that.data.canfile_x,})setTimeout(function () {that.setData({slidebel: false,})}, 500)wx.showToast({icon: 'success',title: '验证成功',})that.triggerEvent('puzzleVerify')} else {that.setData({slide_status: 3,})}setTimeout(function () {that.setData({slide_status: 0,slide_clientX: 0,})}, 500)},},lifetimes: {created() {// 在组件实例刚刚被创建时执行},ready() {// 在组件在视图层布局完成后执行// console.log(this.properties.sildeBlockCont);},}})

index.JSON

{  "component": true,  "usingComponents": {}}

父组件调用滑块

Android如何实现微信小程序滑块验证

json

"usingComponents": {    "puzzleVerify": "/components/puzzleVerify/index"  }

wxml

<button  bindtap="getCode"></button><puzzleVerify id="puzzleVerify" bind:puzzleVerify="countDown" sildeBlockCont="{{sildeBlockCont}}"></puzzleVerify>

js

data: {sildeBlockCont: '', //滑块背景图},onReady: function () {this.puzzleVerify = this.selectComponent("#puzzleVerify")},getCode() {this.puzzleVerify.visidlisd()},// 滑块验证成功操作countDown() {}

感谢各位的阅读,以上就是“Android如何实现微信小程序滑块验证”的内容了,经过本文的学习后,相信大家对Android如何实现微信小程序滑块验证这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Android如何实现微信小程序滑块验证

本文链接: https://www.lsjlt.com/news/306664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何实现微信小程序滑块验证
    这篇文章主要讲解了“Android如何实现微信小程序滑块验证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现微信小程序滑块验证”吧!如图:滑块验证组件puzzleVeri...
    99+
    2023-06-26
  • 微信小程序实现滑块验证
    本文实例为大家分享了微信小程序实现滑块验证的具体代码,供大家参考,具体内容如下 思路: 1.手指按住 并且 还能 滑动2.滑动到一定的距离 进行判断百度微信开发者文档 : 使用 m...
    99+
    2022-11-13
  • 微信小程序滑块验证实现方法
    下面给大家介绍下微信小程序滑块验证的效果图及实例代码: 如图: 滑块验证组件 puzzleVerify目录 index.wxml <!-- 滑动验证弹窗 --> &...
    99+
    2022-11-12
  • 微信小程序实现登陆注册滑块验证
    目录一、创建自定义组件MoveVerify二、在index页面使用本文实例为大家分享了微信小程序实现登陆注册滑块验证的具体代码,供大家参考,具体内容如下 一、创建自定义组件Mov...
    99+
    2022-11-13
  • 微信小程序如何实现登陆注册滑块验证
    这篇文章主要介绍“微信小程序如何实现登陆注册滑块验证”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何实现登陆注册滑块验证”文章能帮助大家解决问题。具体效果如下一、创建自定义组件MoveV...
    99+
    2023-06-30
  • 微信小程序实现滑动验证拼图
    本文实例为大家分享了微信小程序实现滑动验证拼图的具体代码,供大家参考,具体内容如下 效果图 .wxml <button bindtap="visidlisd">滑动验证...
    99+
    2022-11-13
  • 微信小程序实现拉链式的滑动验证
    本文实例为大家分享了微信小程序实现拉链式滑动验证的具体代码,供大家参考,具体内容如下 view结构 <view style="position: relative;height...
    99+
    2022-11-13
  • 微信小程序实现表单验证
    微信小程序的表单验证,供大家参考,具体内容如下 需要用到一个插件WxValidat.js 传送门 在需要使用的page js文件下导入 import WxValidate fro...
    99+
    2022-11-12
  • 微信小程序实现带滑块的进度条
    微信小程序项目需求,要实现一个带滑块并可左右滑动的进度条,看了小程序的文档,发现上面的progress组件无法满足需求,所以我自己写了一个,在这里总结一下。 一、效果图 二、实现逻...
    99+
    2022-11-13
  • 微信小程序实现接收验证码
    本文实例为大家分享了微信小程序实现接收验证码的具体代码,供大家参考,具体内容如下 效果如下图: wxml部分如下: <!--验证码-->   <view clas...
    99+
    2022-11-13
  • 微信小程序实现随机验证码
    本文实例为大家分享了微信小程序实现随机验证码的具体代码,供大家参考,具体内容如下 废话不多说,直接上图看效果 一、实现功能 1、点击灰色底的验证码图片可以更换一张验证码 2、验证输...
    99+
    2022-11-13
  • 微信小程序实现图形验证码
    本文实例为大家分享了微信小程序实现图形验证码的具体代码,供大家参考,具体内容如下 1.wxml页面 <canvas canvas-id="canvas" bindtap='ch...
    99+
    2022-11-13
  • 微信小程序实现动态验证码
    目录一、创建自定义组件verification-code二、在index页面使用本文实例为大家分享了微信小程序实现动态验证码的具体代码,供大家参考,具体内容如下 一、创建自定义组件...
    99+
    2022-11-13
  • 微信小程序如何实现表单验证功能
    这篇文章将为大家详细讲解有关微信小程序如何实现表单验证功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:Wxml<form bindsubmit...
    99+
    2022-10-19
  • 微信小程序如何实现短信验证码倒计时
    这篇文章主要讲解了“微信小程序如何实现短信验证码倒计时”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何实现短信验证码倒计时”吧!初始效果当点击按钮时候设置禁止点击效果:如下图话不...
    99+
    2023-06-30
  • 微信小程序实现表单验证功能
    微信小程序是一种快速构建原生应用的开发框架,它在移动端应用开发中应用广泛。在开发过程中,表单验证是一个常见的需求,用于确保用户输入的数据的有效性和安全性。本文将介绍如何在微信小程序中实现表单验证功能,并提供具体的代码示例。一、表单验证的基本...
    99+
    2023-11-21
    表单验证 微信 小程序
  • 微信小程序实现验证码倒计时
    本文实例为大家分享了微信小程序实现验证码倒计时的具体代码,供大家参考,具体内容如下 wxml代码: <view class='container'>   <form...
    99+
    2022-11-13
  • 微信小程序实现表单验证源码
    本文实例为大家分享了微信小程序实现表单验证的具体代码,供大家参考,具体内容如下 效果图 点击预约设计弹出表单 城市,面积不能输入,只能选择 点击位置获取当前定位 源码: Wxm...
    99+
    2022-11-13
  • 微信小程序实现手机号码验证
    本文实例为大家分享了微信小程序实现手机号码验证的具体代码,供大家参考,具体内容如下 wxml <form bindsubmit='formSubmit'>   <v...
    99+
    2022-11-13
  • 微信小程序实现短信验证码倒计时
    本文实例为大家分享了微信小程序实现短信验证码倒计时的具体代码,供大家参考,具体内容如下 初始效果 当点击按钮时候设置禁止点击效果:如下图 话不多说,直接上代码 1.wxml部分 ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作