Files
swiftadmin/app/admin/view/login/index.html
2022-08-19 19:48:37 +08:00

399 lines
18 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>swiftAdmin {:__('后台登录')}</title>
<link href="/favicon.ico" rel="icon">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link href="__STATICADMIN__layui/css/layui.css?v={:release()}" rel="stylesheet" type="text/css" />
<link href="__STATICADMIN__css/login.css?v={:release()}" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="swiftadmin-login">
<div class="swiftadmin-login-main">
<!-- // 头部信息2 -->
<div class="swiftadmin-login-box swiftadmin-login-header">
<h2><img src="__ADMINIMAGES__logo.png" alt="logo" class="logo">Swift Admin</h2>
<p>SwiftAdmin.NET 最懂你的极速开发框架管理后台 </p>
</div>
<!-- // 登录页面 -->
<div id="login" class="swiftadmin-login-box swiftadmin-login-body layui-form" style="display: block;">
<form action="{:url('/login/index')}" method="post" class="layui-form layui-form-pane login" >
<input type="hidden" name="__token__" value="{:token()}" />
<div class="layui-form-item">
<div class="item">
<label class="swiftadmin-login-icon layui-icon layui-icon-username" ></label>
<input type="text" name="name" lay-verify="required" placeholder="{:__('用户名')}" class="layui-input layui-form-danger">
</div>
</div>
<div class="layui-form-item">
<div class="item">
<label class="swiftadmin-login-icon layui-icon layui-icon-password" ></label>
<input type="password" name="pwd" lay-verify="required" placeholder="{:__('密码')}" class="layui-input">
</div>
</div>
<div class="layui-form-item" <empty name="$captcha">style="display:none;" </empty> >
<div class="layui-row">
<div class="layui-col-xs7 item">
<label class="swiftadmin-login-icon layui-icon layui-icon-vercode" ></label>
<input type="text" name="captcha" placeholder="{:__('图形验证码')}" class="layui-input">
</div>
<div class="layui-col-xs3 fr">
<div class="captcha fr" ><a href="javascript:;" ><img src="{:captcha_src()}" height="36" id="captchaImg" alt="{:__('验证码')}" /></a></div>
</div>
</div>
</div>
<div class="layui-form-item" style="margin-bottom: 20px;">
<div class="fl">
<input type="checkbox" name="remember" lay-skin="primary" title="{:__('记住密码')}" checked>
</div>
<a lay-href="forget.html" sa-event-type="forget" class="swiftadmin-user-jump-change swiftadmin-link" style="margin-top: 7px;">{:__('忘记密码?')}</a>
</div>
<div class="layui-form-item">
<input type="submit" value="{:__('登录')}" lay-submit="" lay-filter="login" class="layui-btn layui-btn-fluid layui-btn-normal">
</div>
<div class="layui-trans layui-form-item swiftadmin-login-other">
<div class="other-login fl">
<label>{:__('其他登录方式')}</label>
<a href="javascript:;"><i class="layui-icon layui-icon-login-qq"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-wechat"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-weibo"></i></a>
</div>
<a sa-event-type="register" class="swiftadmin-user-jump-change swiftadmin-link">{:__('注册帐号')}</a>
</div>
</form>
</div>
<!-- // 注册页面 -->
<div id="register" class="swiftadmin-login-box swiftadmin-login-body layui-form" style="display: none;">
<form action="{:url('/login/register')}" method="post" class="layui-form layui-form-pane register" >
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-cellphone" ></label>
<input type="text" name="email" lay-verify="required|email" placeholder="{:__('请输入邮箱')}" class="layui-input">
</div>
<div class="layui-form-item">
<div class="layui-row">
<div class="layui-col-xs7 item">
<label class="swiftadmin-login-icon layui-icon layui-icon-vercode" ></label>
<input type="text" name="captchar" lay-verify="required" placeholder="{:__('验证码')}" class="layui-input">
</div>
<div class="layui-col-xs3 fr">
<div class="captcha fr" ><a href="javascript:;" ><img src="{:captcha_src()}" height="36" id="captchaImg2" alt="{:__('验证码')}" /></a></div>
</div>
</div>
</div>
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-password" ></label>
<input type="password" name="pass" lay-verify="required" placeholder="{:__('密码')}" class="layui-input">
</div>
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-password" ></label>
<input type="password" name="repass" lay-verify="required" placeholder="{:__('确认密码')}" class="layui-input">
</div>
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-username" ></label>
<input type="text" name="nickname" lay-verify="required|nickname" placeholder="{:__('昵称')}" class="layui-input">
</div>
<div class="layui-form-item">
<div class="fl">
<input type="checkbox" name="agreement" lay-skin="primary" title="{:__('同意用户协议')}" checked="">
</div>
</div>
<div class="layui-form-item">
<input type="submit" value="{:__('注 册')}" lay-submit="" lay-filter="register" class="layui-btn layui-btn-fluid layui-btn-normal">
</div>
<div class="layui-trans layui-form-item swiftadmin-login-other">
<div class="other-login fl">
<label>{:__('社交账号注册')}</label>
<a href="javascript:;"><i class="layui-icon layui-icon-login-qq"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-wechat"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-weibo"></i></a>
</div>
<a href="javascript:;" sa-event-type="login" class="swiftadmin-user-jump-change swiftadmin-link layui-hide-xs">{:__('用已有帐号登入')}</a>
<a href="javascript:;" sa-event-type="login" class="swiftadmin-user-jump-change swiftadmin-link layui-hide-sm layui-show-xs-inline-block">{:__('登入')}</a>
</div>
</form>
</div>
<!-- // 找回密码页面 -->
<div id="forget" class="swiftadmin-login-box swiftadmin-login-body layui-form" style="display: none;" >
<form action="{:url('/login/forget')}" method="post" class="layui-form layui-form-pane register" >
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-cellphone"></label>
<input type="text" name="emailphone" lay-verify="required" placeholder="{:__('请输入手机号或者邮箱')}" class="layui-input">
</div>
<div class="layui-form-item imgcode">
<div class="layui-row">
<div class="layui-col-xs7 item">
<label class="swiftadmin-login-icon layui-icon layui-icon-vercode" ></label>
<input type="text" name="imgcode" lay-verify="required" placeholder="{:__('图形验证码')}" class="layui-input">
</div>
<div class="layui-col-xs3 fr">
<div class="captcha fr" ><a href="javascript:;" ><img src="{:captcha_src()}" height="36" id="captchaImg3" alt="{:__('验证码')}" /></a></div>
</div>
</div>
</div>
<div class="layui-form-item valicode item" style="display: none">
<div class="layui-row">
<label class="swiftadmin-login-icon layui-icon layui-icon-vercode" ></label>
<input type="text" name="valicode" placeholder="{:__('短信邮件验证码')}" class="layui-input">
</div>
</div>
<div class="settingPwd" style="display: none;">
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-password" ></label>
<input type="password" name="pwds" placeholder="{:__('密码')}" class="layui-input">
</div>
<div class="layui-form-item item">
<label class="swiftadmin-login-icon layui-icon layui-icon-password" ></label>
<input type="password" name="repwds" placeholder="{:__('确认密码')}" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<button class="layui-btn layui-btn-fluid layui-btn-normal layui-btn-fixed" lay-submit="">{:__('获取验证码')}</button>
</div>
<div class="layui-trans layui-form-item swiftadmin-login-other">
<div class="other-login fl">
<label>{:__('社交账号注册')}</label>
<a href="javascript:;"><i class="layui-icon layui-icon-login-qq"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-wechat"></i></a>
<a href="javascript:;"><i class="layui-icon layui-icon-login-weibo"></i></a>
</div>
<a href="javascript:;" sa-event-type="login" class="swiftadmin-user-jump-change swiftadmin-link layui-hide-xs">{:__('用已有帐号登入')}</a>
<a href="javascript:;" sa-event-type="login" class="swiftadmin-user-jump-change swiftadmin-link layui-hide-sm layui-show-xs-inline-block">{:__('登入')}</a>
</div>
</form>
</div>
</div>
<div class="layui-trans swiftadmin-login-footer">
<p>
<a href="#" target="_blank">{:__('帮助')}</a>
<a href="#" target="_blank">{:__('隐私')}</a>
<a href="#" target="_blank">{:__('条款')}</a>
</p>
<p><div class="copyright"> Copyright © 2020 swiftAdmin.net co., ltd</div></p>
</div>
</div>
</body>
<script src="__STATICADMIN__layui/layui.js?v={:release()}"></script>
<script src="__STATICADMIN__js/common.js?v={:release()}"></script>
<script>
window.sessionStorage.clear();
layui.use(['layer','form'],function() {
var $ = layui.jquery,
layer = layui.layer,
form = layui.form,
captchaUrl = '{:captcha_src()}';
// 登录操作
form.on('submit(login)', function(data) {
var that = $(this), _form = that.parents('form'),
name = $('input[name="name"]').val(),
pwd = $('input[name="pwd"]').val(),
captcha = $('input[name="captcha"]').val(),
__token__ = $('input[name="__token__"]').val();
layer.msg("{:__('数据提交中...')}",'warning');
that.prop('disabled', true);
$_ajax(that,{name: name, pwd: pwd, captcha: captcha,__token__:__token__});
return false;
})
/**
* 注册账户$(this).serialize(),
*/
form.on('submit(register)',function(data){
var that = $(this), _form = that.parents('form'),
name = $('input[name="nickname"]').val(),
pass = $('input[name="pass"]').val(),
repass = $('input[name="repass"]').val(),
captcha = $('input[name="captchar"]').val(),
email = $('input[name="email"]').val();
if (pass !== repass) {
layer.msg("{:__('两次输入密码不同')}",'error');
return false;
}
layer.msg("{:__('数据提交中...')}",'warning');
that.prop('disabled', true);
$_ajax(that,{name: name, pwd: pass, email:email,captcha: captcha});
return false;
})
/*
* 分步表单1 获取验证码
*/
$('.layui-btn-fixed').click(function() {
if ($(this).hasClass('layui-btn-fixed') == false) {
return false;
}
var name = $('input[name="emailphone"]').val(),
captcha = $('input[name="imgcode"]').val();
$.ajax({
type: "POST",
url: "{:url('/login/valicode')}",
data: {name:name,captcha:captcha},
success: function (res) {
if(res.code == 200){
layer.msg(res.msg,function(){
$('.imgcode').css('display','none');
$('.valicode').css('display','block');
$('.layui-btn-fixed').attr('lay-filter','forget');
// 移除click事件
$('.layui-btn-fixed').text("{:__('下一步')}").off('click');
$('.layui-btn-fixed').removeClass('layui-btn-fixed');
});
}else {
layer.msg(res.msg,function() {
$("#captchaImg,#captchaImg2,#captchaImg3").attr('src',captchaUrl+'?rand='+Math.random()).parents('.layui-form-item').show();
});
}
}
})
return false;
})
/**
* 分步表单2 验证账户权限
*/
form.on('submit(forget)',function(data){
var that = $(this),
name = $('input[name="emailphone"]').val(),
valicode = $('input[name="valicode"]').val();
$.ajax({
type: "POST",
url: "{:url('/login/forget')}",
data: {name:name,valicode:valicode},
success: function (res) {
if(res.code == 200){
$('.valicode').css('display','none');
$('.settingPwd').css('display','block');
that.attr('lay-filter','settingPwd');
that.text("{:__('立即设置')}");
}else {
layer.msg(res.msg);
}
}
})
return false;
})
/*
* 分步表单3 提交设置密码
*/
form.on('submit(settingPwd)',function(data){
var name = $('input[name="emailphone"]').val(),
pass = $('input[name="pwds"]').val(),
repass = $('input[name="repwds"]').val(),
valicode = $('input[name="valicode"]').val();
if (pass != repass) {
layer.msg("{:__('两次输入密码不同')}",'error')
return false;
}
$.ajax({
type: "POST",
url: "{:url('/login/setpwd')}",
data: {name:name,pass:pass,valicode:valicode},
success: function (res) {
if(res.code == 200){
layer.msg(res.msg,function(){
location.reload();
});
}else {
layer.error(res.msg);
}
}
})
return false;
})
/**
* 提交数据
*/
function $_ajax(that,data,jump) {
var _form = that.attr('lay-filter'),
_urls = $('.'+_form).attr('action');
$.ajax({
type: "POST",
url: _urls,
data: data,
success: function (res) {
if(res.code == 200){
layer.msg(res.msg);
if (jump === undefined) {
window.location = res.url; // 跳转到主页
}
}else {
layer.error(res.msg);
that.prop('disabled', false);
$("#captchaImg,#captchaImg2,#captchaImg3").attr('src',captchaUrl+'?rand='+Math.random()).parents('.layui-form-item').show();
if (res.data.token) {
$('input[name=__token__]').val(res.data.token);
}
return false;
}
},
error: function() {
that.prop('disabled', false);
layer.msg("{:__('好像是网络出错了...')}",'error');
}
})
}
/**
* 切换功能
*/
$(document).on("click","*[sa-event-type]",function(){
var array = ['login','register','forget'],
event = $(this).attr("sa-event-type");
for (var i in array) {
if (array[i] != event) {
$('#' + array[i]).css('display','none');
}
}
$('#' + event).css('display','block');
})
$(document).on('click', '#captchaImg,#captchaImg2,#captchaImg3', function(){
$(this).attr('src', captchaUrl+'?rand='+Math.random())
})
})
</script>
</html>