Skip to content

Commit

Permalink
feat: 注册逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
at358683106 committed Oct 23, 2020
1 parent 7ec4e9b commit 152cccf
Show file tree
Hide file tree
Showing 16 changed files with 355 additions and 113 deletions.
18 changes: 7 additions & 11 deletions day6/express-blog/app.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
var express = require("express");
var path = require("path");
var app = express();
var router = require("./routes/index");
var bodyParser = require("body-parser");

app.use("/public", express.static(path.join(__dirname, "public")));
app.use("/node_modules", express.static(path.join(__dirname, "node_modules")));


app.engine("html", require("express-art-template"));

app.set("views", path.join(__dirname, "./views"));

app.get("/", function (req, res) {
res.render("index.html");
});

app.get("/login", function (req, res) {
res.render("login.html");
});
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());

app.get("/register", function (req, res) {
res.render("register.html");
});
app.use(router);

app.listen(3000, () => console.log("running"));
35 changes: 19 additions & 16 deletions day6/express-blog/models/user.js
Original file line number Diff line number Diff line change
@@ -1,58 +1,61 @@
var mongoose = require('mongoose')
var mongoose = require("mongoose");

// 连接数据库
mongoose.connect('mongodb://localhost/test', { useMongoClient: true })
mongoose.connect("mongodb://test:test123@localhost/test", {
useNewUrlParser: true,
useUnifiedTopology: true,
});

var Schema = mongoose.Schema
var Schema = mongoose.Schema;

var userSchema = new Schema({
email: {
type: String,
required: true
required: true,
},
nickname: {
type: String,
required: true
required: true,
},
password: {
type: String,
required: true
required: true,
},
created_time: {
type: Date,
// 注意:这里不要写 Date.now() 因为会即刻调用
// 这里直接给了一个方法:Date.now
// 当你去 new Model 的时候,如果你没有传递 create_time ,则 mongoose 就会调用 default 指定的Date.now 方法,使用其返回值作为默认值
default: Date.now
default: Date.now,
},
last_modified_time: {
type: Date,
default: Date.now
default: Date.now,
},
avatar: {
type: String,
default: '/public/img/avatar-default.png'
default: "/public/img/avatar-default.png",
},
bio: {
type: String,
default: ''
default: "",
},
gender: {
type: Number,
enum: [-1, 0, 1],
default: -1
default: -1,
},
birthday: {
type: Date
type: Date,
},
status: {
type: Number,
// 0 没有权限限制
// 1 不可以评论
// 2 不可以登录
enum: [0, 1, 2],
default: 0
}
})
default: 0,
},
});

module.exports = mongoose.model('User', userSchema)
module.exports = mongoose.model("User", userSchema);
1 change: 1 addition & 0 deletions day6/express-blog/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"license": "MIT",
"dependencies": {
"art-template": "^4.13.2",
"blueimp-md5": "^2.18.0",
"bootstrap": "3.3.7",
"express": "^4.17.1",
"express-art-template": "^1.0.1",
Expand Down
Binary file added day6/express-blog/public/img/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed day6/express-blog/public/img/logo3.png
Binary file not shown.
12 changes: 12 additions & 0 deletions day6/express-blog/routes/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
var express = require("express");
var sessionRouter = require("./session");

// 公共
var router = express.Router();
sessionRouter(router)

router.get("/", function (req, res) {
res.render("index.html");
});

module.exports = router;
54 changes: 54 additions & 0 deletions day6/express-blog/routes/session.js
Original file line number Diff line number Diff line change
@@ -1 +1,55 @@
var md5 = require("blueimp-md5");
var User = require("../models/user");

// 注册、登陆、退出
module.exports = function (router) {
router.get("/login", function (req, res) {
res.render("login.html");
});

router.get("/register", function (req, res) {
res.render("register.html");
});

router.post("/register", function (req, res) {
var body = req.body;
body.password = md5(md5(body.password));
new Promise(function (resolve, reject) {
User.findOne({ email: body.email }, function (err, data) {
if (err) throw err;
return resolve(data);
});
})
.then((data) => {
if (data) {
return res.status(200).json({
err_code: 1,
message: "email already exists",
});
}
User.findOne({ nickname: body.nickname }, function (err, result) {
if (err) throw err;
if (result) {
return res.status(200).json({
err_code: 2,
message: "nickname already exists",
});
}

new User(body).save(function (error) {
if (error) throw error;
return res.status(200).json({
err_code: 0,
message: "ok",
});
});
});
})
.catch((err) =>
res.status(500).json({
err_code: 500,
message: "Internal Error",
})
);
});
};
4 changes: 2 additions & 2 deletions day6/express-blog/views/_partials/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img width="90px" src="/public/img/logo3.png" alt="">
<img width="90px" src="/public/img/logo.png" alt="">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
Expand Down Expand Up @@ -39,7 +39,7 @@
{{ if user }}
<a class="btn btn-default navbar-btn" href="/topics/new">发起</a>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img width="20" height="20" src="../public/img/avatar-max-img.png" alt=""> <span class="caret"></span></a>
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><img width="20" height="20" src="../public/img/avatar-default.png" alt=""> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li class="dropdown-current-user">
当前登录用户: {{ user.nickname }}
Expand Down
40 changes: 20 additions & 20 deletions day6/express-blog/views/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -19,7 +19,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -30,7 +30,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -41,7 +41,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -52,7 +52,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -63,7 +63,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -74,7 +74,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -85,7 +85,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -96,7 +96,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -107,7 +107,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -118,7 +118,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -129,7 +129,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -140,7 +140,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -151,7 +151,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -162,7 +162,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -173,7 +173,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -184,7 +184,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -195,7 +195,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -206,7 +206,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand All @@ -217,7 +217,7 @@ <h4 class="media-heading"><a href="/topics/123">Media heading</a></h4>
<li class="media">
<div class="media-left">
<a href="#">
<img width="40" height="40" class="media-object" src="../public/img/avatar-max-img.png" alt="...">
<img width="40" height="40" class="media-object" src="../public/img/avatar-default.png" alt="...">
</a>
</div>
<div class="media-body">
Expand Down
2 changes: 1 addition & 1 deletion day6/express-blog/views/login.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<div class="main">
<div class="header">
<a href="/">
<img src="/public/img/logo3.png" alt="">
<img src="/public/img/logo.png" alt="">
</a>
<h1>用户登录</h1>
</div>
Expand Down
Loading

0 comments on commit 152cccf

Please sign in to comment.