Authored by yyq

fix default udid

@@ -7,6 +7,7 @@ const yohoLib = require('yoho-node-lib'); @@ -7,6 +7,7 @@ const yohoLib = require('yoho-node-lib');
7 const pkg = require('./package.json'); 7 const pkg = require('./package.json');
8 const devtools = require('./doraemon/middleware/devtools'); 8 const devtools = require('./doraemon/middleware/devtools');
9 const _ = require('lodash'); 9 const _ = require('lodash');
  10 +const uuid = require('uuid');
10 11
11 // 全局注册library 12 // 全局注册library
12 yohoLib.global(config); 13 yohoLib.global(config);
@@ -98,6 +99,24 @@ exports.createApp = async(app) => { @@ -98,6 +99,24 @@ exports.createApp = async(app) => {
98 app.use(userMiddleware); 99 app.use(userMiddleware);
99 app.use(serverMiddleware); 100 app.use(serverMiddleware);
100 101
  102 + app.use((req, res, next) => {
  103 + // 独立的 UDID
  104 + if (!req.cookies.udid || (req.yoho.isApp && req.query.udid)) {
  105 + let udid = uuid.v4();
  106 +
  107 + if (req.yoho.isApp && req.query.udid) {
  108 + udid = req.query.udid;
  109 + }
  110 +
  111 + res.cookie('udid', udid, {
  112 + domain: 'yohobuy.com',
  113 + expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
  114 + });
  115 + req.cookies.udid = udid;
  116 + }
  117 + next();
  118 + });
  119 +
101 if (!app.locals.proEnv) { 120 if (!app.locals.proEnv) {
102 app.use((req, res, next) => { 121 app.use((req, res, next) => {
103 if (/cordova/.test(req.url)) { 122 if (/cordova/.test(req.url)) {
@@ -141,6 +141,7 @@ const render = (route) => { @@ -141,6 +141,7 @@ const render = (route) => {
141 ip: req.yoho.clientIp, 141 ip: req.yoho.clientIp,
142 path: req.url, 142 path: req.url,
143 uid: req.user.uid, 143 uid: req.user.uid,
  144 + udid: req.cookies.udid || '',
144 ua: req.get('user-agent'), 145 ua: req.get('user-agent'),
145 time: new Date() 146 time: new Date()
146 })); 147 }));