7 Star 34 Fork 7

dungang / yii2-luosimao-captcha

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CaptchaWidget.php 1.88 KB
一键复制 编辑 原始数据 按行查看 历史
<?php
/**
* Author: dungang
* Date: 2017/4/12
* Time: 14:27
*/
namespace dungang\luosimao;
use yii\bootstrap\InputWidget;
use yii\helpers\Html;
class CaptchaWidget extends InputWidget
{
/**
* app site key
* @var string
*/
public $siteKey;
/**
* @var integer 验证码的宽度
*/
public $width = 400;
/**
* @var string 出来相应的回调函数
*/
public $callback;
public function run()
{
$jsCode = "
(function(){
var c = document.createElement('script');c.type = 'text/javascript';c.async = true;
c.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'captcha.luosimao.com/static/dist/captcha.js?v=201610101436';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(c, s);
})();
";
$this->view->registerJs($jsCode);
if (empty($this->siteKey)) {
if (isset(\Yii::$app->params['luosimao']) &&
isset(\Yii::$app->params['luosimao']['siteKey'])) {
$this->siteKey = \Yii::$app->params['luosimao']['siteKey'];
}
}
$options = [
'data-site-key'=>$this->siteKey,
'data-width'=>$this->width,
'class'=>'l-captcha'
];
if ($this->callback) {
$options['data-callback'] = $this->callback;
}
if ($this->hasModel()) {
$attr = $this->attribute;
$this->model->$attr = 'captcha';
$input = Html::activeHiddenInput($this->model,$this->attribute,$this->options);
} else {
$input = Html::hiddenInput($this->name,'captcha',$this->options);
}
$captcha = $input . Html::tag('div','',$options);
return $captcha;
}
}
PHP
1
https://gitee.com/dungang/yii2-luosimao-captcha.git
git@gitee.com:dungang/yii2-luosimao-captcha.git
dungang
yii2-luosimao-captcha
yii2-luosimao-captcha
master

搜索帮助