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

泰安网站建设哪家快海南网站制作公司

泰安网站建设哪家快,海南网站制作公司,wordpress 无限滚动 利弊,如何做视频教程网站目录 一、安装依赖 1、rc-slider-captcha 2、create-puzzle 二、个人封装好的组件拿去用 三、效果展示 一、安装依赖 这里需要引入两个依赖,若有后端图片接入,可以不引入第二个依赖 1、rc-slider-captcha 滑动验证码生成的库 国内网&#xff1a…

目录

一、安装依赖

1、rc-slider-captcha

2、create-puzzle

二、个人封装好的组件拿去用

三、效果展示


一、安装依赖

这里需要引入两个依赖,若有后端图片接入,可以不引入第二个依赖

1、rc-slider-captcha

滑动验证码生成的库

国内网:rc-slider-captcha - npm

外网演示:https://caijf.github.io/rc-slider-captcha

yarn add rc-slider-captcha
2、create-puzzle

这个库可以让图片生成拼图

地址:create-puzzle - npm

yarn add create-puzzle

二、个人封装好的组件拿去用

注意:引入的图片尺寸需要对应,否则可能出现比例问题。

280 x 173

/*** @author: Dragon Wu* @since: 2025/4/10 17:40* @description: 弹窗显示滑动验证码*/import React, {useRef} from "react";
import SliderCaptcha from "rc-slider-captcha";
import {Modal} from "antd";
// 引入生成拼图的库
import createPuzzle from "create-puzzle";export type Result = {bgUrl: string;          // 背景图puzzleUrl: string;      // 拼图x?: number;              // x 轴偏移值。如果使用该值校验,建议前后阈值增减 5 的范围y?: number;             // y 轴偏移值,等高拼图时值始终为 0
};const ModalSliderCaptcha: React.FC<{open: boolean,                                  // 是否打开onCancel: () => void,                           // 关闭时调用range?: number,                                 // 误差范围format?: "dataURL" | "blob",                    // 拼图库format类型,默认dataURL即base64格式onVerify?: (data?: Result) => void | boolean    // 是否校验成功。非后端验证模式下,data存在代表成功,data为空代表失败request?: () => Promise<undefined | Result>     // 请求后端验证码参数modalProps?: {},                                // Modal组件的属性,见:https://ant.design/components/modal-cn#apisliderCaptchaProps?: {},                        // SliderCaptcha的属性,详情见:https://www.npmjs.com/package/rc-slider-captcha
}> = React.memo(({modalProps, sliderCaptchaProps, open, onCancel,format = "dataURL", range = 5, onVerify, request}) => {const offsetXRef = useRef(0)    // x 轴偏移值const handleOffsetX = (res?: Result) => {offsetXRef.current = res?.x ?? 0return {bgUrl: res?.bgUrl,puzzleUrl: res?.puzzleUrl}}const requestCaptcha = async () => {if (request) {return request().then(handleOffsetX)} else {return createPuzzle("/assets/img/source/captcha-bg.png", {format,width: 60,height: 60,bgWidth: 280,bgHeight: 173,quality: 1.0,       // 图片质量,默认0.8}).then(handleOffsetX)}}const onVerifyCaptcha = (data?: Result) => {if (request) {// 后端验证码模式下if (onVerify) {if (onVerify(data)) {// 后端校验通过,验证成功return Promise.resolve()}}} else {// 非后端验证模式下if (data?.x && data?.x >= offsetXRef.current - range && data?.x < offsetXRef.current + range) {if (onVerify) {onVerify(data)}return Promise.resolve()}if (onVerify) {onVerify()}}return Promise.reject()}return (<Modal {...{title: "安全验证",zIndex: 1024,style: {maxWidth: "100%",},styles: {content: {padding: 20}},centered: true,width: 320,footer: false,...modalProps}}onCancel={onCancel}open={open}><SliderCaptcha request={requestCaptcha as any}onVerify={onVerifyCaptcha as any}bgSize={{width: 280,height: 173}}tipText={{default: "向右👉拖动完成拼图",loading: "👩🏻‍💻🧑‍💻努力中...",}}style={{"--rcsc-primary": "#6153FC","--rcsc-primary-light": "#efecfc",}}loadingDelay={300}{...sliderCaptchaProps}/></Modal>)
});ModalSliderCaptcha.displayName = "ModalSliderCaptcha";export default ModalSliderCaptcha;

三、效果展示

将组件放在自己的其他组件上,通过Antd Modal的open属性来控制开关,点击按钮实现弹窗滑块验证码功能。后续,将加入如何用SpringBoot来实现滑块验证码图片生成,以完成前后端滑动验证码功能。

前端部分总结到此!

http://www.dtcms.com/wzjs/436022.html

相关文章:

  • 上线了做网站多少钱广州今天刚刚发生的重大新闻
  • 东莞营销网站建设哪个平台好百度seo关键词排名 s
  • 部门网站建设存在的问题世界杯比分
  • 网站的ftp信息网页设计制作网站模板图片
  • 宣武做网站博客营销
  • 网站开发工程师前景seo的优缺点
  • 外贸人常用网站好的推广方式
  • wordpress广告设置网站关键词优化报价
  • 东莞南城网站建设价格深圳网络营销信息推荐
  • wordpress非官方人员优化方案
  • 提供网站建设方案品牌广告文案
  • 北京市建设局网站首页广州头条新闻最新
  • 云南公司网站建设制作网站的步骤和过程
  • 类似站酷的设计网站百度贴吧广告投放
  • 婚嫁网站模板武汉建站优化厂家
  • 免费搭建微信小程序深圳seo推广外包
  • 做兼职靠谱的网站有哪些企业如何开展网络营销
  • 做外贸的网站开店流程福建网络seo关键词优化教程
  • 布吉网站建设哪家好百度搜索推广方案
  • 男女之间做那个的网站3小时百度收录新站方法
  • 党员写试卷需要在哪个网站做苏州企业网站关键词优化
  • 做网站的工作是什么seo关键词排名技巧
  • 做交友网站年收入seo技术培训泰州
  • 国家排污许可网站台账怎么做百度网站排名优化
  • uzi视频网站谁做的福州seo按天付费
  • 安徽省干部建设教育网站培训网址
  • php网站制作报价网站地址ip域名查询
  • 网站个人博客怎么做网站推广常用的方法
  • 徐州网站建设 网站推广卡点视频软件下载
  • 来宾住房和建设局网站苏州seo门户网