This commit is contained in:
yunwuxin
2016-05-11 14:59:30 +08:00
parent 8d5786c593
commit 4710c68c6f
4 changed files with 80 additions and 6 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
/vendor/
/composer.lock
.idea

View File

@@ -1,2 +1,33 @@
# think-captcha
thinkphp5 验证码类库
## 安装
> composer install topthink/think-captcha
##使用
###模板里输出验证码
~~~
<div>{:captcha_img()}</div>
~~~
或者
~~~
<div><img src="{:captcha_src()}" alt="captcha" /></div>
~~~
> 上面两种的最终效果是一样的
### 控制器里验证
使用TP5的内置验证功能即可
~~~
$this->validate($data,[
'captcha|验证码'=>'required|captcha'
]);
~~~
或者手动验证
~~~
if(!captcha_check($captcha)){
//验证失败
};
~~~

View File

@@ -18,8 +18,6 @@ class CaptchaController extends Controller
{
public function index($id = "")
{
$captcha = new Captcha((array)Config::get('captcha'));
$captcha->entry($id);
exit;
captcha($id, (array)Config::get('captcha'));
}
}

View File

@@ -12,8 +12,52 @@
\think\Route::get('captcha/[:id]', ["\\think\\captcha\\CaptchaController", 'index']);
\think\Validate::extend('captcha', function ($value, $id = "") {
$captcha = new \think\captcha\Captcha((array)\think\Config::get('captcha'));
return $captcha->check($value, $id);
return captcha_check($value, $id, (array)\think\Config::get('captcha'));
});
\think\Validate::setTypeMsg('captcha', '验证码错误!');
\think\Validate::setTypeMsg('captcha', '验证码错误!');
/**
* @param string $id
* @param array $config
*/
function captcha($id = "", $config = [])
{
$captcha = new \think\Captcha($config);
$captcha->entry($id);
}
/**
* @param $id
* @return string
*/
function captcha_src($id = "")
{
return \think\Url::build('/captcha' . $id ? "/{$id}" : '');
}
/**
* @param $id
* @return mixed
*/
function captcha_img($id = "")
{
return '<img src="' . captcha_src($id) . '" alt="captcha" />';
}
/**
* @param $value
* @param string $id
* @param array $config
* @return bool
*/
function captcha_check($value, $id = "", $config = [])
{
$captcha = new \think\captcha\Captcha($config);
return $captcha->check($value, $id);
}