jy:
  # 项目名
  projectName: jyBase
  # 是否启用验证码
  captchaOnOff: false
  # 验证码过期时间（分钟）
  captchaExpireTime: 0
  # 密码最大错误次数
  maxRetryCount: 0
  # 达到密码最大错误次数，账号锁定时长（分钟）
  lockTime: 0
  # 无需验证token接口
  openUrl:
    - /getCaptchaImage  # 登录验证码
    - /login            # 登录
    - /logout           # 登出
    - /open/**          # 开放接口
    - /test/**          # 测试接口

spring:

  application:
    name: ${jy.projectName}

  profiles:
    active: dev

  main:
    # 禁用依赖循环检查
    allowCircularReferences: true

  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    dynamic:
      hikari:
        # 最大连接池数量
        maxPoolSize: 20
        # 最小空闲线程数量
        minIdle: 10
        # 配置获取连接等待超时的时间
        connectionTimeout: 30000
        # 校验超时时间
        validationTimeout: 5000
        # 空闲连接存活最大时间，默认10分钟
        idleTimeout: 600000
        # 此属性控制池中连接的最长生命周期，值0表示无限生命周期，默认30分钟
        maxLifetime: 1800000
        # 多久检查一次连接的活性
        keepaliveTime: 30000

  data:
    redis:
      # 连接超时时间
      timeout: 10s
      jedis:
        pool:
          # 连接池中的最小空闲连接
          min-idle: 3
          # 连接池中的最大空闲连接
          max-idle: 20
          # 连接池的最大数据库连接数
          max-active: 20
          # 连接池最大阻塞等待时间（使用负值表示没有限制）
          max-wait: -1ms

# mybatis-plus相关配置
mybatis-plus:
  mapper-locations: classpath*:com/jy/**/mapper/xml/*.xml
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: true
    lazy-loading-enabled: true
    multiple-result-sets-enabled: true
  global-config:
    banner: false
    enable-sql-runner: true
    db-config:
      # 全局逻辑删除的实体字段名
      logic-delete-field: delFlag
      # 逻辑已删除值
      logic-delete-value: 1
      # 逻辑未删除值
      logic-not-delete-value: 0

sa-token:
  # token 名称 （同时也是： cookie 名称、提交 token 时参数的名称、存储 token 时的 key 前缀）
  token-name: Authorization
  # token 风格（默认可取值：uuid、simple-uuid、random-32、random-64、random-128、tik）
  token-style: simple-uuid
  # token 有效期（单位：秒）
  timeout: 43200
  # token 最低活跃频率（单位：秒）
  active-timeout: 21600
  # 是否允许同一账号多地同时登录 （为 true 时允许一起登录, 为 false 时新登录挤掉旧登录）
  is-concurrent: true
  # 在多人登录同一账号时，是否共用一个 token （为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token）
  is-share: false
  # 是否输出操作日志
  is-log: false
  # 是否在初始化配置时在控制台打印版本字符画
  is-print: false
  # 是否尝试从请求体里读取 token
  is-read-body: false
  # 是否尝试从 cookie 里读取 token
  is-read-cookie: false
  # 是否尝试从 header 里读取 token
  is-read-header: true
  # 是否在登录后将 token 写入到响应头
  is-write-header: true
