server: port: 8080 spring: application: name: crm-app datasource: # 中间件地址走环境变量注入(compose 指向容器服务名),无环境变量时回退到默认开发库 url: ${CRM_DB_URL:jdbc:mysql://8.129.84.155:3306/crm?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&rewriteBatchedStatements=true} username: ${CRM_DB_USERNAME:root} password: ${CRM_DB_PASSWORD:Itc@123456} driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate: ddl-auto: update open-in-view: false database-platform: org.hibernate.dialect.MySQLDialect data: redis: host: ${CRM_REDIS_HOST:8.129.84.155} port: ${CRM_REDIS_PORT:6379} database: ${CRM_REDIS_DATABASE:8} password: ${CRM_REDIS_PASSWORD:Itc@123456} # 环境变量注入优先,回退到开发库明文 servlet: multipart: # 框架层物理上限 = 分片大小 + 余量,保证大文件必须走分片;直传上限在业务层校验 # 【联动】若调大 crm.file.chunk-size 或 direct-upload-limit,需同步上调这两个值(max-file-size ≥ 两者较大值 + 余量) max-file-size: 20MB max-request-size: 25MB mybatis-plus: global-config: db-config: logic-delete-field: deleted logic-not-delete-value: 0 logic-delete-value: 1 configuration: map-underscore-to-camel-case: true crm: snowflake: worker-id: 0 datacenter-id: 0 auth: jwt: # 生产环境务必用环境变量覆盖为至少 32 位随机串 secret: "crm-default-secret-change-me-in-prod!!" ttl-days: 7 dingtalk: client-id: "dingikqv3al2koirnku7" client-secret: "VVlS2GaBdibboTi3l80wvXufTaYxlCHWaLDtJKd9APT37td2II-cosFE_-WkVGIU" file: minio: endpoint: ${CRM_MINIO_ENDPOINT:http://127.0.0.1:9000} # 内网地址,浏览器永不直接接触 MinIO(compose 指向容器服务名 minio:9000) access-key: ${CRM_MINIO_AK:} # 凭证走环境变量注入,不进 git secret-key: ${CRM_MINIO_SK:} bucket: crm preview: kkfileview-url: ${CRM_KKFILEVIEW_URL:} # kkFileView 地址,必须浏览器可达 presign-ttl: 10m # 预览回源 presigned GET 有效期 chunk-size: 5MB # 分片大小(下限 5MB,composeObject 约束;调大时需同步上调 spring.servlet.multipart 上限) direct-upload-limit: 10MB # 直传上限,超过必须走分片 max-file-size: 1GB # 单文件总大小上限 upload-session-ttl: 24h # 分片上传会话 TTL(孤儿分片清理复用同一值) cleanup-cron: "0 0 3 * * ?" # 孤儿临时分片清理执行周期,默认每天凌晨 3 点 # ext-blacklist 默认拦截可执行/脚本类扩展名,如需覆盖在此配置列表 logging: file: name: logs/crm-app.log # 日志落盘:启动目录下 logs/,配合滚动策略便于排查 logback: rollingpolicy: max-file-size: 10MB # 单文件超过 10MB 滚动 max-history: 7 # 保留 7 个历史文件 pattern: console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n"