目录:常见的验证码平台对比
技术细节请见👆
PHP 测试页面:https://www.chenky.com/just4fun/verification-code-test/php/touclick
Node.js 测试页面:https://www.chenky.com/just4fun/verification-code-test/nodejs/touclick
PHP:
1、在文档中找到 PHP SDK 后发现又是一个不支持 composer 的,从官网下载后发现所谓的 SDK 只有一个文件不过庆幸的是这个 SDK 是按照 OOP 写的,很容易的就集成进了 Laravel。
2、通过 SDK 中的 demo页面(php-sdk/captcha-demo/index.html)可以发现点触在生成验证码的时候会自动向点触服务器发起请求获取,不需要我们再次开发接口,只有在二次验证的时候需要调用 SDK,所以这里就开发二次验证的接口。SDK demo 中 captcha-demo/handel.php 第23行有这么一句话“//$res[‘code’] 的详细说明请看README.md”
找到README.md后发现还是这样一句话
有点懵。。。什么鬼。后来经过寻找,发现在 Java 的 SDK 工程的 README.md 中有相关描述 https://github.com/touclick/java-sdk 比较坑爹的是接入完成后发现二次验证返回的code 和 Java SDK 中描述的不一样。。。
3、接前端的时候发现,一对公私钥职能选择一种展现形式,于是只能再注册一个账号,这样可以有三对公私钥(好奇葩的设计),由于一个账号只能免费添加两个网站,只能再注册一个,然后将这3对公私钥存入 .env.js。另一个诡异的是一个账号内可以添加同一个网站两次。
由于 SDK 中有前端 demo 页面同时配合文档中 API(再次吐槽,这是什么破命名) 部分很容易的就接入成功。
4、点触的处理逻辑简单些,所以接入不算复杂,但是其 PHP 文档质量太差。很多东西都需要看 demo 和自己理解。同样也希望能增加 composer 的支持。
Node.js
1、在文档中找到 Node.js SDK 后居然没看到 npm 安装命令,在 demo 工程的README.md 中找到了 SDK 的工程地址 https://github.com/zyayhj/touclick-nodejs-sdk,在这个工程中找到了命令
npm install touclick-nodejs-sdk --save
2、装完后就开始写二次验证接口,参考 nodejs-demo/post.js ,Node.js 二次验证返回的code 倒是和 Java SDK 中的描述是一致的。
3、前端可以参考 PHP 的,没有需要修改的。
总结:点触的接入逻辑上更加简单,但是,文档很少、质量差,有待提高。而且明明是可以直接提供 API 接口的却非要自己封装 SDK。
更。。。我尽快更。。。