-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
106 lines (91 loc) · 3.06 KB
/
Copy pathapp.js
File metadata and controls
106 lines (91 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
var http = require("http");
var fs = require("fs");
var express = require("express");
var controller = require("./util/controller");
var csrf = require('./util/express-csrf');
var config = require('./config');
var app = module.exports = express.createServer();
//配置
app.configure(function(){
//终端显示运行日志, 如:GET /users/my/friends 200
app.use(express.logger({ format: ':method :url :status' }));
app.set('views', __dirname + '/views');//配置模板文件路径
app.set('view engine', 'html');//配置ejs作为程序的模板引擎
app.set('view options', {layout: __dirname + '/views/public/layout'});
app.register(".html", require('ejs'));
app.use(express.bodyParser()); //Parses body of POST requests
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ secret: config.session_secret_key }));
app.use(csrf.check());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.dynamicHelpers({
session: function(req, res) {
return req.session;
},
csrf: csrf.token
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Register Helper
app.helpers(require('./helpers').Helpers);
app.helpers({
config: config,
PageList: function (cat, num, perpage, curpage,mpurl) {
if(cat==0){
var cat = "/";
}else{
var cat = '/'+cat+'/';
}
var multipage = '';
if(num > perpage) {
var page = 3;
var offset = 2;
var pages = Math.ceil(num / perpage);
if(page > pages) {
var from = 1;
var to = pages;
} else {
var from = (curpage - offset);
var to = (from+page-1);
if(from < 1) {
to = (curpage + 1 - from);
from = 1;
if((to - from) < page) {
to = page;
}
} else if(to > pages) {
from = (pages - page + 1);
to = pages;
}
}
multipage += ((curpage - offset) > 1 && pages > page ? '<a href="'+mpurl+cat+'1'+config.app_ext+'" class="first">1 ...</a>' : '');
if(curpage > 1){
multipage += (curpage > 1 && '<a href="'+mpurl+cat+(curpage - 1)+config.app_ext+'" class="prev">‹‹</a>');
}else{
multipage += "";
}
for(var i = from; i <= to; i++) {
multipage += i == curpage ? '<strong style="color:#09C">'+i+'</strong>' :
'<a href="'+mpurl+cat+i+config.app_ext+'">'+i+'</a>';
}
if((curpage + 1)<=pages)
multipage += ((curpage + 1)<=pages && '<a href="'+mpurl+cat+(curpage + 1)+config.app_ext+'" class="next">››</a>')+
(to < pages ? '<a href="'+mpurl+cat+pages+config.app_ext+'" class="last">...</a>' : '');
multipage = multipage ? '<div class="pages">'+('<em>共 '+pages+'页'+num+' 条</em>')+multipage+'</div>' : '';
}
return multipage;
}
});
app.get('/', function(req, res){
res.redirect('/index'+config.app_ext);
});
//启动权限验证等init
controller.bootControllers(app);
//启动监听
app.listen(config.app_port);
//打印
console.log("lunar version " + config.app_version + " now running on port " + config.app_port);