开课吧-AI算法落地与工程部署实战

开课吧-AI算法落地与工程部署实战

假如你是​​Maven开发者,运用起来十分便当,项目的维护人员曾经将依赖推送至中央仓库。只需求引入依赖就完成了90%的工作量。接下来只需求在登录接口中停止二次考证就能够了。​​

项目集成了包括​​html​​、​​vue​​、​​flutter​​、​​uni-app​​、​​Android Kotlin​​、​​IOS​​、​​php​​等多种前端言语,能够轻松将​​AJ_Captcha​​集成到项目中。

接下来我们以​​Spring Boot​​+​​html​​为例看看如何快速集成​​AJ_Captcha​​完成行为考证码的交互流程。

第一步、Spring Boot中引入AJ_Captcha依赖

com.anji-plus
spring-boot-starter-captcha
1.2.9

复制代码
​​AJ_Captcha​​默许完成了考证码生成和考证接口,考证码生成接口的默许恳求地址是​​/captcha/get​​,考证接口的默许恳求地址为​​/captcha/check​​。也就是说完成以上步骤,就能够提供应前端获取和考证考证码的接口了。假如你还想让你的考证码生成的个性一点,能够配置以下属性:

滑动考证,底图途径,不配置将运用默许图片

支持全途径

支持项目途径,以classpath:开头,取resource目录下途径,例:classpath:images/jigsaw

aj.captcha.jigsaw=classpath:images/jigsaw

滑动考证,底图途径,不配置将运用默许图片

支持全途径

支持项目途径,以classpath:开头,取resource目录下途径,例:classpath:images/pic-click

aj.captcha.pic-click=classpath:images/pic-click

关于散布式部署的应用,我们倡议应用本人完成CaptchaCacheService,比方用Redis或者memcache,

参考CaptchaCacheServiceRedisImpl.java

假如应用是单点的,也没有运用redis,那默许运用内存。

内存缓存只合适单节点部署的应用,否则考证码消费与考证在节点之间信息不同步,招致失败。

!!! 留意啦,假如应用有运用spring-boot-starter-data-redis,

请翻开CaptchaCacheServiceRedisImpl.java注释。

redis -----> SPI: 在resources目录新建META-INF.services文件夹(两层),参考当前效劳resources。

缓存local/redis...

aj.captcha.cache-type=local

local缓存的阈值,到达这个值,肃清缓存

aj.captcha.cache-number=1000

local定时肃清过时缓存(单位秒),设置为0代表不执行

aj.captcha.timing-clear=180

spring.redis.host=10.108.11.46

spring.redis.port=6379

spring.redis.password=

spring.redis.database=2

spring.redis.timeout=6000

考证码类型default两种都实例化。

aj.captcha.type=default

汉字统一运用Unicode,保证程序经过@value读取到是中文,可经过这个在线转换;yml格式不需求转换

https://tool.chinaz.com/tools... 中文转Unicode

右下角水印文字(我的水印)

aj.captcha.water-mark=\u6211\u7684\u6c34\u5370

右下角水印字体(不配置时,默许运用文泉驿正黑)

由于宋体等触及到版权,我们jar中内置了开源字体【文泉驿正黑】

方式一:直接配置OS层的现有的字体称号,比方:宋体

方式二:自定义特定字体,请将字体放到工程resources下fonts文件夹,支持ttf\ttc\otf字体

aj.captcha.water-font=WenQuanZhengHei.ttf

点选文字考证码的文字字体(文泉驿正黑)

aj.captcha.font-type=WenQuanZhengHei.ttf

校验滑动拼图允许误差偏移量(默许5像素)

aj.captcha.slip-offset=5

aes加密坐标开启或者禁用(true|false)

aj.captcha.aes-status=true

滑动干扰项(0/1/2)

aj.captcha.interference-options=2

aj.captcha.history-data-clear-enable=false

接口恳求次数一分钟限制能否开启 true|false

aj.captcha.req-frequency-limit-enable=false

考证失败5次,get接口锁定

aj.captcha.req-get-lock-limit=5

考证失败后,锁定时间距离,s

aj.captcha.req-get-lock-seconds=360

get接口一分钟内恳求数限制

aj.captcha.req-get-minute-limit=30

check接口一分钟内恳求数限制

aj.captcha.req-check-minute-limit=60

verify接口一分钟内恳求数限制

aj.captcha.req-verify-minute-limit=60
复制代码
第二步、前端伪代码调用接口

引入考证码的款式以及考证等文件
考证码获取及考证

复制代码
考证码考证胜利之后,会返回一个用于二次考证的串码。

第三步,用户登录,二次考证
客户端登录的时分携带考证胜利后返回的串码,在登录接口中停止二次考证,考证流程终了。

@Autowired
private CaptchaService captchaService;
/**

  • 页面获取token
  • 大屏数据校验
  • @param user
  • @return
    */

@PostMapping("getWebToken")
public ResultBean getWebToken(@RequestBody LoginUser user,String captchaVerification){

ResultBean resultBean = new ResultBean();
CaptchaVO captchaVO = new CaptchaVO();
captchaVO.setCaptchaVerification(captchaVerification);
ResponseModel responseModel = captchaService.verification(captchaVO);
if(!responseModel.isSuccess()){
    resultBean.fillCode(0,responseModel.getRepMsg());
    return resultBean;
}
// 考证经过后,继续登录流程

}
复制代码
今天的内容就引见到这里了,趁这个时机,试着运用这款高颜值的行为考证码来交换项目中的图形考证码吧。

download

你可能感兴趣的:(算法)