Authored by ccbikai

Merge branch 'feature/session' into develop

@@ -17,8 +17,9 @@ const path = require('path'); @@ -17,8 +17,9 @@ const path = require('path');
17 const bodyParser = require('body-parser'); 17 const bodyParser = require('body-parser');
18 const cookieParser = require('cookie-parser'); 18 const cookieParser = require('cookie-parser');
19 const favicon = require('serve-favicon'); 19 const favicon = require('serve-favicon');
20 -const session = require('express-session');  
21 -const memcached = require('connect-memcached'); 20 +const session = require('yoho-express-session');
  21 +const memcached = require('yoho-connect-memcached');
  22 +const uuid = require('uuid');
22 const pkg = require('./package.json'); 23 const pkg = require('./package.json');
23 24
24 const app = express(); 25 const app = express();
@@ -40,14 +41,19 @@ app.use(bodyParser.json()); @@ -40,14 +41,19 @@ app.use(bodyParser.json());
40 app.use(bodyParser.urlencoded({extended: false})); 41 app.use(bodyParser.urlencoded({extended: false}));
41 app.use(cookieParser()); 42 app.use(cookieParser());
42 app.use(session({ 43 app.use(session({
43 - secret: '3e5fec7deca0b8305cefe2ad9d90ff5e',  
44 - name: 'PHPSESSID',  
45 - prefix: 'yohobuy', 44 + secret: 'nothing', // 兼容 PHP SESSION,sessionID 不加密
  45 + name: 'PHPSESSID', // 兼容 PHP SESSION
  46 + genid: () => {
  47 + return uuid.v4(); // 兼容 PHP SESSION
  48 + },
46 proxy: true, 49 proxy: true,
47 - resave: true, 50 + resave: false,
48 saveUninitialized: true, 51 saveUninitialized: true,
  52 + unset: 'destroy',
49 store: new MemcachedStore({ 53 store: new MemcachedStore({
50 - hosts: config.memcache.session 54 + hosts: config.memcache.session,
  55 + prefix: 'qinsessionsession:', // 兼容 PHP SESSION
  56 + key: 'yohobuy_session' // 兼容 PHP SESSION
51 }) 57 })
52 })); 58 }));
53 59
@@ -30,30 +30,30 @@ @@ -30,30 +30,30 @@
30 }, 30 },
31 "license": "MIT", 31 "license": "MIT",
32 "dependencies": { 32 "dependencies": {
33 - "bluebird": "^3.3.5", 33 + "bluebird": "^3.4.0",
34 "body-parser": "^1.15.0", 34 "body-parser": "^1.15.0",
35 - "connect-memcached": "^0.2.0",  
36 "cookie-parser": "^1.4.1", 35 "cookie-parser": "^1.4.1",
37 "express": "^4.13.1", 36 "express": "^4.13.1",
38 "express-handlebars": "^3.0.0", 37 "express-handlebars": "^3.0.0",
39 - "express-session": "^1.13.0",  
40 "influxdb-winston": "^1.0.1", 38 "influxdb-winston": "^1.0.1",
41 "lodash": "^4.12.0", 39 "lodash": "^4.12.0",
42 "md5": "^2.1.0", 40 "md5": "^2.1.0",
43 - "memcached": "^2.2.1", 41 + "memcached": "^2.2.2",
44 "morgan": "^1.7.0", 42 "morgan": "^1.7.0",
45 "oneapm": "^1.2.20", 43 "oneapm": "^1.2.20",
46 "request-promise": "^3.0.0", 44 "request-promise": "^3.0.0",
47 "serve-favicon": "^2.3.0", 45 "serve-favicon": "^2.3.0",
  46 + "uuid": "^2.0.2",
48 "winston": "^2.2.0", 47 "winston": "^2.2.0",
49 - "winston-daily-rotate-file": "^1.0.1" 48 + "winston-daily-rotate-file": "^1.0.1",
  49 + "yoho-connect-memcached": "^1.0.3",
  50 + "yoho-express-session": "^1.0.2"
50 }, 51 },
51 "devDependencies": { 52 "devDependencies": {
52 "autoprefixer": "^6.3.6", 53 "autoprefixer": "^6.3.6",
53 "ava": "^0.14.0", 54 "ava": "^0.14.0",
54 - "babel-cli": "^6.8.0",  
55 - "babel-preset-es2015": "^6.6.0",  
56 - "babel-register": "^6.8.0", 55 + "babel-preset-es2015": "^6.9.0",
  56 + "babel-register": "^6.9.0",
57 "eslint": "^2.10.2", 57 "eslint": "^2.10.2",
58 "eslint-config-yoho": "^1.0.1", 58 "eslint-config-yoho": "^1.0.1",
59 "gulp": "^3.9.1", 59 "gulp": "^3.9.1",
@@ -63,7 +63,6 @@ @@ -63,7 +63,6 @@
63 "gulp-sourcemaps": "^2.0.0-alpha", 63 "gulp-sourcemaps": "^2.0.0-alpha",
64 "gulp-util": "^3.0.7", 64 "gulp-util": "^3.0.7",
65 "husky": "^0.11.4", 65 "husky": "^0.11.4",
66 - "mocha": "^2.4.5",  
67 "nodemon": "1.9.2", 66 "nodemon": "1.9.2",
68 "nyc": "^6.4.3", 67 "nyc": "^6.4.3",
69 "postcss-assets": "^4.0.1", 68 "postcss-assets": "^4.0.1",
@@ -81,7 +80,7 @@ @@ -81,7 +80,7 @@
81 "precss": "^1.4.0", 80 "precss": "^1.4.0",
82 "rewire": "^2.5.1", 81 "rewire": "^2.5.1",
83 "shelljs": "^0.7.0", 82 "shelljs": "^0.7.0",
84 - "stylelint": "^6.3.3", 83 + "stylelint": "^6.4.1",
85 "stylelint-config-yoho": "^1.2.3", 84 "stylelint-config-yoho": "^1.2.3",
86 "webpack": "^1.13.0", 85 "webpack": "^1.13.0",
87 "webpack-dev-server": "^1.14.1", 86 "webpack-dev-server": "^1.14.1",