2024-07-15 00:30:33 +08:00
|
|
|
|
import { MidwayConfig } from '@midwayjs/core';
|
2024-07-15 01:29:19 +08:00
|
|
|
|
// import { join } from 'path';
|
|
|
|
|
|
// import { dirname } from 'node:path';
|
|
|
|
|
|
// import { fileURLToPath } from 'node:url';
|
|
|
|
|
|
// // const __filename = fileURLToPath(import.meta.url);
|
|
|
|
|
|
// const __dirname = dirname(fileURLToPath(import.meta.url));
|
2024-07-15 00:30:33 +08:00
|
|
|
|
import { FlywayHistory } from '@certd/midway-flyway-js';
|
2024-10-07 03:21:16 +08:00
|
|
|
|
import { UserEntity } from '../modules/sys/authority/entity/user.js';
|
2024-07-15 00:30:33 +08:00
|
|
|
|
import { PipelineEntity } from '../modules/pipeline/entity/pipeline.js';
|
2023-05-26 16:18:24 +08:00
|
|
|
|
//import { logger } from '../utils/logger';
|
2023-05-25 15:17:58 +08:00
|
|
|
|
// load .env file in process.cwd
|
2024-11-04 15:14:56 +08:00
|
|
|
|
import { loadDotEnv, mergeConfig } from './loader.js';
|
2024-10-03 22:03:49 +08:00
|
|
|
|
import { libServerEntities } from '@certd/lib-server';
|
|
|
|
|
|
import { commercialEntities } from '@certd/commercial-core';
|
2024-10-05 01:46:25 +08:00
|
|
|
|
import { tmpdir } from 'node:os';
|
2024-10-11 00:05:51 +08:00
|
|
|
|
import { DefaultUploadFileMimeType, uploadWhiteList } from '@midwayjs/upload';
|
2024-10-05 01:46:25 +08:00
|
|
|
|
import path from 'path';
|
2024-10-11 00:05:51 +08:00
|
|
|
|
|
2024-07-17 01:30:00 +08:00
|
|
|
|
const env = process.env.NODE_ENV || 'development';
|
|
|
|
|
|
|
2023-06-26 12:26:59 +08:00
|
|
|
|
const development = {
|
2025-06-03 18:16:35 +08:00
|
|
|
|
midwayLogger: {
|
|
|
|
|
|
default: {
|
|
|
|
|
|
dir: './logs',
|
|
|
|
|
|
},
|
|
|
|
|
|
// ...
|
|
|
|
|
|
},
|
2024-08-27 13:46:19 +08:00
|
|
|
|
keys: 'certd',
|
2023-01-29 13:44:19 +08:00
|
|
|
|
koa: {
|
2025-09-18 10:05:07 +08:00
|
|
|
|
hostname:"::",
|
2023-01-29 13:44:19 +08:00
|
|
|
|
port: 7001,
|
|
|
|
|
|
},
|
2024-10-26 16:36:57 +08:00
|
|
|
|
https: {
|
|
|
|
|
|
enabled: true,
|
|
|
|
|
|
port: 7002,
|
|
|
|
|
|
key: './data/ssl/cert.key',
|
|
|
|
|
|
cert: './data/ssl/cert.crt',
|
|
|
|
|
|
},
|
2023-05-25 13:43:32 +08:00
|
|
|
|
staticFile: {
|
2023-07-03 09:15:52 +08:00
|
|
|
|
usePrecompiledGzip: true,
|
|
|
|
|
|
buffer: true,
|
2024-10-11 00:05:51 +08:00
|
|
|
|
maxAge: 30 * 24 * 60 * 60,
|
2023-07-03 09:15:52 +08:00
|
|
|
|
gzip: true,
|
2023-05-25 13:43:32 +08:00
|
|
|
|
dirs: {
|
|
|
|
|
|
default: {
|
|
|
|
|
|
prefix: '/',
|
|
|
|
|
|
dir: 'public',
|
2023-05-25 15:17:58 +08:00
|
|
|
|
alias: {
|
|
|
|
|
|
'/': '/index.html',
|
2024-10-11 00:05:51 +08:00
|
|
|
|
'\\': '/index.html',
|
2023-05-25 15:17:58 +08:00
|
|
|
|
},
|
2024-10-11 00:05:51 +08:00
|
|
|
|
maxFiles: 200,
|
2023-05-25 13:43:32 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
2024-07-21 02:26:03 +08:00
|
|
|
|
cron: {
|
2024-08-13 20:30:42 +08:00
|
|
|
|
//启动时立即触发一次
|
2024-07-21 02:26:03 +08:00
|
|
|
|
immediateTriggerOnce: false,
|
2024-12-23 18:11:06 +08:00
|
|
|
|
immediateTriggerSiteMonitor: false,
|
2024-08-13 20:30:42 +08:00
|
|
|
|
//启动时仅注册admin(id=1)用户的
|
|
|
|
|
|
onlyAdminUser: false,
|
2024-07-21 02:26:03 +08:00
|
|
|
|
},
|
2023-01-29 13:44:19 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 演示环境
|
|
|
|
|
|
*/
|
|
|
|
|
|
preview: {
|
|
|
|
|
|
enabled: false,
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 数据库
|
|
|
|
|
|
*/
|
|
|
|
|
|
typeorm: {
|
|
|
|
|
|
dataSource: {
|
|
|
|
|
|
default: {
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 单数据库实例
|
|
|
|
|
|
*/
|
2024-07-20 18:04:07 +08:00
|
|
|
|
type: 'better-sqlite3',
|
2024-07-15 01:29:19 +08:00
|
|
|
|
database: './data/db.sqlite',
|
2023-01-29 13:44:19 +08:00
|
|
|
|
synchronize: false, // 如果第一次使用,不存在表,有同步的需求可以写 true
|
2024-12-24 17:09:06 +08:00
|
|
|
|
logging: false,
|
2024-12-09 22:40:17 +08:00
|
|
|
|
highlightSql: false,
|
2023-01-29 13:44:19 +08:00
|
|
|
|
|
|
|
|
|
|
// 配置实体模型 或者 entities: '/entity',
|
2024-10-07 03:21:16 +08:00
|
|
|
|
entities: ['**/modules/**/entity/*.js', ...libServerEntities, ...commercialEntities, PipelineEntity, FlywayHistory, UserEntity],
|
2023-01-29 13:44:19 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 自动升级数据库脚本
|
|
|
|
|
|
*/
|
|
|
|
|
|
flyway: {
|
2024-07-15 01:29:19 +08:00
|
|
|
|
scriptDir: './db/migration',
|
2023-01-29 13:44:19 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
2023-06-28 09:44:35 +08:00
|
|
|
|
auth: {
|
2023-01-29 13:44:19 +08:00
|
|
|
|
jwt: {
|
2023-06-29 08:56:09 +08:00
|
|
|
|
expire: 7 * 24 * 60 * 60, //单位秒
|
2023-01-29 13:44:19 +08:00
|
|
|
|
},
|
|
|
|
|
|
},
|
2023-06-28 15:16:19 +08:00
|
|
|
|
certd: {
|
2024-07-15 01:29:19 +08:00
|
|
|
|
fileRootDir: './data/files',
|
2023-06-28 15:16:19 +08:00
|
|
|
|
},
|
2024-06-16 02:06:44 +08:00
|
|
|
|
system: {
|
|
|
|
|
|
resetAdminPasswd: false,
|
|
|
|
|
|
},
|
2024-08-23 13:15:06 +08:00
|
|
|
|
plus: {
|
2024-09-30 00:22:50 +08:00
|
|
|
|
serverBaseUrls: ['http://127.0.0.1:11007'],
|
2024-08-23 13:15:06 +08:00
|
|
|
|
},
|
2024-10-05 01:46:25 +08:00
|
|
|
|
upload: {
|
|
|
|
|
|
// mode: UploadMode, 默认为file,即上传到服务器临时目录,可以配置为 stream
|
|
|
|
|
|
mode: 'file',
|
|
|
|
|
|
// fileSize: string, 最大上传文件大小,默认为 10mb
|
|
|
|
|
|
fileSize: '10mb',
|
|
|
|
|
|
whitelist: uploadWhiteList, //文件扩展名白名单
|
|
|
|
|
|
mimeTypeWhiteList: DefaultUploadFileMimeType, //文件MIME类型白名单
|
|
|
|
|
|
// whitelist: uploadWhiteList.filter(ext => ext !== '.pdf'),
|
|
|
|
|
|
// tmpdir: string,上传的文件临时存储路径
|
|
|
|
|
|
tmpdir: path.join(tmpdir(), 'certd-upload-files'),
|
|
|
|
|
|
// cleanTimeout: number,上传的文件在临时目录中多久之后自动删除,默认为 5 分钟
|
|
|
|
|
|
cleanTimeout: 5 * 60 * 1000,
|
|
|
|
|
|
// base64: boolean,设置原始body是否是base64格式,默认为false,一般用于腾讯云的兼容
|
|
|
|
|
|
base64: false,
|
|
|
|
|
|
// 仅在匹配路径到 /api/upload 的时候去解析 body 中的文件信息
|
|
|
|
|
|
match: /\/api\/basic\/file\/upload/,
|
|
|
|
|
|
},
|
2024-10-10 18:38:22 +08:00
|
|
|
|
agent: {
|
|
|
|
|
|
enabled: false,
|
|
|
|
|
|
contactText: '',
|
|
|
|
|
|
contactLink: '',
|
|
|
|
|
|
},
|
2023-01-29 13:44:19 +08:00
|
|
|
|
} as MidwayConfig;
|
2024-11-04 15:14:56 +08:00
|
|
|
|
loadDotEnv();
|
|
|
|
|
|
|
2024-07-21 02:26:03 +08:00
|
|
|
|
mergeConfig(development, 'development');
|
|
|
|
|
|
|
2024-07-17 01:30:00 +08:00
|
|
|
|
mergeConfig(development, env);
|
2024-07-15 00:30:33 +08:00
|
|
|
|
|
2023-06-26 12:26:59 +08:00
|
|
|
|
export default development;
|