在我写 TP5 前后端分离验证码之后不久, 要在TP6上去搞。原来以为有前车之鉴了, 我在tp6搞会很轻松, 没想到他的包更新了 3 版本了。
在我一些列阅读源码之后,我的同事提醒我, 这个Tp 在中国已经很成熟了啊,应该会有这个Api 验证码吧
他的提醒,瞬间刷新了我的思路, 我去开源找一个 thinphp 6 前后端分离的, 看下怎么处理验证码,于是我找到了。
在登录的代码中发现了验证码的生成,一看生成的方式就是被TP摧残的兄弟改写了的
/**
* 获取验证码
*/
public function getCodeImg(){
return app()->make(\app\common\utils\Captcha::class)->create();
}
他和我之前分装tp5的时候的思路是一致的, 把源码copy一份出来,把session 改成cache
遇到这个问题的朋友可以参考上诉的代码,把她的 \app\common\utils\Captcha
copy 一份到你的项目中, 然后再引用他,当然你要确保你的vender 里面有 topthink/think-captcha 3.*
的版本
如何验证
if(!app()->make(Captcha::class)->check($param['code'])){
return Res::ModelMsg("验证码错误");
}
其实tp6的感觉也有点想要支持 cache ,和tp5 源码不同的是, tp6 是以容器的方式服务的,更高级一点,利用依赖注入的方式,配置config;但是扭扭捏捏的,看上去想改但是又怕什么似的,希望国产框架做得越来越好吧。