ok-admin/pages/forget.html

201 lines
8.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="en" class="page-fill">
<head>
<meta charset="UTF-8">
<title>ok-admin v2.0 | 很赞的后台模版 - 忘记密码</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords" content="ok-admin v2.0,ok-admin网站后台模版,后台模版下载,后台管理系统模版,HTML后台模版下载">
<meta name="description" content="ok-admin v2.0顾名思义很赞的后台模版它是一款基于Layui框架的轻量级扁平化且完全免费开源的网站后台管理系统模板适合中小型CMS后台系统。">
<link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="../css/oksub.css"/>
<script type="text/javascript" src="../lib/loading/okLoading.js"></script>
<style>
.forget .tit {
padding-top: 15px;
text-align: center;
font-size: 18px;
}
.forget .code-box {
display: flex;
}
.forget .code-box .btn-auth-code {
margin-left: 10px;
}
.reset-password-form {
display: none;
}
</style>
</head>
<body class="page-fill">
<div class="page-fill forget" id="login">
<form class="layui-form verify-user-form">
<div class="layui-form-item tit">忘记密码</div>
<div class="layui-form-item input-item">
<label for="username">用户名</label>
<input type="text" class="layui-input" id="username" name="username" placeholder="请输入账号" autocomplete="off" lay-verify="required">
</div>
<div class="layui-form-item input-item">
<label for="phone">输入手机号码</label>
<input type="text" class="layui-input" id="phone" name="text" placeholder="请输入手机号码" autocomplete="off" lay-verify="required|phone" maxlength="11">
</div>
<div class="layui-form-item input-item code-box">
<label for="captcha">验证码</label>
<input type="text" class="layui-input" id="captcha" name="captcha" placeholder="请输入验证码" autocomplete="off" lay-verify="required" maxlength="4">
<button type="button" class="layui-btn btn-auth-code">获取验证码</button>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-block" lay-filter="verifyUser" lay-submit="">提 交</button>
</div>
<div class="login-link">
<a href="login.html">再去登录试试</a>
</div>
</form>
<form class="layui-form reset-password-form">
<div class="layui-form-item tit">设置密码</div>
<div class="layui-form-item input-item">
<label for="password">新密码</label>
<input type="password" class="layui-input" id="password" name="password" placeholder="请输入密码" autocomplete="off" lay-verify="required|password">
</div>
<div class="layui-form-item input-item">
<label for="comPassword">确认密码</label>
<input type="password" class="layui-input" id="comPassword" name="password" placeholder="请确认密码" autocomplete="off" lay-verify="required|comPassword">
</div>
<div class="layui-form-item">
<button class="layui-btn layui-block" lay-filter="resetPassword" lay-submit="">确定设置</button>
</div>
</form>
</div>
<!--js逻辑-->
<script src="../lib/layui/layui.js"></script>
<script>
layui.use(["form", "okLayer", "okUtils"], function () {
let $ = layui.jquery;
let form = layui.form;
let okLayer = layui.okLayer;
let okUtils = layui.okUtils;
let phoneRegex = /^[1][0-9]{10}$/;
let timer = "";
let intervalTime = 60;
okLoading.close($);
/**
* 数据校验
*/
form.verify({
phone: [phoneRegex, "手机号格式不正确"],
password: [/^[\S]{6,12}$/, "密码必须6到12位且不能出现空格"],
comPassword: function (val) {
let password = $("#password").val();
return password == val ? "" : "两次密码不一致";
}
});
/**
* 提交表单
*/
form.on("submit(verifyUser)", function (data) {
okUtils.ajax("/verifyUser", "post", data.field, true).done(function (response) {
okLayer.greenTickMsg(response.msg, function () {
// 样式修改
$('.btn-auth-code').removeClass("layui-btn-disabled");
$('.btn-auth-code').text("重新获取");
// 重置定时器
clearInterval(timer);
timer = "";
intervalTime = 60;
// 显示重置密码表单
$(".verify-user-form, .reset-password-form").toggle();
});
}).fail(function (error) {
console.log(error)
});
return false;
});
/**
* 获取验证码
*/
$('.btn-auth-code').click(function () {
let _this = $(this);
if (_this.hasClass("layui-btn-disabled")) {
return;
}
let phone = $("#phone").val();
if (phoneRegex.test(phone)) {
_this.addClass("layui-btn-disabled");
_this.text(intervalTime + "秒后获取");
// 按钮操作定时器
timer = setInterval(function () {
intervalTime--;
if (intervalTime < 1) {
clearInterval(timer);
_this.removeClass("layui-btn-disabled");
_this.text("重新获取");
intervalTime = 60;
} else {
_this.text(intervalTime + "秒后获取");
}
}, 1000);
// 发送手机验证码
okUtils.ajax("/sendCaptcha", "post", null, true).done(function (response) {
okLayer.greenTickMsg(response.msg);
}).fail(function (error) {
console.log(error)
});
} else {
layer.msg("手机号码格式不正确", {icon: "5", anim: "6"});
$("#phone").focus();
}
});
/**
* 重置密码
*/
form.on("submit(resetPassword)", function (data) {
okUtils.ajax("/resetPassword", "post", data.field, true).done(function (response) {
okLayer.greenTickMsg(response.msg, function () {
window.location = "login.html";
});
}).fail(function (error) {
console.log(error)
});
return false;
});
/**
* 表单input组件单击时
*/
$("#login .input-item .layui-input").click(function (e) {
e.stopPropagation();
$(this).addClass("layui-input-focus").find(".layui-input").focus();
});
/**
* 表单input组件获取焦点时
*/
$("#login .layui-form-item .layui-input").focus(function () {
$(this).parent().addClass("layui-input-focus");
});
/**
* 表单input组件失去焦点时
*/
$("#login .layui-form-item .layui-input").blur(function () {
$(this).parent().removeClass("layui-input-focus");
if ($(this).val() != "") {
$(this).parent().addClass("layui-input-active");
} else {
$(this).parent().removeClass("layui-input-active");
}
});
});
</script>
</body>
</html>