Captcha
基于YMP框架实现的验证码模块,支持图片、邮件和短信三种验证类型,采用@VCaptcha注解方式进行验证,配置简单、灵活,可自定义扩展;
Mave包依赖et.ymate.moduleymate-module-captcha1.0-SNAPSHOT搭建模块工程首先,你需要创建一个基于YMPv2框架的JavaWeb工程项目;(如何快速搭建工程?)
YMP框架扫描包路径要包含et.ymate.module.captcha,调整配置如下:
#框架自动扫描的包路径集合,多个包名之间用'|'分隔,默认已包含et.ymate.platform包,其子包也将被扫描ymp.autosca_packages=et.ymate注:推荐将YMP框架更新至最新(Mave中央库发布的版本较缓), 请前往下载最新代码
使用方法说明获取验证码图片
https:///captcha?tokeId=&type=tokeId:令牌标识ID,用于区分不同客户端及数据存储范围,相同令牌ID间仅存在唯一验证码,可选参数;
type:仅当type=1时采用Base64编码输出图片,可选参数;
发送短信验证码
https:///captcha/sms_code?tokeId=&mobile=tokeId:令牌标识ID,采用sms作为前缀,区别于图片验证码,可选参数;
mobile:手机号码,必选参数;
返回值说明:
{ret:0,msg:"..."}ret=0 表示发送成功ret=-1 表示参数验证错误ret=-6 表示发送频率过快或其它消息ret=-50 表示发送异常发送邮件验证码
https:///captcha/mail_code?tokeId=&email=tokeId:令牌标识ID,采用mail作为前缀,区别于图片验证码,可选参数;
email:邮件地址,必选参数;
返回值说明:
{ret:0,msg:"..."}ret=0 表示发送成功ret=-1 表示参数验证错误ret=-6 表示发送频率过快或其它消息ret=-50 表示发送异常检查验证码是否合法
https:///captcha/match?tokeId=&toke=tokeId:令牌标识ID,可选参数;
toke:预验证的令牌值,必选参数;
返回值:
{ret:0,matched:true|false}模块配置参数说明#-------------------------------------#module.captcha模块初始化参数#-------------------------------------#是否开启调试模式(调试模式下控制台将输出生成的验证码,同时短信验证码也不会被真正发送),默认值:falseymp.cofigs.module.captcha.dev_mode=#验证码服务提供者类,默认值:et.ymate.module.captcha.impl.DefaultCaptchaProviderymp.cofigs.module.captcha.provider_class=#验证码存储适配器类,默认值:et.ymate.module.captcha.impl.DefaultCaptchaStorageAdapterymp.cofigs.module.captcha.storage_adapter_class=#身份令牌标识扩展处理器,默认值:空ymp.cofigs.module.captcha.toke_processor_class=#邮件验证码发送服务提供者类,默认值:空ymp.cofigs.module.captcha.mail_sed_provider_class=#相同令牌标识范围的邮件验证码重复发送的是时间间隔(秒),默认值:300秒ymp.cofigs.module.captcha.mail_sed_time_iterval=#手机短信验证码发送服务提供者类,默认值:空ymp.cofigs.module.captcha.sms_sed_provider_class=#手机短信验证码内容模板,默认值:${captcha}ymp.cofigs.module.captcha.sms_cotet_template=#相同令牌标识范围的短信验证码重复发送的是时间间隔(秒),默认值:120秒ymp.cofigs.module.captcha.sms_sed_time_iterval=#设置在达到指定错误次数上限后开启验证码,默认值:0,表示不开启错误记数特性ymp.cofigs.module.captcha.eed_captcha_wrog_times=#缓存名称前缀,默认值:""ymp.cofigs.module.captcha.cache_ame_prefix=#验证码最小字符长度,默认值:4ymp.cofigs.module.captcha.toke_legth_mi=#验证码超时时间,单位:秒,默认:空,空或小于等于0均表示不限制ymp.cofigs.module.captcha.toke_timeout=#高度,默认:70pxymp.cofigs.module.captcha.height=#宽度,默认:200pxymp.cofigs.module.captcha.width=#前景色,RGB值,如:0,0,0|1,2,3,多个颜色用'|'分隔,默认:随机ymp.cofigs.module.captcha.foregrouds=#背景色,RBG值,默认:255,255,255ymp.cofigs.module.captcha.backgroud=#质量,可选值:mi|default|max,默认:maxymp.cofigs.module.captcha.quality=#压缩比,0-1之间,默认:空ymp.cofigs.module.captcha.compress_ratio=#图片格式,可选值:pg|jpeg,默认:jpegymp.cofigs.module.captcha.format=#自定义字体,可选参数,如:SasSerif,plai|Serif,bold|Moospaced,plai,多个字体用'|'分隔,默认:随机ymp.cofigs.module.captcha.fots=#图片生成效果参数设置:缩放,取值范围:[0-1,0-1],默认:1,1ymp.cofigs.module.captcha.effect.scale=#图片生成效果参数设置:波浪,默认值:trueymp.cofigs.module.captcha.effect.ripple=#图片生成效果参数设置:模糊,默认值:trueymp.cofigs.module.captcha.effect.blur=#图片生成效果参数设置:轮廓,默认值:falseymp.cofigs.module.captcha.effect.outlie=#图片生成效果参数设置:旋转,默认值:trueymp.cofigs.module.captcha.effect.ratale=OeMoreThigYMP不仅提供便捷的Web及其它Java项目的快速开发体验,也将不断提供更多丰富的项目实践经验。
感兴趣的小伙伴儿们可以加入官方QQ群480374360,一起交流学习,帮助YMP成长!
了解更多有关YMP框架的内容,请访问官网:https://www.ymate.et/







评论