首先使用Composer
安装think-captcha
扩展包:
composer require topthink/think-captcha
项目根目录下
在模版内添加验证码的显示代码
<div>{:captcha_img()}</div>
或者
<div><img src="{:captcha_src()}" alt="captcha" /></div>
效果
验证的时候一直提示失败,后来看文档说Thinkphp6默认是不开启的,需要开启Session才能有效,文档也没具体说明,查看资料后知道解决办法
在应用app目录下找到文件middleware.php文件,把里面注释的代码\think\middleware\SessionInit::class开启就行了
<?php
// 全局中间件定义文件
return [// 全局请求缓存// \think\middleware\CheckRequestCache::class,// 多语言加载// \think\middleware\LoadLangPack::class,// Session初始化\think\middleware\SessionInit::class
];
验证验证码
控制器引入
use think\captcha\facade\Captcha;
if( !Captcha::check($vercode)) {return json(['code'=>0, 'msg'=>'验证码错误');}