From 4710c68c6f66b0b376531f69b5dab13f03853d40 Mon Sep 17 00:00:00 2001
From: yunwuxin <448901948@qq.com>
Date: Wed, 11 May 2016 14:59:30 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 1 +
README.md | 31 ++++++++++++++++++++++++
src/CaptchaController.php | 4 +---
src/helper.php | 50 ++++++++++++++++++++++++++++++++++++---
4 files changed, 80 insertions(+), 6 deletions(-)
diff --git a/.gitignore b/.gitignore
index ccef056..85d49cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/vendor/
+/composer.lock
.idea
\ No newline at end of file
diff --git a/README.md b/README.md
index ec9e276..786ff69 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,33 @@
# think-captcha
thinkphp5 验证码类库
+
+## 安装
+> composer install topthink/think-captcha
+
+
+##使用
+
+###模板里输出验证码
+
+~~~
+
{:captcha_img()}
+~~~
+或者
+~~~
+
+~~~
+> 上面两种的最终效果是一样的
+
+### 控制器里验证
+使用TP5的内置验证功能即可
+~~~
+$this->validate($data,[
+ 'captcha|验证码'=>'required|captcha'
+]);
+~~~
+或者手动验证
+~~~
+if(!captcha_check($captcha)){
+ //验证失败
+};
+~~~
\ No newline at end of file
diff --git a/src/CaptchaController.php b/src/CaptchaController.php
index 94df81e..37fa592 100644
--- a/src/CaptchaController.php
+++ b/src/CaptchaController.php
@@ -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'));
}
}
\ No newline at end of file
diff --git a/src/helper.php b/src/helper.php
index 3b036c2..a142ae3 100644
--- a/src/helper.php
+++ b/src/helper.php
@@ -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', '验证码错误!');
\ No newline at end of file
+\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 '
';
+}
+
+
+/**
+ * @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);
+}
+