mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-23 11:58:41 +08:00
增加验证码开关
This commit is contained in:
parent
ba512b04c8
commit
d697a7bf97
@ -1,3 +1,7 @@
|
||||
### [v1.5.1](https://gitee.com/koogua/course-tencent-cloud/releases/v1.5.1)(2022-03-17)
|
||||
|
||||
- 增加验证码开关
|
||||
|
||||
### [v1.5.0](https://gitee.com/koogua/course-tencent-cloud/releases/v1.5.0)(2022-02-17)
|
||||
|
||||
- 调整对内部人员通知任务类型的前缀
|
||||
|
@ -2,20 +2,31 @@
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% set captcha_display = captcha.enabled == 1 ? 'display:block' : 'display:none' %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.captcha'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>验证码配置</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App Id</label>
|
||||
<label class="layui-form-label">开启服务</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ captcha.app_id }}" lay-verify="required">
|
||||
<input type="radio" name="enabled" value="1" title="是" lay-filter="captcha_enabled" {% if captcha.enabled == 1 %}checked="checked"{% endif %}>
|
||||
<input type="radio" name="enabled" value="0" title="否" lay-filter="captcha_enabled" {% if captcha.enabled == 0 %}checked="checked"{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Secret Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="secret_key" value="{{ captcha.secret_key }}" lay-verify="required">
|
||||
<div id="captcha-block" style="{{ captcha_display }}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App Id</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ captcha.app_id }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Secret Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="secret_key" value="{{ captcha.secret_key }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
@ -77,6 +88,15 @@
|
||||
}
|
||||
);
|
||||
|
||||
form.on('radio(captcha_enabled)', function (data) {
|
||||
var block = $('#captcha-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(back_verify)', function (data) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
|
@ -23,12 +23,13 @@
|
||||
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">重置密码</button>
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
|
@ -1,3 +1,6 @@
|
||||
{% set disabled_submit = captcha.enabled == 1 ? 'disabled="disabled"' : '' %}
|
||||
{% set disabled_class = captcha.enabled == 1 ? 'layui-btn-disabled' : '' %}
|
||||
|
||||
<form class="layui-form account-form" method="POST" action="{{ url({'for':'home.account.pwd_login'}) }}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-icon layui-icon-username"></label>
|
||||
@ -7,14 +10,16 @@
|
||||
<label class="layui-icon layui-icon-password"></label>
|
||||
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码" lay-verify="required">
|
||||
</div>
|
||||
<div id="captcha-block" class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="captcha-btn" class="layui-btn layui-btn-fluid" type="button" data-app-id="{{ captcha.app_id }}">点击完成验证</button>
|
||||
{% if captcha.enabled == 1 %}
|
||||
<div id="captcha-block" class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="captcha-btn" class="layui-btn layui-btn-fluid" type="button" data-app-id="{{ captcha.app_id }}">点击完成验证</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即登录</button>
|
||||
<button id="submit-btn" class="layui-btn layui-btn-fluid {{ disabled_class }}" {{ disabled_submit }} lay-submit="true" lay-filter="go">立即登录</button>
|
||||
<input type="hidden" name="return_url" value="{{ return_url }}">
|
||||
<input id="ticket" type="hidden" name="ticket">
|
||||
<input id="rand" type="hidden" name="rand">
|
||||
|
@ -9,14 +9,15 @@
|
||||
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">立即登录</button>
|
||||
<input type="hidden" name="return_url" value="{{ return_url }}">
|
||||
<input id="cv-app-id" type="hidden" name="captcha_app_id" value="{{ captcha.app_id }}">
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
</div>
|
||||
|
@ -38,13 +38,14 @@
|
||||
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">注册帐号</button>
|
||||
<input type="hidden" name="return_url" value="{{ return_url }}">
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
|
@ -14,7 +14,7 @@
|
||||
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
@ -24,6 +24,7 @@
|
||||
<input type="hidden" name="code" value="{{ request.get('code') }}">
|
||||
<input type="hidden" name="state" value="{{ request.get('state') }}">
|
||||
<input type="hidden" name="open_user" value='{{ open_user|json_encode }}'>
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
|
@ -28,12 +28,13 @@
|
||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">提交修改</button>
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
|
@ -28,12 +28,13 @@
|
||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-verify-emit" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button id="cv-submit-btn" class="layui-btn layui-btn-fluid layui-btn-disabled" disabled="disabled" lay-submit="true" lay-filter="go">提交修改</button>
|
||||
<input id="cv-enabled" type="hidden" value="{{ captcha.enabled }}">
|
||||
<input id="cv-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||
<input id="cv-ticket" type="hidden" name="ticket">
|
||||
<input id="cv-rand" type="hidden" name="rand">
|
||||
|
@ -16,7 +16,7 @@ class AppInfo
|
||||
|
||||
protected $link = 'https://koogua.com';
|
||||
|
||||
protected $version = '1.5.0';
|
||||
protected $version = '1.5.1';
|
||||
|
||||
public function __get($name)
|
||||
{
|
||||
|
@ -5,40 +5,26 @@ layui.use(['jquery', 'util'], function () {
|
||||
|
||||
var timeCounting = false;
|
||||
var $account = $('#cv-account');
|
||||
var $emit = $('#cv-verify-emit');
|
||||
var $emit = $('#cv-emit-btn');
|
||||
var $submit = $('#cv-submit-btn');
|
||||
|
||||
var captcha = new TencentCaptcha(
|
||||
$emit[0],
|
||||
$('#cv-app-id').val(),
|
||||
function (res) {
|
||||
if (res.ret === 0) {
|
||||
$('#cv-ticket').val(res.ticket);
|
||||
$('#cv-rand').val(res.randstr);
|
||||
if (isEmail($account.val()) || isPhone($account.val())) {
|
||||
var postUrl;
|
||||
var postData = {
|
||||
ticket: $('#cv-ticket').val(),
|
||||
rand: $('#cv-rand').val(),
|
||||
};
|
||||
if (isPhone($account.val())) {
|
||||
postData.phone = $account.val();
|
||||
postUrl = '/verify/sms/code';
|
||||
} else if (isEmail($account.val())) {
|
||||
postData.email = $account.val();
|
||||
postUrl = '/verify/mail/code';
|
||||
}
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: postUrl,
|
||||
data: postData
|
||||
});
|
||||
$('#cv-submit-btn').removeClass('layui-btn-disabled').removeAttr('disabled');
|
||||
$emit.addClass('layui-btn-disabled').attr('disabled', 'disabled');
|
||||
showCountDown($emit);
|
||||
if ($('#cv-enabled').val() === '1') {
|
||||
var captcha = new TencentCaptcha(
|
||||
$emit[0],
|
||||
$('#cv-app-id').val(),
|
||||
function (res) {
|
||||
if (res.ret === 0) {
|
||||
$('#cv-ticket').val(res.ticket);
|
||||
$('#cv-rand').val(res.randstr);
|
||||
sendVerifyCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
);
|
||||
} else {
|
||||
$emit.on('click', function () {
|
||||
sendVerifyCode();
|
||||
});
|
||||
}
|
||||
|
||||
$account.on('keyup', function () {
|
||||
var accountOk;
|
||||
@ -58,14 +44,39 @@ layui.use(['jquery', 'util'], function () {
|
||||
}
|
||||
});
|
||||
|
||||
function showCountDown(obj) {
|
||||
function sendVerifyCode() {
|
||||
if (isEmail($account.val()) || isPhone($account.val())) {
|
||||
var postUrl;
|
||||
var postData = {
|
||||
ticket: $('#cv-ticket').val(),
|
||||
rand: $('#cv-rand').val(),
|
||||
};
|
||||
if (isPhone($account.val())) {
|
||||
postData.phone = $account.val();
|
||||
postUrl = '/verify/sms/code';
|
||||
} else if (isEmail($account.val())) {
|
||||
postData.email = $account.val();
|
||||
postUrl = '/verify/mail/code';
|
||||
}
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: postUrl,
|
||||
data: postData,
|
||||
});
|
||||
$submit.removeClass('layui-btn-disabled').removeAttr('disabled');
|
||||
$emit.addClass('layui-btn-disabled').attr('disabled', 'disabled');
|
||||
showCountDown($emit);
|
||||
}
|
||||
}
|
||||
|
||||
function showCountDown() {
|
||||
var serverTime = new Date().getTime();
|
||||
var endTime = serverTime + 60 * 1000;
|
||||
util.countdown(endTime, serverTime, function (date, serverTime, timer) {
|
||||
var left = date[0] * 86400 + date[1] * 3600 + date[2] * 60 + date[3];
|
||||
obj.text(left + '秒');
|
||||
$emit.text(left + '秒');
|
||||
if (left === 0) {
|
||||
obj.removeClass('layui-btn-disabled').removeAttr('disabled').text('重新发送');
|
||||
$emit.removeClass('layui-btn-disabled').removeAttr('disabled').text('重新发送');
|
||||
clearInterval(timer);
|
||||
timeCounting = false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user