yzh52521/think-captcha

captcha package for thinkphp

v1.0.9 2023-04-27 09:57 UTC

This package is auto-updated.

Last update: 2024-10-27 13:06:57 UTC


README

thinkphp6 验证码类库 支持前后端分离,api接口调用

安装

composer require yzh52521/think-captcha

使用

在控制器中输出验证码

在控制器的操作方法中使用

public function captcha($id = '')
{
	return captcha($id);
}

然后注册对应的路由来输出验证码

模板里输出验证码

首先要在你应用的路由定义文件中,注册一个验证码路由规则。

\think\facade\Route::get('captcha/[:id]', "\\yzh52521\\captcha\\CaptchaController@index");

然后就可以在模板文件中使用

<div>{:captcha_img()}</div>

或者

<div><img src="{:captcha_src()}" alt="captcha" /></div>

上面两种的最终效果是一样的

控制器里验证

使用TP的内置验证功能即可

$this->validate($data,[
    'captcha|验证码'=>'require|captcha'
]);

或者手动验证

if(!captcha_check($captcha)){
 //验证失败
};

api使用

public function captcha($id = '')
{
   return yzh52521\captcha\facade\Captcha($id,true);
}

api验证

if (!yzh52521\captcha\facade\Captcha::checkApi($data['verify'], $data['key'])) {
   throw new ValidateException('验证码错误');
}