mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-23 20:00:27 +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)
|
### [v1.5.0](https://gitee.com/koogua/course-tencent-cloud/releases/v1.5.0)(2022-02-17)
|
||||||
|
|
||||||
- 调整对内部人员通知任务类型的前缀
|
- 调整对内部人员通知任务类型的前缀
|
||||||
|
@ -2,10 +2,20 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% 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'}) }}">
|
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.captcha'}) }}">
|
||||||
<fieldset class="layui-elem-field layui-field-title">
|
<fieldset class="layui-elem-field layui-field-title">
|
||||||
<legend>验证码配置</legend>
|
<legend>验证码配置</legend>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
<div class="layui-form-item">
|
||||||
|
<label class="layui-form-label">开启服务</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<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 id="captcha-block" style="{{ captcha_display }}">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">App Id</label>
|
<label class="layui-form-label">App Id</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -18,6 +28,7 @@
|
|||||||
<input class="layui-input" type="text" name="secret_key" value="{{ captcha.secret_key }}" lay-verify="required">
|
<input class="layui-input" type="text" name="secret_key" value="{{ captcha.secret_key }}" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label"></label>
|
<label class="layui-form-label"></label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
@ -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) {
|
form.on('submit(back_verify)', function (data) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
|
@ -23,12 +23,13 @@
|
|||||||
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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>
|
<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-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||||
<input id="cv-ticket" type="hidden" name="ticket">
|
<input id="cv-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<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'}) }}">
|
<form class="layui-form account-form" method="POST" action="{{ url({'for':'home.account.pwd_login'}) }}">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-icon layui-icon-username"></label>
|
<label class="layui-icon layui-icon-username"></label>
|
||||||
@ -7,14 +10,16 @@
|
|||||||
<label class="layui-icon layui-icon-password"></label>
|
<label class="layui-icon layui-icon-password"></label>
|
||||||
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码" lay-verify="required">
|
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
|
{% if captcha.enabled == 1 %}
|
||||||
<div id="captcha-block" class="layui-form-item">
|
<div id="captcha-block" class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<button id="captcha-btn" class="layui-btn layui-btn-fluid" type="button" data-app-id="{{ captcha.app_id }}">点击完成验证</button>
|
<button id="captcha-btn" class="layui-btn layui-btn-fluid" type="button" data-app-id="{{ captcha.app_id }}">点击完成验证</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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 type="hidden" name="return_url" value="{{ return_url }}">
|
||||||
<input id="ticket" type="hidden" name="ticket">
|
<input id="ticket" type="hidden" name="ticket">
|
||||||
<input id="rand" type="hidden" name="rand">
|
<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">
|
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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>
|
<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 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-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<input id="cv-rand" type="hidden" name="rand">
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,13 +38,14 @@
|
|||||||
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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>
|
<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 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-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||||
<input id="cv-ticket" type="hidden" name="ticket">
|
<input id="cv-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<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">
|
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
@ -24,6 +24,7 @@
|
|||||||
<input type="hidden" name="code" value="{{ request.get('code') }}">
|
<input type="hidden" name="code" value="{{ request.get('code') }}">
|
||||||
<input type="hidden" name="state" value="{{ request.get('state') }}">
|
<input type="hidden" name="state" value="{{ request.get('state') }}">
|
||||||
<input type="hidden" name="open_user" value='{{ open_user|json_encode }}'>
|
<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-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||||
<input id="cv-ticket" type="hidden" name="ticket">
|
<input id="cv-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<input id="cv-rand" type="hidden" name="rand">
|
||||||
|
@ -28,12 +28,13 @@
|
|||||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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>
|
<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-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||||
<input id="cv-ticket" type="hidden" name="ticket">
|
<input id="cv-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<input id="cv-rand" type="hidden" name="rand">
|
||||||
|
@ -28,12 +28,13 @@
|
|||||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline verify-btn-inline">
|
<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>
|
</div>
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<div class="layui-input-block">
|
<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>
|
<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-app-id" type="hidden" value="{{ captcha.app_id }}">
|
||||||
<input id="cv-ticket" type="hidden" name="ticket">
|
<input id="cv-ticket" type="hidden" name="ticket">
|
||||||
<input id="cv-rand" type="hidden" name="rand">
|
<input id="cv-rand" type="hidden" name="rand">
|
||||||
|
@ -16,7 +16,7 @@ class AppInfo
|
|||||||
|
|
||||||
protected $link = 'https://koogua.com';
|
protected $link = 'https://koogua.com';
|
||||||
|
|
||||||
protected $version = '1.5.0';
|
protected $version = '1.5.1';
|
||||||
|
|
||||||
public function __get($name)
|
public function __get($name)
|
||||||
{
|
{
|
||||||
|
@ -5,8 +5,10 @@ layui.use(['jquery', 'util'], function () {
|
|||||||
|
|
||||||
var timeCounting = false;
|
var timeCounting = false;
|
||||||
var $account = $('#cv-account');
|
var $account = $('#cv-account');
|
||||||
var $emit = $('#cv-verify-emit');
|
var $emit = $('#cv-emit-btn');
|
||||||
|
var $submit = $('#cv-submit-btn');
|
||||||
|
|
||||||
|
if ($('#cv-enabled').val() === '1') {
|
||||||
var captcha = new TencentCaptcha(
|
var captcha = new TencentCaptcha(
|
||||||
$emit[0],
|
$emit[0],
|
||||||
$('#cv-app-id').val(),
|
$('#cv-app-id').val(),
|
||||||
@ -14,31 +16,15 @@ layui.use(['jquery', 'util'], function () {
|
|||||||
if (res.ret === 0) {
|
if (res.ret === 0) {
|
||||||
$('#cv-ticket').val(res.ticket);
|
$('#cv-ticket').val(res.ticket);
|
||||||
$('#cv-rand').val(res.randstr);
|
$('#cv-rand').val(res.randstr);
|
||||||
if (isEmail($account.val()) || isPhone($account.val())) {
|
sendVerifyCode();
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$emit.on('click', function () {
|
||||||
|
sendVerifyCode();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$account.on('keyup', function () {
|
$account.on('keyup', function () {
|
||||||
var accountOk;
|
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 serverTime = new Date().getTime();
|
||||||
var endTime = serverTime + 60 * 1000;
|
var endTime = serverTime + 60 * 1000;
|
||||||
util.countdown(endTime, serverTime, function (date, serverTime, timer) {
|
util.countdown(endTime, serverTime, function (date, serverTime, timer) {
|
||||||
var left = date[0] * 86400 + date[1] * 3600 + date[2] * 60 + date[3];
|
var left = date[0] * 86400 + date[1] * 3600 + date[2] * 60 + date[3];
|
||||||
obj.text(left + '秒');
|
$emit.text(left + '秒');
|
||||||
if (left === 0) {
|
if (left === 0) {
|
||||||
obj.removeClass('layui-btn-disabled').removeAttr('disabled').text('重新发送');
|
$emit.removeClass('layui-btn-disabled').removeAttr('disabled').text('重新发送');
|
||||||
clearInterval(timer);
|
clearInterval(timer);
|
||||||
timeCounting = false;
|
timeCounting = false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user