85 lines
1.8 KiB
JavaScript
85 lines
1.8 KiB
JavaScript
// Central config loader. Keep shared (base) config here and move
|
|
// environment-specific values into config.development.js / config.production.js.
|
|
|
|
const env = process.env.NODE_ENV || 'development';
|
|
|
|
let envConfig = {};
|
|
try {
|
|
if (env === 'production') {
|
|
envConfig = require('./config.production.js');
|
|
} else {
|
|
envConfig = require('./config.development.js');
|
|
}
|
|
} catch (error) {
|
|
console.warn(`Warning: failed to load ${env} config, using defaults.`);
|
|
}
|
|
|
|
// Shared config (all environments)
|
|
const baseConfig = {
|
|
"port": {
|
|
"node": 9099,
|
|
"web": 9091
|
|
},
|
|
"allowUrls": [
|
|
"/admin_api/sys_user/login",
|
|
"/admin_api/sys_user/authorityMenus",
|
|
"/admin_api/sys_user/register",
|
|
"/file/",
|
|
"/sys_file/",
|
|
"/api/docs",
|
|
"api/swagger.json",
|
|
"/api/auth/verify",
|
|
// 转发层路由白名单(框架不鉴权,由控制器内部做 Token 鉴权)
|
|
// 与 swagger 一致的无 /api 前缀路径
|
|
"/admin/",
|
|
"/applet/",
|
|
"/equipment/",
|
|
"/favor/",
|
|
"/finder/",
|
|
"/friend/",
|
|
"/group/",
|
|
"/label/",
|
|
"/login/",
|
|
"/message/",
|
|
"/other/",
|
|
"/pay/",
|
|
"/qy/",
|
|
"/shop/",
|
|
"/sns/",
|
|
"/user/",
|
|
"/ws/",
|
|
"/api/admin/",
|
|
"/api/applet/",
|
|
"/api/equipment/",
|
|
"/api/favor/",
|
|
"/api/finder/",
|
|
"/api/friend/",
|
|
"/api/group/",
|
|
"/api/label/",
|
|
"/api/login/",
|
|
"/api/message/",
|
|
"/api/other/",
|
|
"/api/pay/",
|
|
"/api/qy/",
|
|
"/api/shop/",
|
|
"/api/sns/",
|
|
"/api/user/",
|
|
"/api/ws/"
|
|
]
|
|
};
|
|
|
|
const finalConfig = {
|
|
...baseConfig,
|
|
...envConfig,
|
|
// Deep-merge wechat if present
|
|
wechat: {
|
|
...(baseConfig.wechat || {}),
|
|
...(envConfig.wechat || {})
|
|
}
|
|
};
|
|
|
|
console.log(`Config env: ${env}`);
|
|
console.log(`Config qywx env: ${finalConfig.qywx?.env || 'unknown'}`);
|
|
|
|
module.exports = finalConfig;
|