You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
918 B
57 lines
918 B
10 months ago
|
# think-captcha
|
||
|
|
||
|
thinkphp6 验证码类库
|
||
|
|
||
|
## 安装
|
||
|
> composer require topthink/think-captcha
|
||
|
|
||
|
|
||
|
|
||
|
## 使用
|
||
|
|
||
|
### 在控制器中输出验证码
|
||
|
|
||
|
在控制器的操作方法中使用
|
||
|
|
||
|
~~~
|
||
|
public function captcha($id = '')
|
||
|
{
|
||
|
return captcha($id);
|
||
|
}
|
||
|
~~~
|
||
|
然后注册对应的路由来输出验证码
|
||
|
|
||
|
|
||
|
### 模板里输出验证码
|
||
|
|
||
|
首先要在你应用的路由定义文件中,注册一个验证码路由规则。
|
||
|
|
||
|
~~~
|
||
|
\think\facade\Route::get('captcha/[:id]', "\\think\\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)){
|
||
|
//验证失败
|
||
|
};
|
||
|
~~~
|