'use strict'; const path = require('path'); module.exports = appInfo => { const config = {}; // 数据库配置 config.mysql = { client: { // host host: '127.0.0.1', // 端口号 port: '3306', // 用户名 user: 'root', // 密码 password: 'smartcost', // 数据库名 database: 'calculation', }, // 是否加载到 app 上,默认开启 app: true, // 是否加载到 agent 上,默认关闭 agent: false, }; // 表名前缀 config.tablePrefix = 'zh_'; // redis设置 config.redis = { client: { host: '127.0.0.1', port: '6379', password: 'test', db: '0', }, agent: true, }; // should change to your own config.keys = appInfo.name + '_1503910434503_882'; // view相关 config.view = { mapping: { '.ejs': 'ejs', }, root: [ path.join(appInfo.baseDir, 'app/view'), ].join(','), cache: false, }; // 分页相关 config.pageSize = 15; // 中间件 config.middleware = ['gzip', 'urlParse', 'sortFilter', 'autoLogger']; // session配置 config.session = { key: 'ZHC_SESS', maxAge: 3600 * 1000, // 1小时 httpOnly: true, encrypt: true, }; // session使用redis exports.sessionRedis = { name: 'session', }; // 缓存时间 config.cacheTime = 1800; // 安全性配置 config.security = { csrf: { ignoreJSON: false, // 默认为 false,当设置为 true 时,将会放过所有 content-type 为 `application/json` 的请求 }, }; // 发送短信相关 config.sms = { // account: '710030', // password: 'w7pRhJ', // extno: '10690587', authKey: 'fb5ef483e44b9556512a9febef376051', }; // geetest验证码key config.geetest = { id: '23c50f6711966f744c93a70167c8e0a4', key: '9b67989994f9def437ea68bb495f0162', }; // 前端验证 config.jsValidator = { client: {}, app: true, }; config.filePath = '/etc/calc/files/'; // 上传设置 config.multipart = { whitelist: ['.json', '.txt', '.xls', '.xlsx', '.doc', '.docx', '.pdf', '.ppt', '.pptx', '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.zip', '.rar', '.7z', ''], fileSize: '30mb', }; // 是否压缩替换前端js config.min = true; config.version = '1.0.1'; // 压缩设置 config.gzip = { threshold: 2048, // 下载的url要用正则忽略 ignore: /(\w*)(\/download\/file)|(\/profile\/qrCode)(\w*)/ig, }; config.customLogger = { // 操作失败日志 fail: { file: path.join(appInfo.root, 'logs/' + appInfo.name + '-' + config.version + '/fail.log'), }, // 以下为业务日志 ledger: { file: path.join(appInfo.root, 'logs/' + appInfo.name + '-' + config.version + '/ledger.log'), }, stage: { file: path.join(appInfo.root, 'logs/' + appInfo.name + '-' + config.version + 'stage.log'), }, mixed: { file: path.join(appInfo.root, 'logs/' + appInfo.name + '-' + config.version + 'mixed.log'), } }; config.bodyParser = { jsonLimit: '10mb', formLimit: '10mb', }; config.etag = { weak: false, }; return config; };