feat(37回调): 添加大区集中转发接口

This commit is contained in:
luying
2022-11-09 16:21:24 +08:00
parent 81f0997304
commit e442fa6e7c
8 changed files with 177 additions and 48 deletions

View File

@@ -18,7 +18,7 @@ export default (appInfo: EggAppInfo) => {
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH',
};
// add your egg config in here
config.middleware = [ 'parmsDecode', 'getIp', 'proxy' ];
config.middleware = [ 'parmsDecode', 'getIp' ];
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', // 内网
@@ -75,32 +75,6 @@ export default (appInfo: EggAppInfo) => {
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-sgzzyz.yev242.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,

View File

@@ -0,0 +1,13 @@
import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg';
import defaultConfig from './config.default';
export default (appInfo: EggAppInfo) => {
const config = {} as PowerPartial<EggAppConfig>;
config.middleware = [ 'parmsDecode', 'getIp', 'proxy' ];
// the return config will combines to EggAppConfig
return {
...defaultConfig(appInfo),
...config
};
};

View File

@@ -16,24 +16,7 @@ export default (appInfo: EggAppInfo) => {
url: '127.0.0.1', // 内网
pw: ''
};
let regions = [ // 大区数据
{ id: 1, env: 'development', name: "测试", domain: 'http://127.0.0.1:9000' },
];
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;
config.decodeParm = true;
// the return config will combines to EggAppConfig

View File

@@ -0,0 +1,49 @@
import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg';
import defaultConfig from './config.default';
export default (appInfo: EggAppInfo) => {
const config = {} as PowerPartial<EggAppConfig>;
config.middleware = [ 'parmsDecode', 'getIp', 'proxy' ];
config.mongoose = {
url: 'mongodb://dbop:zyzSQ2021@dds-8vb7d5060bb271d41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb7d5060bb271d42.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb7d5060bb271d43.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-508112745', // 内网
options: { useNewUrlParser: true, useUnifiedTopology: true },
};
config.gmmongoose = {
url: 'mongodb://dbop:zyzSQGm2021@dds-8vb5de93552a67941.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67942.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5de93552a67943.mongodb.zhangbei.rds.aliyuncs.com:3717/zyzgm?readPreference=secondary&replicaSet=mgset-508112742', // 内网
options: { useNewUrlParser: true, useUnifiedTopology: true },
};
config.redis = {
url: 'r-8vb7l1s8ne4vm6v6x6.redis.zhangbei.rds.aliyuncs.com', // 内网
pw: 'PANl3Vr2eozkq4N2'
};
config.xtransit = {
server: 'ws://172.16.4.109:9092',
appId: 4,
appSecret: '4ce0f5d8561939271c1d8c5714a9d9eb'
};
config.customLogger = {
linkLogger: {
file: '/zyz_logs/web-server/link-log.log',
formatter(meta) {
return `[${meta.level}] [${meta.date}] ${meta.message}`;
},
},
};
config.logrotator = {
filesRotateBySize: [
'/zyz_logs/web-server/link-log.log',
],
maxFileSize: 1024,
};
// the return config will combines to EggAppConfig
return {
...defaultConfig(appInfo),
...config
};
};