-
Notifications
You must be signed in to change notification settings - Fork 1
/
session-example.js
46 lines (35 loc) · 1.02 KB
/
session-example.js
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
/**
* Created by Administrator on 2016/1/21.
*/
var express=require('express');
var parseurl=require('parseurl');
var session=require('express-session');
var app=express();
app.use(session({
secret:'keyboard cat',
resave:false,
saveUninitalized:true
}))
app.use(function(req,res,next){
var views=req.session.views;
var hour=15000;
req.session.cookie.expires=new Date(Date.now()+hour);
req.session.cookie.maxAge=hour;
if(!views){
views=req.session.views={}
}
//parseurl返回路由路径 localhost:1333就是/
var pathname=parseurl(req).pathname;
console.log(parseurl(req).pathname+'parseurl-req是什么');
views[pathname]=(views[pathname] || 0)+1;
next();
});
app.get('/foo',function(req,res,next){
res.send('you viewed this page'+req.session.views['/foo']+'times')
console.log(req.session.views);
});
app.get('/bar',function(req,res,next){
res.end('you viewed this page' + req.session.views['/bar'] + 'times');
console.log(req.sessionID);
})
app.listen(1333);