110 lines
3.4 KiB
TypeScript
110 lines
3.4 KiB
TypeScript
import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg';
|
||
const path = require('path');
|
||
|
||
export default (appInfo: EggAppInfo) => {
|
||
const config = {} as PowerPartial<EggAppConfig>;
|
||
|
||
// override config from framework / plugin
|
||
// use for cookie sign key, should change to your own and keep security
|
||
config.keys = appInfo.name + '_1597499383757_3508';
|
||
config.security = {
|
||
csrf: {
|
||
enable: false,
|
||
},
|
||
domainWhiteList: [ '*' ],
|
||
};
|
||
config.cors = {
|
||
origin: '*', // 匹配规则 域名+端口 *则为全匹配
|
||
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH',
|
||
};
|
||
// add your egg config in here
|
||
config.middleware = [ 'parmsDecode', 'getIp', 'proxy' ];
|
||
|
||
config.mongoose = {
|
||
url: 'mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', // 内网
|
||
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||
};
|
||
config.gmmongoose = {
|
||
url: 'mongodb://dbop:zyzGm2021@dds-8vb9964bb4cc7f241.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb9964bb4cc7f242.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?replicaSet=mgset-507933150', // 内网
|
||
options: { useNewUrlParser: true, useUnifiedTopology: true },
|
||
};
|
||
config.redis = {
|
||
url: 'r-8vb4i2kgl91886fkxd.redis.zhangbei.rds.aliyuncs.com', // 内网
|
||
pw: 'zyz_2020'
|
||
};
|
||
|
||
// config.alinode = {
|
||
// appid: '86043',
|
||
// secret: '54ef0364995b0c4f2ab42150e29ad30df8327a3a',
|
||
// error_log: [ '/root/logs/zyz/zyz-web.log', '/root/logs/zyz/common-error.log', '/root/logs/zyz/egg-agent.log' ],
|
||
// packages: [ '/root/zyz/web-server/package.json' ],
|
||
// };
|
||
|
||
config.view = {
|
||
root: path.join(appInfo.baseDir, '/app/public'),
|
||
defaultViewEngine: 'nunjucks',
|
||
mapping: {
|
||
'.html': 'nunjucks' //左边写成.html后缀,会自动渲染.html文件
|
||
},
|
||
};
|
||
|
||
config.decodeParm = true;
|
||
|
||
config.static = {
|
||
prefix: '/',
|
||
dir: path.join(appInfo.baseDir, '/app/public'),
|
||
};
|
||
|
||
config.customLogger = {
|
||
linkLogger: {
|
||
file: path.join(appInfo.root, 'logs/web-server/link-log.log'),
|
||
formatter(meta) {
|
||
return `[${meta.level}] [${meta.date}] ${meta.message}`;
|
||
},
|
||
},
|
||
};
|
||
|
||
config.logrotator = {
|
||
filesRotateBySize: [
|
||
path.join(appInfo.root, 'logs/link-log.log'),
|
||
],
|
||
maxFileSize: 1024,
|
||
};
|
||
// add your special config in here
|
||
const bizConfig = {
|
||
sourceUrl: `https://github.com/eggjs/examples/tree/master/${appInfo.name}`,
|
||
};
|
||
|
||
|
||
let regions = [ // 大区数据
|
||
{ env: 'stable', name: "常山少年", domain: 'http://zyz_gm.trgame.cn' },
|
||
{ env: 'alpha', name: "测试服", domain: 'http://pinus_gm_test.trgame.cn' },
|
||
{ env: 'dev', name: "开发服", domain: 'http://zyzdev_gm.trgame.cn' },
|
||
{ env: 'isbn', name: "办好福", domain: 'http://zyz_isbn_gm.trgame.cn' },
|
||
// 37测试服组
|
||
{ env: 'sq1', name: "37测试1服", domain: 'http://gm.sgzyz.37wan.com' },
|
||
];
|
||
config.regions = regions;
|
||
|
||
let httpProxy: any = {};
|
||
for(let { env, domain } of regions) {
|
||
|
||
httpProxy[`/web/${env}/`] = {
|
||
target: domain,
|
||
changeOrigin: true,
|
||
secure: true,
|
||
pathRewrite: function(path) {
|
||
console.log('proxy', path, path.replace(`/web/${env}/`, '/web/'))
|
||
return path.replace(`/web/${env}/`, '/web/')
|
||
}
|
||
}
|
||
}
|
||
config.proxy = httpProxy;
|
||
|
||
// the return config will combines to EggAppConfig
|
||
return {
|
||
...config,
|
||
...bizConfig,
|
||
};
|
||
};
|