# 项目相关配置
ruoyi:
  # 名称
  name: RuoYi
  # 版本
  version: 3.8.3
  # 版权年份
  copyrightYear: 2022
  # 实例演示开关
  demoEnabled: true
  # 文件路径 示例（ Windows配置D:/ruoyi/uploadPath，Linux配置 /home/ruoyi/uploadPath）
  profile: D:/ruoyi/uploadPath
  # 获取ip地址开关
  addressEnabled: false
  # 验证码类型 math 数组计算 char 字符验证
  captchaType: math

# 开发环境配置
server:
  # 服务器的HTTP端口，默认为8080
  port: 8080
  servlet:
    # 应用的访问路径
    context-path: /
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数，默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数，默认为200
      max: 800
      # Tomcat启动初始化的线程数，默认值10
      min-spare: 100

# 日志配置
logging:
  level:
    com.xvji: debug
    org.springframework: warn

# Spring配置
spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles: 
    active: druid
  # 文件上传
  servlet:
     multipart:
       # 单个文件大小
       max-file-size:  10MB
       # 设置总上传的文件大小
       max-request-size:  20MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
  # redis 配置
  redis:
    # 地址
    host: 192.168.10.27
    # 端口，默认为6379
    port: 6379
    # 数据库索引
    database: 0
    # 密码
    password: 123456
    # 连接超时时间
    timeout: 10s
    lettuce:
      pool:
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池中的最大空闲连接
        max-idle: 8
        # 连接池的最大数据库连接数
        max-active: 8
        # #连接池最大阻塞等待时间（使用负值表示没有限制）
        max-wait: -1ms
  jpa:
    # 数据库方言（MySQL 8.x 用这个，5.x 可去掉 .8 写成 MySQLDialect）
    database-platform: org.hibernate.dialect.MySQL8Dialect
    hibernate:
      # 实体类与数据库表映射规则：update 表示“表不存在则创建，存在则更新结构（不删数据）”
      ddl-auto: update
    # 日志显示 SQL（开发阶段开启，方便调试；生产阶段关闭）
    show-sql: true
    # SQL 格式化（可选，让日志中的 SQL 更易读）
    properties:
      hibernate:
        format_sql: true
# token配置
token:
    # 令牌自定义标识
    header: Authorization
    # 令牌密钥
    secret: abcdefghijklmnopqrstuvwxyz
    # 令牌有效期（六个小时过期重新登陆）
    expireTime: 360
  
# MyBatis-Plus配置（替换原MyBatis配置）
mybatis-plus:
  # 搜索指定包别名（与原配置保持一致，无需修改）
  type-aliases-package: com.xvji.**.domain
  # 配置mapper的扫描（若有自定义XML映射文件可保留，无则可省略）
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  # 全局配置
  global-config:
    db-config:
      # 全局默认主键类型（自增）
      id-type: auto
      # 逻辑删除字段名（若需逻辑删除可配置，否则默认null）
      logic-delete-field: deleted
      # 逻辑删除值（默认为1）
      logic-delete-value: 1
      # 未逻辑删除值（默认为0）
      logic-not-delete-value: 0
  # 核心配置
  configuration:
    # 开启驼峰命名转换（如数据库字段 p_task_id → 实体类 pTaskId）
    map-underscore-to-camel-case: true
    # 打印SQL日志（开发阶段开启，生产关闭）
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 允许返回嵌套结果（复杂对象映射）
    aggressive-lazy-loading: true
# Swagger配置
swagger:
  # 是否开启swagger
  enabled: true
  # 请求前缀
  pathMapping: /dev-api

# 防止XSS攻击
xss: 
  # 过滤开关
  enabled: true
  # 排除链接（多个用逗号分隔）
  excludes: /system/notice
  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*
