Skip to content

Commit 9dccd4c

Browse files
committed
first commit
first commit
0 parents commit 9dccd4c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+29792
-0
lines changed

.gitignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# See http://help.github.com/ignore-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
6+
# testing
7+
/coverage
8+
9+
# production
10+
/build
11+
12+
#database
13+
/db
14+
15+
# misc
16+
.DS_Store
17+
.env
18+
npm-debug.log*
19+
yarn-debug.log*
20+
yarn-error.log*
21+
src/constants/config.js
22+

app.js

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/*
2+
* 应用程序的启动(入口)文件
3+
* */
4+
var express = require('express');
5+
var swig = require('swig');
6+
var moogoose = require('mongoose');
7+
var bodyParser = require('body-parser');
8+
var Cooikes = require('cookies');
9+
10+
var User = require('./models/User');
11+
12+
//创建app应用 => Node JS http.createServer();
13+
var app = express();
14+
15+
//设置静态文件托管
16+
app.use('/public', express.static(__dirname + '/public'));
17+
18+
//配置应用模板
19+
//定义当前应用所使用的模板引擎
20+
//第一个参数:模板引擎的名称,同时也是模板文件的后缀,第二个参数表示用于解析处理模板内容的方法。
21+
app.engine('html', swig.renderFile);
22+
//设置文件存放的目录,第一个参数不能动,第二个参数是模板目录
23+
app.set('views', './views');
24+
//注册所使用的模板引擎,第一个不能动,第二个和app.engine定义的第一个参数相同
25+
app.set('view engine', 'html');
26+
//设置不缓存
27+
swig.setDefaults({cache: false});
28+
29+
//bodyparser设置
30+
app.use( bodyParser.urlencoded({extended: true}));
31+
32+
//cookies设置
33+
app.use(function (req, res, next) {
34+
req.cookies = new Cooikes(req, res);
35+
36+
//解析用户cookie信息
37+
req.userInfo = {};
38+
if(req.cookies.get('userInfo')){
39+
try{
40+
req.userInfo = JSON.parse(req.cookies.get('userInfo'));
41+
// console.log(User.findByID(req.userInfo._id));
42+
//获取当前登录用户的类型,是否是管理员
43+
User.findById(req.userInfo._id).then(function (userInfo) {
44+
req.userInfo.isAdmin = Boolean(userInfo.isAdmin);
45+
next();
46+
});
47+
48+
49+
}catch (e){
50+
console.log(e);
51+
next();
52+
}
53+
}else {
54+
next();
55+
}
56+
// console.log(req.cookies.get('userInfo'));
57+
58+
59+
});
60+
61+
/*
62+
根据不同的功能划分模块
63+
*/
64+
65+
app.use('/admin', require('./routers/admin'));
66+
app.use('/api', require('./routers/api'));
67+
app.use('/', require('./routers/main'));
68+
69+
70+
//连接数据库
71+
moogoose.connect('mongodb://localhost:27017/blog', function (err) {
72+
if(err){
73+
console.log('数据库连接失败');
74+
}else {
75+
console.log("数据库连接成功");
76+
//监听http请求
77+
app.listen(8081);
78+
}
79+
});
80+
81+
82+
83+
//用户发送http请求 -> url -> 解析路由 -> 找到匹配的规则 -> 执行绑定函数,返回对应内容
84+
//public -> 静态 -> 直接读取指定目录下的文件
85+
//动态 -> 处理业务逻辑,加载模板,解析模板 -> 返回数据

models/Category.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
var mongoose = require('mongoose');
3+
var categoriesSchema = require(('../schemas/categories'));
4+
5+
module.exports = mongoose.model('Category', categoriesSchema);

models/Contents.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
var mongoose = require('mongoose');
3+
var contentsSchema = require(('../schemas/contents'));
4+
5+
module.exports = mongoose.model('Content', contentsSchema);

models/User.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
var mongoose = require('mongoose');
3+
var usersSchema = require(('../schemas/users'));
4+
5+
module.exports = mongoose.model('User', usersSchema);

package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "blog",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"author": "",
10+
"license": "ISC",
11+
"dependencies": {
12+
"body-parser": "^1.17.2",
13+
"cookies": "^0.7.0",
14+
"express": "^4.15.3",
15+
"markdown": "^0.5.0",
16+
"mongoose": "^4.11.4",
17+
"swig": "^1.4.2"
18+
}
19+
}

0 commit comments

Comments
 (0)