Skip to content

appConfig.js

yiapi的配置全部在 appConfig.js 文件中,同时,为了避免配置臃肿,将以下:

  1. 系统数据库自定义字段配置(tableConfig)
  2. 定时任务配置(cornConfig)
  3. 菜单路由配置(menuConfig)
  4. 自定义配置(customConfig)

放到了特定的 config 目录下,请勿改动此配置方案,保持项目开发的一致性。

如需自定义更多配置,请在 config/custom.js 文件中进行配置。

每次启动项目时,yiapi内核均会对此配置文件进行严格验证。

凡是不符合配置模式的,均会进行报错提示,无法启动项目。

在正确配置好项目文件后,才会予以通过,进入后续服务启动流程。

更详细的配置说明,请查看 配置详解 分类。

javascript
import { tableConfig } from './config/table.js';
import { customConfig } from './config/custom.js';
import { cronConfig } from './config/cron.js';
import { menuConfig } from './config/menu.js';

// 默认配置
let appConfig = {
    // 应用名称
    appName: '易接口',
    appNameEn: 'yiapi',
    // 加密盐,请重新设置为一个随机值
    salt: 'yiapi-123456.',
    // 监听端口
    port: 3000,
    // 超级管理员密码
    devPassword: 'dev123456',
    // 是否验证参数
    paramsCheck: false,
    // 日志字段过滤,不打印
    logFilter: ['password', 'file'],
    // 是否开启接口文档
    isSwagger: false,
    // 是否开启支付功能
    isWxPay: false,
    // 任何情况下可以访问的路由
    freeApis: [
        //
        '/',
        '/favicon.ico',
        '/docs/**',
        '/public/**',
        '/api/admin/login',
        '/api/tool/tokenCheck',
        '/api/upload/local',
        '/api/tool/sendMail'
    ],
    // 黑名单接口,不可访问的接口
    blackApis: [],
    // 白名单接口,登录后访问无限制
    whiteApis: [],
    // 黑名单菜单
    blackMenus: [],
    // 数据库表主键方案
    tablePrimaryKey: 'default',
    // 数据库配置
    database: {
        host: process.env.NODE_ENV === 'production' ? '127.0.0.1' : '127.0.0.1',
        port: process.env.NODE_ENV === 'production' ? 3306 : 3306,
        db: process.env.NODE_ENV === 'production' ? 'test' : 'test',
        username: process.env.NODE_ENV === 'production' ? 'root' : 'root',
        password: process.env.NODE_ENV === 'production' ? 'root' : 'root'
    },
    // 缓存配置
    redis: {
        host: process.env.NODE_ENV === 'production' ? '127.0.0.1' : '127.0.0.1',
        port: process.env.NODE_ENV === 'production' ? 6379 : 6379,
        username: process.env.NODE_ENV === 'production' ? '' : '',
        password: process.env.NODE_ENV === 'production' ? 'test' : '',
        db: process.env.NODE_ENV === 'production' ? 0 : 0,
        keyPrefix: process.env.NODE_ENV === 'production' ? 'test:' : 'test:',
        ex: process.env.NODE_ENV === 'production' ? 86400 : 86400
    },
    // jwt 配置
    jwt: {
        // jwt 密钥,第一次使用,请修改此密钥值!!!
        secret: 'yiapi',
        expiresIn: '7d'
    },
    // 邮件配置
    mail: {
        host: 'smtp.qq.com',
        port: 465,
        pool: true,
        secure: true,
        // qq 邮箱
        user: 'demo@qq.com',
        pass: '',
        from_name: '易接口',
        from_email: 'demo@qq.com'
    },
    // 上传目录
    upload: {
        dir: process.env.NODE_ENV === 'production' ? './public/static' : './public/static'
    },
    // 请求速率
    rate: {},
    // 定时器
    cron: cronConfig,
    // 扩展表
    table: tableConfig,
    // 菜单配置
    menu: menuConfig,
    // 自定义字段
    custom: customConfig
};

export { appConfig };