diff --git a/app.js b/app.js index 57ce6f1..35897f0 100644 --- a/app.js +++ b/app.js @@ -4,7 +4,8 @@ var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session = require('express-session'); -var mongoStore = require('connect-mongo')(session); +var RedisStore = require('connect-redis')(session); +const secret = 'keyboard cat'; var api = require('./routes/api'); var app = express(); @@ -12,43 +13,46 @@ var fs = require('fs'); // 创建下载的目录 var folders = ['./uploads', './public/images/favicon', './public/images/snap']; folders.forEach((folder) => { - fs.exists(folder, function(exists) { - if(!exists){ - fs.mkdir(folder,function(err){ if(err) console.error(err); }); - } else { - console.log(folder + "is exists!"); - } - }); + fs.exists(folder, function (exists) { + if (!exists) { + fs.mkdir(folder, function (err) { + if (err) console.error(err); + }); + } else { + console.log(folder + "is exists!"); + } + }); }) app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ - extended: false + extended: false })); -app.use(cookieParser()); + +app.use(cookieParser('secret')); app.use(session({ - rolling: true, - resave: false, // - saveUninitialized: true, // - secret: 'ILoveYiJia', // 建议使用 128 个字符的随机字符串 - cookie: { - maxAge: 7 * 24 * 60 * 60 * 1000, // 一周 - }, - store: new mongoStore({ - url: 'mongodb://localhost/mybookmarks' - }) -})); + store: new RedisStore({ + host: "127.0.0.1", + port: 6379 + }), + cookie: { + maxAge: 7 * 24 * 60 * 60 * 1000, // 一周 + }, + resave: true, + saveUninitialized: true, + secret: secret +})) app.use(express.static(path.join(__dirname, 'public'))); app.use('/api', api); // catch 404 and forward to error handler -app.use(function(req, res, next) { - var err = new Error('Not Found'); - err.status = 404; - next(err); +app.use(function (req, res, next) { + var err = new Error('Not Found'); + err.status = 404; + next(err); }); // error handlers @@ -56,28 +60,28 @@ app.use(function(req, res, next) { // development error handler // will print stacktrace if (app.get('env') === 'development') { - app.use(function(err, req, res, next) { - res.status(err.status || 500); - res.render('error', { - message: err.message, - error: err - }); + app.use(function (err, req, res, next) { + res.status(err.status || 500); + res.render('error', { + message: err.message, + error: err }); + }); } // production error handler // no stacktraces leaked to user -app.use(function(err, req, res, next) { - res.status(err.status || 500); - res.sendfile("./public/404.html"); - // res.render('error', { - // message: err.message, - // error: {} - // }); +app.use(function (err, req, res, next) { + res.status(err.status || 500); + res.sendfile("./public/404.html"); + // res.render('error', { + // message: err.message, + // error: {} + // }); }); api.checkSnapFaviconState(); api.getSnapByTimer(); api.getFaviconByTimer(); api.getHotBookmarksByTimer(); -module.exports = app; +module.exports = app; \ No newline at end of file diff --git a/package.json b/package.json index 936ff33..0bb8b01 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "dependencies": { "body-parser": "~1.15.1", "cheerio": "^1.0.0-rc.1", - "connect-mongo": "^1.3.2", + "connect-redis": "^3.3.3", "cookie-parser": "~1.4.3", "crypto": "0.0.3", "debug": "~2.2.0",