config.js
3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
"use strict";
var configure = function () {
const path = require('path'),
PROJECT_NAME = 'publisher';
var host, port, database, username, password, BASE_URL;
var redisHost, redisPort, redisDB, redisPass;
switch (process.env.NODE_ENV) {
case 'product': //生产服务模式
BASE_URL = `http://onwall.cn/${PROJECT_NAME}/`;
host = '58.246.253.126';
port = '5433';
database = 'startup';
username = 'pms';
password = 'pms';
break;
case 'real': //远程连接生产模式
BASE_URL = `http://onwall.cn/${PROJECT_NAME}/`;
host = '58.246.253.126';
port = '5433';
database = 'startup';
username = 'pms';
password = 'pms';
break;
default: //开发模式
BASE_URL = `http://onwall.cn/${PROJECT_NAME}/`;
host = '58.246.253.126';
port = '5433';
database = 'startup';
username = 'pms';
password = 'pms';
redisHost = '192.168.1.90';
redisPort = 6379;
redisDB = 1;
redisPass = 'itomix';
break;
}
const root = process.cwd(),
server_path = 'server', //后端主目录
init_path = 'init', //后端初始化目录
lib_path = 'lib', //后端自定义库
modules_path = 'modules', //后端模块定义
routers_path = 'routers', //后端路由定义
entities_path = 'entities', //实体类定义
public_path = 'public', //静态资源目录
logs_path = 'logs', //日志目录
views_path = 'views', //前端视图输出
mock_path = 'mock' //mock数据目录
;
return {
//sequelize数据库连接定义
sequelize: {
database: database,
username: username,
password: password,
options: {
timezone: '+08:00', //保证时区正确
host: host,
port: port,
dialect: 'postgres',
//storage: 'path/to/database.sqlite', //SQLite only
pool: {
max: 5,
min: 0,
idle: 10000
}
}
},
redis: {
host: redisHost,
port: redisPort,
db: redisDB,
pass: redisPass
},
//系统目录定义
system: {
bind_port: 3030, //绑定端口
base_url: BASE_URL, //主URL
project_name: PROJECT_NAME, //项目名
additional: '_action', //路由后缀
mock_file: '.js', //对应url请求时获取mock数据类型的文件后缀
mock_mode: process.env.MOCK_MODE||false, //mock模式, auto=自动|true|false
real_mode: /^product|real$/.test(process.env.NODE_ENV) //连接真实生产环境
},
//系统路径
path: {
ROUTERS_PATH: path.resolve(root, server_path, routers_path), //后端路由定义
ENTITIES_PATH: path.resolve(root, server_path, entities_path), //实体类定义
INIT_PATH: path.resolve(root, server_path, init_path), //后端初始化目录,固定
LIB_PATH: path.resolve(root, server_path, lib_path), //后端自定义库,固定
MODULES_PATH: path.resolve(root, server_path, modules_path), //后端模块定义
MOCK_PATH: path.resolve(root, mock_path), ///mock数据目录
PUBLIC_PATH: path.resolve(root, public_path), //静态资源目录
VIEWS_PATH: path.resolve(root, views_path), //前端视图输出
LOGS_PATH: path.resolve(root, logs_path) //日志目录
},
//文件上传目录定义
upload: {
root: '/opt/domino-img/',
base_url: BASE_URL,
appimg: 'appimg/',
qrimg: 'qrimg/',
wximg: 'wximg/'
},
//微信定义
wechat: {
cert: '/opt/domino-cert/apiclient_cert.p12'
}
};
}();
//绑定到全局变量
global.config = global.config = configure;
module.exports = configure;