import { MidwayConfig } from '@midwayjs/core';
import { uploadWhiteList } from '@midwayjs/upload';

export default {
	// use for cookie sign key, should change to your own and keep security
	keys: '1697793992980_5738',
	//服务器端口
	koa: {
		port: Number(process.env.APP_PORT ?? 8125),
        globalPrefix:process.env.GLOBALPREFIX ?? 'szjkj',
	},
    //限流速率
    limiter:{
        points: Number(process.env.APP_LIMITER ?? 10), // 10 requests for ctx.ip
        duration: 1, // per 1 second
    },
    //开启跨域
    cors: {
        origin: '*',
        allowMethods: 'GET,HEAD,PUT,POST,DELETE,OPTIONS'
    },
	//静态文件配置
	staticFile: {
		dirs: {
			default: {
				prefix: process.env.STATIC_PATH ?? '/static',
                dir:"public/static"
			},
		}
	},
    logger:{
        level: 'ERROR',
        consoleLevel: 'ERROR',
    },
    //通用页面组件配置
    commonPage:{},
    //redis配置
    // redis: {
    //     client: {
    //         port: 8521, // Redis port
    //         host: "192.168.18.94", // Redis host
    //         password: "szjcomo",
    //         db: 0,
    //     },
    // },
    //文件上传配置
    upload:{
        // mode: UploadMode, 默认为file，即上传到服务器临时目录，可以配置为 stream
        mode: 'file',
        // fileSize: string, 最大上传文件大小，默认为 10mb
        fileSize: '10mb',
        // whitelist: string[]，文件扩展名白名单
        whitelist: uploadWhiteList.filter(ext => ext !== '.pdf'),
        // tmpdir: string，上传的文件临时存储路径
        tmpdir: 'public/tmpdir',
        // cleanTimeout: number，上传的文件在临时目录中多久之后自动删除，默认为 5 分钟
        cleanTimeout: 5 * 60 * 1000,
        // base64: boolean，设置原始body是否是base64格式，默认为false，一般用于腾讯云的兼容
        base64: false,
        // 仅在匹配路径到 /api/upload 的时候去解析 body 中的文件信息
        match: /(.*)\/CommonPage\/upload/,
    }
} as MidwayConfig