mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-11-24 16:53:22 +08:00
1、实现用户注册
2、实现验证码 3、完善文档评论功能
This commit is contained in:
@@ -16,8 +16,8 @@
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="static/bootstrap/js/html5shiv.min.js"></script>
|
||||
<script src="/static/bootstrap/js/respond.min.js"></script>
|
||||
<script src="/static/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="/static/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||
<script src="/static/jquery/1.12.4/jquery.min.js"></script>
|
||||
@@ -53,18 +53,19 @@
|
||||
</div>
|
||||
{{if ne .ENABLED_CAPTCHA "false"}}
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group" style="float: left;width: 195px;">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-check-square"></i>
|
||||
</div>
|
||||
<input type="text" name="code" id="code" class="form-control" style="width: 150px" maxlength="5" placeholder="验证码" autocomplete="off">
|
||||
<img id="captcha-img" src="" onclick="this.src='/verify?key=login&t='+(new Date()).getTime();" title="点击换一张">
|
||||
</div>
|
||||
<img id="captcha-img" style="width: 140px;height: 40px;display: inline-block;float: right" src="{{urlfor "AccountController.Captcha"}}" onclick="this.src='{{urlfor "AccountController.Captcha"}}?key=login&t='+(new Date()).getTime();" title="点击换一张">
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="is_remember"> 保持登录
|
||||
<input type="checkbox" name="is_remember" value="yes"> 保持登录
|
||||
</label>
|
||||
<a href="{{urlfor "AccountController.FindPassword" }}" style="display: inline-block;float: right">忘记密码?</a>
|
||||
</div>
|
||||
|
||||
163
views/account/register.tpl
Normal file
163
views/account/register.tpl
Normal file
@@ -0,0 +1,163 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<link rel="shortcut icon" href="/favicon.ico">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="renderer" content="webkit" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="author" content="SmartWiki" />
|
||||
<title>用户登录 - Powered by MinDoc</title>
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link href="/static/bootstrap/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link href="/static/css/main.css" rel="stylesheet">
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/static/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||||
<script src="/static/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||
<script src="/static/jquery/1.12.4/jquery.min.js"></script>
|
||||
</head>
|
||||
<body class="manual-container">
|
||||
<header class="navbar navbar-static-top smart-nav navbar-fixed-top manual-header" role="banner">
|
||||
<div class="container">
|
||||
<div class="navbar-header col-sm-12 col-md-6 col-lg-5">
|
||||
<a href="/" class="navbar-brand">MinDoc</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container manual-body">
|
||||
<div class="row login">
|
||||
<div class="login-body">
|
||||
<form role="form" method="post" id="registerForm">
|
||||
<h3 class="text-center">用户注册</h3>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-user"></i>
|
||||
</div>
|
||||
<input type="text" class="form-control" placeholder="用户名" name="account" id="account" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-lock"></i>
|
||||
</div>
|
||||
<input type="password" class="form-control" placeholder="密码" name="password1" id="password1" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-lock"></i>
|
||||
</div>
|
||||
<input type="password" class="form-control" placeholder="确认密码" name="password2" id="password2" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon" style="padding: 6px 9px;"><i class="fa fa-envelope"></i></div>
|
||||
<input type="email" class="form-control" placeholder="用户邮箱" name="email" id="email" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
{{if ne .ENABLED_CAPTCHA "false"}}
|
||||
<div class="form-group">
|
||||
<div class="input-group" style="float: left;width: 195px;">
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-check-square"></i>
|
||||
</div>
|
||||
<input type="text" name="code" id="code" class="form-control" style="width: 150px" maxlength="5" placeholder="验证码" autocomplete="off">
|
||||
</div>
|
||||
<img id="captcha-img" style="width: 140px;height: 40px;display: inline-block;float: right" src="{{urlfor "AccountController.Captcha"}}" onclick="this.src='{{urlfor "AccountController.Captcha"}}?key=login&t='+(new Date()).getTime();" title="点击换一张">
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="form-group">
|
||||
<button type="submit" id="btnRegister" class="btn btn-success" style="width: 100%" data-loading-text="正在注册..." autocomplete="off">立即注册</button>
|
||||
</div>
|
||||
{{if ne .ENABLED_REGISTER "false"}}
|
||||
<div class="form-group">
|
||||
已有账号?<a href="{{urlfor "AccountController.Register" }}" title="立即登录">立即登录</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{{template "widgets/footer.tpl" .}}
|
||||
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
||||
<script src="/static/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||
<script src="/static/layer/layer.js" type="text/javascript"></script>
|
||||
<script src="/static/js/jquery.form.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#account,#password,#confirm_password,#code").on('focus',function () {
|
||||
$(this).tooltip('destroy').parents('.form-group').removeClass('has-error');;
|
||||
});
|
||||
|
||||
$(document).keyup(function (e) {
|
||||
var event = document.all ? window.event : e;
|
||||
if(event.keyCode === 13){
|
||||
$("#btnRegister").trigger("click");
|
||||
}
|
||||
});
|
||||
$("#registerForm").ajaxForm({
|
||||
beforeSubmit : function () {
|
||||
var account = $.trim($("#account").val());
|
||||
var password = $.trim($("#password1").val());
|
||||
var confirmPassword = $.trim($("#password2").val());
|
||||
var code = $.trim($("#code").val());
|
||||
var email = $.trim($("#email").val());
|
||||
|
||||
if(account === ""){
|
||||
$("#account").focus().tooltip({placement:"auto",title : "账号不能为空",trigger : 'manual'})
|
||||
.tooltip('show')
|
||||
.parents('.form-group').addClass('has-error');
|
||||
return false;
|
||||
|
||||
}else if(password === ""){
|
||||
$("#password").focus().tooltip({title : '密码不能为空',trigger : 'manual'})
|
||||
.tooltip('show')
|
||||
.parents('.form-group').addClass('has-error');
|
||||
return false;
|
||||
}else if(confirmPassword !== password){
|
||||
$("#confirm_password").focus().tooltip({title : '确认密码不正确',trigger : 'manual'})
|
||||
.tooltip('show')
|
||||
.parents('.form-group').addClass('has-error');
|
||||
return false;
|
||||
}else if(email === ""){
|
||||
$("#email").focus().tooltip({title : '邮箱不能为空',trigger : 'manual'})
|
||||
.tooltip('show')
|
||||
.parents('.form-group').addClass('has-error');
|
||||
return false;
|
||||
}else if(code !== undefined && code === ""){
|
||||
$("#code").focus().tooltip({title : '验证码不能为空',trigger : 'manual'})
|
||||
.tooltip('show')
|
||||
.parents('.form-group').addClass('has-error');
|
||||
return false;
|
||||
}else {
|
||||
|
||||
$("button[type='submit']").button('loading');
|
||||
}
|
||||
},
|
||||
success : function (res) {
|
||||
$("button[type='submit']").button('reset');
|
||||
if(res.errcode === 0){
|
||||
window.location = "{{urlfor "AccountController.Login"}}";
|
||||
}else{
|
||||
$("#captcha-img").click();
|
||||
$("#code").val('');
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -110,7 +110,32 @@
|
||||
<div class="article-body {{if eq .Model.Editor "markdown"}}markdown-body editormd-preview-container{{else}}editor-content{{end}}" id="page-content">
|
||||
{{.Content}}
|
||||
</div>
|
||||
{{if .Model.IsDisplayComment}}
|
||||
<div id="articleComment" class="m-comment">
|
||||
<div class="comment-result">
|
||||
<strong class="title">相关评论(<b class="comment-total">100</b>)</strong>
|
||||
<div class="comment-post">
|
||||
<form class="form" action="/comment/create" method="post">
|
||||
<label class="enter w-textarea textarea-full">
|
||||
<textarea class="textarea-input form-control" name="content" placeholder="文明上网,理性发言" style="height: 72px;"></textarea>
|
||||
<input type="hidden" name="doc_id" value="118003"></label>
|
||||
<div class="util cf">
|
||||
<div class="pull-left"><span style="font-size: 12px;color: #999"> 支持Markdown语法 </span></div>
|
||||
<div class="pull-right">
|
||||
<span class="form-tip w-fragment fragment-tip">Ctrl + Enter快速发布</span>
|
||||
<label class="form-submit w-btn btn-success btn-m">
|
||||
<button class="btn btn-success btn-sm" type="submit">发布</button>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="manual-progress"><b class="progress-bar"></b></div>
|
||||
|
||||
Reference in New Issue
Block a user