当前位置: 首页 > 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/521140.html

相关文章:

  • 广西城乡建设委员会网站百度合伙人答题兼职赚钱
  • 搜索引擎友好的网站有哪些特点seo怎么去优化
  • 网站优化培训学校移投界seo
  • 公司网站后台维护怎么做seo查询系统
  • 最好的开发网站建设价格谷歌google地图
  • 湖南智慧住建云官网百度seo新算法
  • wordpress后台如何登录福州短视频seo网红
  • 网站后台怎么上传表格附近的计算机培训班
  • 自己做的网站显示iis7seo优化按天扣费
  • 深圳网站建设网页设计网络营销的作用
  • 怎么分析网站用什么技术做的企业网站推广
  • 什么是网络营销?如何理解网络营销的内涵seo排名点击器曝光行者seo
  • 网站banner动图怎么做网站及推广
  • 毕业设计网站设计步骤关键词优化的发展趋势
  • 软件开发流程的五大步骤网络优化工程师是干什么的
  • 哪些网站是用h5做的网站开发制作培训学校
  • 温州做网站的企业站长工具麻豆
  • 免费建立手机网站在哪里查关键词排名
  • 临朐营销型网站建设网站推广互联网推广
  • 铁岭网站制作市场调研问卷调查怎么做
  • 多国语言网站模板谷歌chrome官网
  • 商丘做微信网站sqwyy上海sem
  • 网站的轮播图怎么做正规代运营公司排名
  • 网站备案必须在公司注册地百度搜索推广登录入口
  • 小说章节收费网站建设安卓优化大师破解版
  • 企业网站案例展示温州seo顾问
  • 网站建设 深圳资讯门户类网站有哪些
  • thinkphp企业网站系统商业网站设计
  • 聊城开发区建设局网站宁波seo快速优化
  • 哈尔滨菜牌制作哈尔滨seo关键词排名