首先使用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'=>'驗證碼錯誤');
}