优化安装过程,新增管理员注册

dependabot/npm_and_yarn/mixin-deep-1.3.2
panjunwen 6 years ago
parent e8ac236276
commit 78672bdbfb
  1. 26
      app.js
  2. 6
      public/stylesheets/style.css
  3. 48
      routes/sign-up.js
  4. 4
      views/index.ejs
  5. 30
      views/sign-up.ejs

@ -43,21 +43,27 @@ app.get('/', function(req, res) {
// 可以将一类的路由单独保存在一个文件中
app.use('/comments', require('./routes/comments'));
app.use('/sign-up', require('./routes/sign-up'));
// 处理登录请求(可能来自登录界面中的表单)
app.post('/login', function(req, res) {
if (req.body.username == process.env.SMTP_USER || req.body.username == process.env.BLOGGER_EMAIL) {
AV.User.logIn(req.body.username, req.body.password).then(function(user) {
app.post('/login', function (req, res) {
AV.User.logIn(req.body.username, req.body.password).then(function (user) {
let adminMail = process.env.BLOGGER_EMAIL || process.env.SMTP_USER;
console.log(user.get('email'));
if (user.get('email') === adminMail) {
res.saveCurrentUser(user); // 保存当前用户到 Cookie
res.redirect('/comments'); // 跳转到个人资料页面
}, function(error) {
//登录失败,跳转到登录页面
res.redirect('/comments');
}
else {
res.redirect('/');
});
} else {
// 登录用户非博主,跳转到登录页面
}
}, function (error) {
//登录失败,跳转到登录页面
res.redirect('/');
}
});
});
// 登出账号

@ -94,6 +94,10 @@ li {
margin-top: 4rem;
}
.gh-signup {
width: 600px !important;
}
.gh-signin {
display: flex;
-ms-flex-direction: column;
@ -117,7 +121,7 @@ li {
.sign-in-wrap input {
padding: 10px;
margin: 1rem 1rem;
margin: 1rem 0;
border: 1px solid #dae1e3;
font-size: 1rem;
line-height: 1.5em;

@ -0,0 +1,48 @@
'use strict';
const router = require('express').Router();
const AV = require('leanengine');
const User = AV.Object.extend('_User');
// Comment 列表
router.get('/', function (req, res, next) {
if (req.currentUser) {
res.redirect('/comments');
} else {
let adminMail = process.env.BLOGGER_EMAIL || process.env.SMTP_USER;
let q = new AV.Query(User);
q.equalTo('email', adminMail);
q.find().then(function (results) {
if (results.length > 0) {
res.redirect('/');
}
else {
res.render('sign-up', {
email: adminMail
});
}
});
}
});
router.post('/', function (req, res, next) {
let adminMail = process.env.BLOGGER_EMAIL || process.env.SMTP_USER;
let q = new AV.Query(User);
q.equalTo('email', adminMail);
q.find().then(function (results) {
if (results.length > 0) {
res.redirect('/');
}
else {
let user = new AV.User();
user.setUsername(req.body.username);
user.setPassword(req.body.password);
user.setEmail(req.body.email);
user.signUp().then(function (loginedUser) {
}, (function (error) {
}));
res.redirect('/');
}
});
});
module.exports = router;

@ -10,12 +10,12 @@
<p class="title">LeanCloud评论管理</p>
<form method="post" action="/login" class="gh-signin">
<input tabindex="1" name="username"
placeholder="用户名" autofocus="" type="text" class="gh-input">
placeholder="管理员邮箱" autofocus="" type="text" class="gh-input">
<input tabindex="2" name="password" placeholder="密码" type="password" class="password gh-input ember-view">
<input tabindex="3" type="submit" class="login-button" value="登录">
</form>
<div class="footer"><p><a href="https://panjunwen.com">By Deserts</a><p></div>
<div class="footer"><p><a href="https://panjunwen.com">By Deserts</a></p></div>
</div>
</body>
</html>

@ -0,0 +1,30 @@
<!DOCTYPE HTML>
<html>
<head>
<title>LeanCloud评论管理</title>
<link rel="stylesheet" href="/stylesheets/style.css">
</head>
<body>
<div class="sign-in-wrap">
<p class="title">管理员设置</p>
<p class="gh-signin gh-signup">
还差最后一步,请设置并确认管理员信息。
<br>完成后,你可以使用设置的用户名/邮箱登录后台管理。
<br>首次安装 Valine Admin 请务必填写这些信息。该页面仅在初次安装后出现,可确保您的数据安全。
<br>
<b>注意:强制使用环境变量中设置的博主邮箱作为管理员邮箱。</b>
</p>
<hr />
<form method="post" action="/sign-up" class="gh-signin gh-signup">
<label>登录名</label><input placeholder="登录名" tabindex="1" name="username"
autofocus="" type="text" class="gh-input">
<label>邮箱(只读)</label><input tabindex="2" name="email" readonly="readonly" value="<%= email %>"
placeholder="<%= email %>" type="text" class="gh-input">
<label>密码</label><input tabindex="3" name="password" placeholder="密码" type="password" class="password gh-input ember-view">
<input tabindex="4" type="submit" class="login-button" value="确认设置">
</form>
<div class="footer"><p><a href="https://panjunwen.com">By Deserts</a></p></div>
</div>
</body>
</html>
Loading…
Cancel
Save