index.js 3.77 KB
'use strict';

var fs = require('fs');
var path = require('path');
var session = require('express-session');
var Redis = require('connect-redis')(session);

var config = JSON.parse(fs.readFileSync('./package.json').toString());

var grayroute = require("./mid/grayrouter");

/*session 配置*/
var options = {
    secret: 'yohobuy.shops', //session配置
    // cookie: {secure: false, maxAge: 7200000},
	cookie: {secure: false, maxAge: 36000000, domain: '.yohobuy.com'},
    resave: false,
    saveUninitialized: true,
    rolling: true
};

/*老平台接口 配置*/
var oldSerDomain = 'http://serve.yohobuy.com';
var Iaccount = {
    WEBSITE: 2,
    login: oldSerDomain + '/service/account/v1/Profile/login',
    getResourceByPid: oldSerDomain + '/service/account/v1/Profile/getMenuByPid',
    getAllResByWebsite: oldSerDomain + '/service/setting/v1/menu/getAllMenu',
    changeShops: 'http://shops.yohobuy.com/index/ajaxshop',
    isUsedMenuAuth: oldSerDomain + '/service/account/v1/profile/authPath',
    allRight: oldSerDomain + '/service/setting/v1/action/getAllAction',

    getShopList: '{{domain}}/ShopsRest/queryShopsByAdminPid',
    
    // 灰度代理
    url: 'http://shops.yohobuy.com',
    sessionKeep: '/account/profile/display',
    timeout: 5000
};



/*框架配置*/
var apiCofig = {
	//root:__dirname,
	EnvConst:{
		domain:"http://192.168.102.202:8088/platform",
		bigdata:"http://192.168.102.210:8091/bigdata",
		// bigdata:"http://172.16.6.169:8080",//钟文
		// bigdata:"http://172.16.6.189:8080/bigdata",//李建
		system:Iaccount
	},
	apps:path.join(__dirname,"apps"),
    port: 30016,
	log:{
		consoles:['log', 'info', 'warn', 'error'],
		src:path.join(__dirname,"..","logs")
	},
	mock:false,
	baseUrl:'/',
	static: {name:"static",value: '../dist/'+config.name+'/'+ config.version},
    MVC: {
        //开发环境
		Interfacer:path.join(__dirname,"apps/0/interfaces/1.js").replace(/0|1/g,'*'),
		Controller:path.join(__dirname,"apps/0/controllers/1.js").replace(/0|1/g,'*'),
        filters: path.join(__dirname, "filters.js"),
        views: path.resolve(__dirname,"apps", "0", "views/1")
	},
	useToEntry:function(app){
		if(process.env.NODE_ENV!="coding"&&process.env.NODE_ENV!=="test"){
			options.store=new Redis({
	            port: 6379,
	            host: 'redis.platform.yohoops.org'
	        });
		}

		if(process.env.NODE_ENV==="gray"){
			options.cookie.domain = '';
		}

		if(process.env.NODE_ENV==="production"){
			options.cookie.domain = '.yohobuy.com';
		}

		app.use(session(options));
	},
	useToOuter:function(app,controllers){
		app.use(grayroute(controllers));
	}
};

console.log("环境:"+process.env.NODE_ENV);

if(process.env.NODE_ENV!=='development'){
	apiCofig.log.src="/Data/logs/node/yohobuy-shops-log/"
}

/*环境配置*/
if(process.env.NODE_ENV!="coding"){
	apiCofig.MVC={
		Interfacer:path.join(__dirname,"interfaces/0.js").replace(/0/g,'*'),
		Controller:path.join(__dirname,"controllers/0.js").replace(/0/g,'*'),
        filters: path.join(__dirname, "filters.js"),
        views: path.resolve(__dirname,"views", "0", "1")
	}
}
/*线下测试环境*/
if(process.env.NODE_ENV==="test211"){
	apiCofig.EnvConst.domain="http://192.168.102.202:8088/platform";
	apiCofig.EnvConst.bigdata="http://192.168.102.202:8091/bigdata";
}
/*腾讯云*/
if(process.env.NODE_ENV==="test"){
	apiCofig.EnvConst.domain="http://10.66.100.6:8088/platform";
	apiCofig.EnvConst.bigdata="http://10.66.100.7:8091/bigdata";
}
// 灰度
if(process.env.NODE_ENV==="gray"){
	apiCofig.EnvConst.domain="http://10.66.50.107:8088/platform";
	apiCofig.EnvConst.bigdata="http://10.66.101.7:8091/bigdata";
}
//线上
if(process.env.NODE_ENV==="production"){
	apiCofig.EnvConst.domain="http://10.66.50.140:8088/platform";
	apiCofig.EnvConst.bigdata="http://10.66.70.89:8091/bigdata";
}
module.exports = require('./libs/App')(apiCofig);