# 1 在线体验

####   1.1 电脑在线体验:[https://mirror.anji-plus.com/captcha-web/](https://mirror.anji-plus.com/captcha-web/ "链接")

####   1.2 微信小程序和H5在线体验(基于uni-app实现)

   如果图片未能正常展示,可查看码云,和github同步 [码云]( https://gitee.com/anji-plus/captcha "码云")

   ![微信小程序](https://mirror.anji-plus.com/captcha-web/static/8cm.jpg "微信小程序")      ![h5](https://images.gitee.com/uploads/images/2020/0429/174246_c33e3fa3_1728982.png "h5.png")

     微信小程序Demo               uni-app H5 demo

# 2 功能概述

####   2.1 组件介绍

   行为验证码采用嵌入式集成方式,接入方便,安全,高效。抛弃了传统字符型验证码展示-填写字符-比对答案的流程,采用验证码展示-采集用户行为-分析用户行为流程,用户只需要产生指定的行为轨迹,不需要键盘手动输入,极大优化了传统验证码用户体验不佳的问题;同时,快速、准确的返回人机判定结果。目前对外提供两种类型的验证码,其中包含滑动拼图、文字点选。如图1-1、1-2所示。若希望不影响原UI布局,可采用弹出式交互。

   ![滑动拼图](https://mirror.anji-plus.com/captcha-web/static/blockPuzzle.png "滑动拼图")     ![点选文字](https://mirror.anji-plus.com/captcha-web/static/clickWord.png "点选文字")

       图1-1 滑动拼图(水印自定义)               图1-2 文字点选(水印自定义)

####   2.2 概念术语描述

| 术语 | 描述 |

| ------------ | ------------ |

| 验证码类型 | 1)滑动拼图 blockPuzzle 2)文字点选 clickWord|

| 验证 | 用户拖动/点击一次验证码拼图即视为一次“验证”,不论拼图/点击是否正确 |

| 二次校验 | 验证数据随表单提交到后台后,后台需要调用captchaService.verification做二次校验。目的是核实验证数据的有效性。 |

# 3 交互流程

①用户访问应用页面,请求显示行为验证码

②用户按照提示要求完成验证码拼图/点击

③用户提交表单,前端将第二步的输出一同提交到后台

④验证数据随表单提交到后台后,后台需要调用captchaService.verification做二次校验。

⑤第4步返回校验通过/失败到产品应用后端,再返回到前端。如下图所示。

![时序图](https://mirror.anji-plus.com/captcha-web/static/shixu.png "时序图")

# 4 目录结构

├─core

│ ├─captcha    java核心源码

│ └─captcha-spring-boot-starter    springboot快速启动

├─images       效果图

├─service

│ ├─springboot    后端为springboot项目示例

│ └─springmvc    后端为springmvc非springboot项目示例

└─view       多语言客户端示例

 ├─android    原生android实现示例

 ├─flutter    flutter实现示例

 ├─html    原生html实现示例

 ├─ios    原生ios实现示例

 ├─uni-app    uni-app实现示例

 └─vue    vue实现示例

# 5 接入文档

####   5.1 本地启动

  第一步,启动后端,导入Eclipse或者Intellij,启动service/springboot的StartApplication。[社区底图库](https://gitee.com/anji-plus/AJ-Captcha-Images)

  第二步,启动前端,使用visual code打开文件夹view/vue,npm install后npm run dev,浏览器登录

```js

npm install

npm run dev

DONE Compiled successfully in 29587ms 12:06:38

I Your application is running here: http://localhost:8081

```

 详细的前后端接入文档,后端示例代码service目录下,前端示例代码view目录下。

####   5.2 [码云wiki接入文档(国内较快)](https://gitee.com/anji-plus/captcha/wikis/Home "码云")

####   5.3 [github wiki接入文档](https://github.com/anji-plus/captcha/wiki "github")

# 6 近期计划

####   6.1 增加weex示例

####   6.2 增加ReactNative示例

# 6 技术支持微信群

#### 开源不易,劳烦各位star ☺

一键复制

编辑

Web IDE

原始数据

按行查看

历史

android项目wehpu,README.md相关推荐

  1. springboot 建readme_经验分享:给项目创建和编写README.md文件的步骤

    在项目开发过程中,不仅要注意代码的编写质量,也要为合作开发打好基础,尤其是合作开发的时候,同事直接的代码需要熟悉,这就需要在开发的时候进行注释操作,方便别人维护和熟悉代码.除了上述两个重要的点之外,还 ...

  2. 【Git】GitHub同名项目实现丰富多彩的README.md

    文章目录 导读 徽章图片 Emoji 数据统计 贪吃蛇 导读 README.md作为Markdown文件,GitHub支持了Markdown的基本语法,但不支持CSDN提供的强大的公式编辑$$功能以及 ...

  3. README.md模板-中小型项目

    前言 通过一段时间的查询和研究,总结了一下中小型项目的README.md文件的写法和规范.本篇文章包含README.md的源码和显示效果. 国际开源项目的README.md文件显示效果请见我的另一篇文 ...

  4. java项目README.MD文件模板

    java项目README.MD文件模板 项目简介: 用一两句话简单描述该项目所实现的业务功能: 技术选型: 后端技术栈 springboot mybaits jwt 数据库 关系型数据库 mysql ...

  5. 如何书写项目README.md文档

    背景 编写一个项目的 README 就像是写一本书的序言一样,一个好的项目不应该仅仅只有一份高质量代码,同时更应该有一份高质量的文档.而对使用者来说,一份好的文档能够节省大量的时间. 文档结构 基本选 ...

  6. 个人项目github链接及README.md

    链接:   https://github.com/Silvia9/Word-Count README:   https://github.com/Silvia9/Word-Count/blob/mas ...

  7. 迁移ADT/ANT构建的Android项目至Gradle,a walk through。

    LibModule 配置更新 9 months ago   app 配置更新 9 months ago   gradle/wrapper 配置更新 9 months ago   screenshots ...

  8. 如何在使用eclipse的情况下,清理android项目中的冗余class文件和资源文件以及冗余图片...

    在我们迭代项目的过程中,经常会启用某些功能,或者修改某些界面的问题,那么问题来了,这样很容易出现大量的冗余.java文件,冗余资源文件,一些冗余的界面文件等.那么问题既然出现了,那么如何去解决呢,这就 ...

  9. GitHub上README.md编写教程(基本语法)

    今天在编写github中的readme.md文档时,发现自己写的和别人写的样式完全不一样,自己的好难看,于是百度了一番,很多都是转载的别人13年的博客,其中还发现一片17年写的原创,本以为发现了一个新 ...

最新文章

  1. linux 后台进程
  2. Apache的管理及优化web
  3. python3 tcp 文件传输源码
  4. python mql4_可以转发文章不?老外用随机森林预测外汇分钟涨跌准确率高达85%。求高手用python重写。...
  5. (chap7 确保WEB安全的HTTPS) HTTPS加密
  6. python之穿越火线游戏代码_Python实现拼字游戏与代码重构
  7. (转)LCA模板(倍增法)
  8. web worker的介绍和使用
  9. [转载] python之flask框架
  10. 7.上传自己的代码到 composer
  11. 两种思路从0打印到100
  12. 安卓和ios的ui设计区别_【交互设计】 也许这些才是你作品集最需要的
  13. 朗格Lange 1古董车展特别版表落谁家?法拉利 335 Sport非常合衬
  14. PCA降维-原理(一)
  15. mac 我用Mac的这一年
  16. PPT制作心得与感悟
  17. 监督学习(supervised learning)与非监督学习(unsupervised learning)
  18. 作者年份 soft computing参考文献格式要求,LaTeX实现
  19. Python密码库Cryptography探究学习
  20. 解决浏览器不支持display:flex的问题

热门文章

  1. 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...
  2. python导入random模块_Python内置模块之random
  3. SAP Spartacus login 页面看不到 UI 控件的问题解决
  4. 如何高效搜索汪子熙公众号发表的文章
  5. SAP Spartacus Customizing Meta Tags
  6. SAP Hybris install.bat工作原理分析
  7. Java Collection类型的forEach方法
  8. Jerry文章《浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试一文的源代码》
  9. 有了Debug权限就能干坏事?小心了,你的一举一动尽在系统监控中
  10. SAP CRM category search的实现