返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序实现滑动验证拼图
  • 205
分享到

微信小程序实现滑动验证拼图

2024-04-02 19:04:59 205人浏览 薄情痞子
摘要

本文实例为大家分享了微信小程序实现滑动验证拼图的具体代码,供大家参考,具体内容如下 效果图 .wxml <button bindtap="visidlisd">滑动验证

本文实例为大家分享了微信小程序实现滑动验证拼图的具体代码,供大家参考,具体内容如下

效果图

.wxml

<button bindtap="visidlisd">滑动验证</button>
<!-- 滑动验证弹窗 -->
<view class="slide_model" wx:if="{{slidebel}}">
  <view>
      <view class="canvas_img">
            <canvas wx:if="{{!canfile_image}}" style="width: 300px; height: 104px;" canvas-id="firstCanvas"></canvas>
            <image wx:if="{{canfile_image}}" class="canvas_srinl" src="/images/slideimage_{{canfile_index}}.jpg"></image>
            <view class="canvas_view" style="left:{{canfile_x}}px;top:{{canfile_y}}px;"></view>
            <image class="canfile_image" style="top:{{canfile_y}}px;left:{{slide_clientX > 250 ? 250 : slide_clientX}}px;" src="{{canfile_image}}"></image>
        </view>
        <view class="canvas_slide">
            <view class="canvas_width" style="width:{{slide_clientX > 260?260:slide_clientX}}px;{{slide_status == 2?'background:#52CCBA;':''}}{{slide_status == 3?'background:#F57A7A;':''}}"></view>
            <view class="canvas_kus" bindtouchstart="slide_start" bindtouchmove="slide_hmove" bindtouchend="slide_chend"
      style="left:{{slide_clientX > 260?260:slide_clientX}}px;{{slide_status == 0?'color: #333;':''}}{{slide_status == 1?'background:#1991FA;':''}}{{slide_status == 2?'background:#52CCBA;':''}}{{slide_status == 3?'background:#F57A7A;':''}}">
            <view wx:if="{{slide_status < 2}}" class="cuIcon-back_Android"></view>
            <view wx:if="{{slide_status == 2}}" class="cuIcon-check"></view>
            <view wx:if="{{slide_status == 3}}" class="cuIcon-close"></view>
          </view>
          <view wx:if="{{slide_status == 0}}">拖动左边滑块完成上方拼图</view>
        </view>
        <view class="canvas_guil">
            <view bindtap="visidlisd" class="cuIcon-roundclose"></view>
            <view bindtap="slide_tap" class="cuIcon-refresh"></view>
        </view>
    </view>
</view>

.wxss


.slide_model{width: 100%;height: 100vh;z-index: 10;position: fixed;left: 0;top: 0;background:rgba(0, 0, 0, 0.4);display: flex;align-items: center;justify-content: center;}
.slide_model>view{float: left;z-index: 1;position: relative;width: calc(300px + 60rpx);background-color: #fff;}
.canvas_img{width: 300px;height: 104px;position: relative;float: left;margin: 30rpx 30rpx 0;}
.canvas_view{width: 50px;height: 50px;position: absolute;background:#fff;z-index: 2;}
.canfile_image{width: 50px;height: 50px;position: absolute;left: 0;z-index: 3;box-shadow: 0px 1px 27px rgba(0, 0, 0, 0.2);}
.canvas_kus{width: 40px;height: 40px;background-color: #fff;font-size: 36rpx;font-weight: 700;position: absolute;left: 0;top: 0;border: 1px solid #DDD;color: #fff;}
.canvas_srinl{width: 300px;height: 104px;}
.canvas_width{position: absolute;left: 0;top: 0;height:40px;background-color: #1991FA;width: 0;border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;}
.cuIcon-back_android{transfORM:rotate(180deg);}
.canvas_slide{width: 300px;height: 40px;background:#eee;text-align: center;padding-left: 50rpx;line-height: 80rpx;float: left;margin: 30rpx;position: relative;font-size: 26rpx;}
.canvas_guil{width: 100%;border-top: 1px solid #f4f4f4;height: 100rpx;display: flex;align-items: center;float: left;font-size: 46rpx;color: #666;}
.canvas_guil>view{margin-left: 30rpx;}

.js

Page({
  data: {
    slidebel:false,//滑动弹窗
    canfile_image:'',//裁剪图片
    canfile_index:'',//图片返回 1 至 3 之间的数
    canfile_x:'',//x返回 60 至 240 之间的数
    canfile_y:'',//y返回 0 至 50 之间的数
    slide_clientX:0,//移动位置
    slide_status:0,//0 停止操作   1 触发长按   2 正确   3 错误
  },
  // 弹窗
  visidlisd(e){
    this.setData({
      slidebel:!this.data.slidebel
    })
    if(this.data.slidebel){
      this.slide_tap()
    }
  },
  // 画布
  slide_tap(e){
    var that = this
    that.setData({
      canfile_index:Math.round(Math.random() * 2 + 1),
      canfile_x:Math.round(Math.random() * 180 + 60),
      canfile_y:Math.round(Math.random() * 54),
      canfile_image:''
    })
    clearTimeout(that.data.timeoutID)
    that.data.timeoutID = setTimeout(function () {
      var context = wx.createCanvasContext('firstCanvas')
      context.width = 300
      context.height = 104
      context.drawImage('/images/slideimage_'+that.data.canfile_index+'.jpg',0,0,context.width,context.height)
      context.draw(true,(()=>{
        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
            })
          }
        });
      }))
    },300)
  },
  // 滑动开始
  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 = this
    var cliextX;
    if(that.data.slide_clientX < 1){
      that.data.slide_status = 0
      return false
    }
    if(that.data.slide_clientX > 240){
      cliextX = 240
    }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,
        })
      },1500)
    }else{
      that.setData({
        slide_status:3,
      })
    }
    setTimeout(function () {
      that.setData({
        slide_status:0,
        slide_clientX:0,
      })
    },1500)
  },
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 微信小程序实现滑动验证拼图

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

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

猜你喜欢
  • 微信小程序实现滑动验证拼图
    本文实例为大家分享了微信小程序实现滑动验证拼图的具体代码,供大家参考,具体内容如下 效果图 .wxml <button bindtap="visidlisd">滑动验证...
    99+
    2024-04-02
  • 微信小程序实现滑块验证
    本文实例为大家分享了微信小程序实现滑块验证的具体代码,供大家参考,具体内容如下 思路: 1.手指按住 并且 还能 滑动2.滑动到一定的距离 进行判断百度微信开发者文档 : 使用 m...
    99+
    2024-04-02
  • 微信小程序实现拉链式的滑动验证
    本文实例为大家分享了微信小程序实现拉链式滑动验证的具体代码,供大家参考,具体内容如下 view结构 <view style="position: relative;height...
    99+
    2024-04-02
  • 微信小程序滑块验证实现方法
    下面给大家介绍下微信小程序滑块验证的效果图及实例代码: 如图: 滑块验证组件 puzzleVerify目录 index.wxml <!-- 滑动验证弹窗 --> &...
    99+
    2024-04-02
  • Android如何实现微信小程序滑块验证
    这篇文章主要讲解了“Android如何实现微信小程序滑块验证”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现微信小程序滑块验证”吧!如图:滑块验证组件puzzleVeri...
    99+
    2023-06-26
  • 微信小程序实现图形验证码
    本文实例为大家分享了微信小程序实现图形验证码的具体代码,供大家参考,具体内容如下 1.wxml页面 <canvas canvas-id="canvas" bindtap='ch...
    99+
    2024-04-02
  • 微信小程序实现动态验证码
    目录一、创建自定义组件verification-code二、在index页面使用本文实例为大家分享了微信小程序实现动态验证码的具体代码,供大家参考,具体内容如下 一、创建自定义组件...
    99+
    2024-04-02
  • 微信小程序实现登陆注册滑块验证
    目录一、创建自定义组件MoveVerify二、在index页面使用本文实例为大家分享了微信小程序实现登陆注册滑块验证的具体代码,供大家参考,具体内容如下 一、创建自定义组件Mov...
    99+
    2024-04-02
  • vue实现登录滑动拼图验证
    本文实例为大家分享了vue实现登录滑动拼图验证的具体代码,供大家参考,具体内容如下 一、安装插件 npm install --save vue-monoplasty-slide-ve...
    99+
    2024-04-02
  • C#滑动验证码拼图验证功能实现(SlideCaptcha)
    目录使用背景:实现分析:后端代码:准备:使用:前端代码:结语:使用背景: 关于滑动验证码的使用场所还是非常多的,如:调取短信接口之前,和 注册请求之前 或者 频繁会调用的接口都需要加...
    99+
    2024-04-02
  • 微信小程序实现拼图游戏
    本文实例为大家分享了微信小程序实现拼图游戏的具体代码,供大家参考,具体内容如下 页面展示 项目链接 微信小程序实现拼图游戏 项目设计 首页面 wxml <!--inde...
    99+
    2024-04-02
  • 【flutter滑动拼图验证码】
    Java后台使用aj_captcha插件,提供/captcha/get(获取captcha底图和拼块图片)、/captcha/check(验证拼图偏移量)这两个接口。并且这个插件在GitHub上有源码。 1.先准备好aj_captcha的...
    99+
    2023-08-19
    flutter
  • 微信小程序实现表单验证
    微信小程序的表单验证,供大家参考,具体内容如下 需要用到一个插件WxValidat.js 传送门 在需要使用的page js文件下导入 import WxValidate fro...
    99+
    2024-04-02
  • 微信小程序如何实现登陆注册滑块验证
    这篇文章主要介绍“微信小程序如何实现登陆注册滑块验证”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何实现登陆注册滑块验证”文章能帮助大家解决问题。具体效果如下一、创建自定义组件MoveV...
    99+
    2023-06-30
  • 微信小程序实现滑动删除
    本文实例为大家分享了微信小程序实现滑动删除的具体代码,供大家参考,具体内容如下 wxml <view class="bgwhite bor-bom-f2 row just-b...
    99+
    2024-04-02
  • Java实现滑块拼图验证码
    本文实例为大家分享了Java实现滑块拼图验证码的具体代码,供大家参考,具体内容如下 1、后端随机生成抠图和带有抠图阴影的背景图片,后台保存随机抠图位置坐标 2、前端实现滑动交互,将抠...
    99+
    2024-04-02
  • 微信小程序实现接收验证码
    本文实例为大家分享了微信小程序实现接收验证码的具体代码,供大家参考,具体内容如下 效果如下图: wxml部分如下: <!--验证码-->   <view clas...
    99+
    2024-04-02
  • 微信小程序实现随机验证码
    本文实例为大家分享了微信小程序实现随机验证码的具体代码,供大家参考,具体内容如下 废话不多说,直接上图看效果 一、实现功能 1、点击灰色底的验证码图片可以更换一张验证码 2、验证输...
    99+
    2024-04-02
  • 微信小程序实现滑动侧边栏
    本文实例为大家分享了微信小程序滑动侧边栏的具体代码,供大家参考,具体内容如下 效果图: 手指向右滑动可以显示侧边栏,向左滑动隐藏侧边栏 代码附上:.wxml <view cl...
    99+
    2024-04-02
  • 小程序接入滑动验证
    接入前的准备工作接入之前,在顶象官网(https://www.dingxiang-inc.com/business/captcha)注册一个账号。注册后,登录管理平台。找到左侧菜单栏的“无感验证”模块,并点击“免费试用”按钮。接下来,管理平...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作