operation.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. let express = require('express');
  2. let config = require("./config/config.js");
  3. config.setToQaDb();
  4. //config.setupCache();
  5. let cfgCacheUtil = require("./config/cacheCfg");
  6. cfgCacheUtil.setupDftCache();
  7. let dbm = require("./config/db/db_manager");
  8. let path = require('path');
  9. let session = require('express-session');
  10. let DBStore = require('connect-mongo')(session);
  11. let fileUtils = require("./modules/common/fileUtils");
  12. let partials = require("express-partials");
  13. let URL = require('url');
  14. let fs = require('fs');
  15. let app = express();
  16. let _rootDir = __dirname;
  17. dbm.connect();
  18. app.use(express.static(_rootDir));
  19. app.set('views', path.join(__dirname, 'web'));
  20. app.engine('.html', require('ejs').__express);
  21. app.set('view engine', 'html');
  22. app.set('view options', {
  23. // defaultLayout: 'users/views/layout/layout'
  24. defaultLayout: false
  25. });
  26. app.use(partials());
  27. let bodyParser = require('body-parser');
  28. app.use(bodyParser.urlencoded({extended: false}));
  29. app.use(bodyParser.json());
  30. app.use(session({
  31. name: 'usersSession',
  32. secret: 'session users secret',
  33. cookie: {maxAge: 1000*60*30},
  34. resave: false,
  35. rolling: true,
  36. saveUninitialized: true
  37. //*
  38. ,store: new DBStore({
  39. url: 'mongodb://' + config.current.server + ':' + config.current.port + '/usersManagesOpr'
  40. })
  41. //*/
  42. }));
  43. app.use(function (req, res, next) {
  44. let referer = '';
  45. if (!/^\/login/.test(req.originalUrl) && !req.session.managerData) {
  46. if (/\/api/.test(req.originalUrl)) {
  47. referer = URL.parse(req.headers.referer);
  48. return res.redirect('/login' + '?referer=' + referer.path);
  49. } else {
  50. return res.redirect("/login" + '?referer=' + req.originalUrl);
  51. }
  52. }
  53. next();
  54. });
  55. //加载路由文件
  56. fileUtils.getGlobbedFiles('./modules/**/routes/*.js').forEach(function(modelPath) {
  57. require(path.resolve(modelPath))(app);
  58. })
  59. app.use(function(req, res, next) {
  60. res.status(404).send('404 Error');
  61. });
  62. app.use(function(err, req, res, next) {
  63. console.error(err.stack);
  64. res.status(500).send('500 Error');
  65. });
  66. //设置Date Format函数
  67. fs.readFile(__dirname + '/public/web/date_util.js', 'utf8', 'r', function (err, data) {
  68. eval(data);
  69. // let dt = new Date();
  70. // console.log(dt.Format('yyyy-M-dd'));
  71. // console.log(dt.Format('yyyy 年 M 月 dd 日'));
  72. // console.log(dt.Format('yyyy 年 M 月 20 日'));
  73. });
  74. app.listen(6080, function(){
  75. console.log("server started!");
  76. });