# 项目相关配置
ruoyi:
  # 名称
  name: byteSailing
  # 版本
  version: 3.8.5
  # 版权年份
  copyrightYear: 2023
  # 实例演示开关
  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: 9898
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数，默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数，默认为200
      max: 800
      # Tomcat启动初始化的线程数，默认值10
      min-spare: 100

# 日志配置
logging:
  level:
    com.ruoyi: info
    com.fjhx: info
    org.springframework: warn

# 用户配置
user:
  password:
    # 密码最大错误次数
    maxRetryCount: 5
    # 密码锁定时间（默认10分钟）
    lockTime: 10

# Spring配置
spring:
  mvc:
    path-match:
      matching-strategy: ant_path_matcher
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles: 
    active: dev
  # 文件上传
  servlet:
     multipart:
       # 单个文件大小
       max-file-size:  10MB
       # 设置总上传的文件大小
       max-request-size:  20MB
  main:
    allow-circular-references: true

  autoconfigure:
    # 排除 Druid 自动配置
    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

  datasource:
    # 指定使用 Druid 数据源
    type: com.alibaba.druid.pool.DruidDataSource

    dynamic:
      druid:
        # 初始连接数
        initialSize: 3
        # 最小连接池数量
        minIdle: 10
        # 最大连接池数量
        maxActive: 100
        # 配置获取连接等待超时的时间
        maxWait: 60000
        # 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位是毫秒
        timeBetweenEvictionRunsMillis: 60000
        # 配置一个连接在池中最小生存的时间，单位是毫秒
        minEvictableIdleTimeMillis: 300000
        # 配置一个连接在池中最大生存的时间，单位是毫秒
        maxEvictableIdleTimeMillis: 900000
        validationQueryTimeout: 10000
        # 配置检测连接是否有效
        validationQuery: SELECT 1
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20

    druid:
      webStatFilter:
        enabled: true
        exclusions:
          - "*.js"
          - "/druid/*"
      statViewServlet:
        enabled: true
        # 设置白名单，不填则允许所有访问
        allow:
        urlPattern: /druid/*
        # 控制台管理用户名和密码
        loginUsername: superAdmin
        loginPassword: 123456
      filter:
        # 配置StatFilter (SQL监控配置)
        stat:
          enabled: true # 开启 SQL 监控
          logSlowSql: true  # 记录慢查询 SQL
          slowSqlMillis: 1000 # 多长时间算慢查询
          mergeSql: true # 条件参数化作为一条sql统计

        # 配置WallFilter (防火墙配置)
        wall:
          enabled: true # 开启防火墙
          config:
            dropTableAllow: true # 允许删表操作
            updateAllow: true # 允许更新操作
            insertAllow: true # 允许插入操作
            deleteAllow: true # 允许删除操作
            multiStatementAllow: true # 支持一次执行多条sql

# MyBatis Plus配置
mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.ruoyi.**.domain,com.fjhx.**.entity.po
  # 配置mapper的扫描，找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 加载全局的配置文件
  configLocation: classpath:mybatis/mybatis-config.xml
  global-config:
    banner: false

# PageHelper分页插件
page-helper:
  helperDialect: mysql
  supportMethodsArguments: true
  params: count=countSql

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

obs:
  ak: 9HNBVBHO7F3GLUCGTK5C
  sk: ZowLEoMJrICA9tOyln0yWVm0xGSiupe0gnbsZimk
  endPoint: obs.cn-south-1.myhuaweicloud.com
  url: https://os.winfaster.cn/
  bucketName: winfaster