安装
在项目地址输入命令
$ composer require germey/geetest
就可以完成该包的安装
配置
注册 ServiceProvider,在 config/app.php
的 providers
中添加
GermeyGeetestGeetestServiceProvider::class,
在 aliases
中添加
'Geetest' => GermeyGeetestGeetest::class,
然后执行
$ php artisan vendor:publish
会生成一个配置文件,config/geetest.php
和视图文件views/vendor/geetest
,
视图文件中你可以自定义配置,比如修改一下验证失败后的alert
函数,修改为你想要的提示toast等。
使用
首先把刚才拿到的 ID 和 KEY 配置到 .env
文件中,因为这两个算私密内容,配置到 .env
文件中可以保证安全性。在 .env
中写入如下两行。
GEETEST_ID=0f1097bef7xxxxxx9afdeced970c63e4
GEETEST_KEY=c070f0628xxxxxxe68e138b55c56fb3b
其中 ID 和 KEY 换成你自己的。
然后,在任意的视图里,我们只需要调用
{!! Geetest::render() !!}
就可以得到验证码了。
-以上文档出自 http://laravelacademy.org/post/5291.html
问题出现。。。
页面只显示’正在加载验证码’,
控制台显示‘’The requested URL /auth/geetest was not found on this server.’,
后来发现,是版本更新了,文档没更新。
于是
把config/geetest.php中的
'geetest_url' => '/auth/geetest',
改为
'geetest_url' => 'auth/geetest',
创建提示Not Found的那条路由
Route::get('auth/geetest', 'GetGeetestController@getGeetest');
创建控制器
php artisan make:controller GetGeetestController
在新建控制器中use GeetestCaptcha即可正常使用验证码
<?php namespace AppHttpControllers; use GermeyGeetestGeetestCaptcha; use IlluminateHttpRequest; class GetGeetestController extends Controller { // use GeetestCaptcha; }
问题解决!
总结: 使用默认路由 制造控制器 use trait 调用自带方法
路径是 vendor/germey/src/GeetestCaptcha.php