Authored by 徐炜

Merge remote-tracking branch 'origin/master'

/**
*
* @author: jiangfeng<jeff.jiang@yoho.cn>
* @date: 16/8/22
*/
'use strict';
const http = require('http');
const logger = global.yoho.logger;
const env = process.env.NODE_ENV || 'development';
const hotfix = {
v1(req, res) {
let clientType = req.body.client_type || '';
let version = req.body.app_version || '';
let apiFile = `http://cdn.yoho.cn/app-hotfix2/${env}/yohobuy/`;
if (clientType.toLowerCase() === 'ios' && version) {
apiFile += `ios/${version}/api.json?_=` + (new Date()).getTime();
} else if (clientType.toLowerCase() === 'android' && version) {
apiFile += `android/${version}/api.json?_=` + (new Date()).getTime();
} else {
return res.json({
code: 400,
message: 'client_type or app_version error',
data: {}
});
}
http.get(apiFile, response => {
res.setHeader('Content-Type', 'application/json');
if (response.statusCode === 200) {
response.pipe(res);
} else {
return res.json({
code: 400,
message: 'client_type or app_version error',
data: {}
});
}
}).on('error', err => {
logger.error('hot fix v1 error:', err);
return res.json({
code: 400,
message: 'read api file fail',
data: {}
});
});
}
};
module.exports = hotfix;
... ...
/**
* some common api app
* @author: jiangfeng<jeff.jiang@yoho.cn>
* @date: 2016/08/22
*/
var express = require('express');
var app = express();
// set view engin
app.on('mount', function(parent) {
delete parent.locals.settings; // 不继承父 App 的设置
Object.assign(app.locals, parent.locals);
});
// router
app.use(require('./router'));
module.exports = app;
... ...
/**
* router of sub app coupon
* @author: lixia.zhang<lixia.zhang@yoho.cn>
* @date: 2016/05/31
*/
'use strict';
const router = require('express').Router(); // eslint-disable-line
const cRoot = './controllers';
const hotfix = require(`${cRoot}/hotfix`);
// routers
router.post('/hf/v1', hotfix.v1);
module.exports = router;
... ...
... ... @@ -64,7 +64,7 @@ module.exports = {
maxFiles: 7
},
udp: { // send by udp
measurement: 'yohobuy_wap_log',
measurement: 'yohobuy_wap_node_log',
level: 'debug', // logger level
host: '192.168.102.162', // influxdb host
port: '4444' // influxdb port
... ...
... ... @@ -19,4 +19,7 @@ module.exports = app => {
// 分期付款
app.use('/home', require('./apps/home'));
// 一些只返回json的通用api
app.use('/', require('./apps/api'));
};
... ...