#配置数据源
spring:
  datasource:
    druid:
      db-type: com.alibaba.druid.pool.DruidDataSource
      driverClassName: com.p6spy.engine.spy.P6SpyDriver
      url: jdbc:p6spy:mysql://localhost:3306/totus-online?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
      username: root
      password: root
      # 初始连接数，建议设置为与最小空闲连接数相同
      initial-size: 20
      # 最小空闲连接数，保持足够的空闲连接以应对请求
      min-idle: 20
      # 最大连接数，根据并发需求适当增加
      max-active: 50
      # 获取连接超时时间（毫秒），调整以满足响应时间要求
      max-wait: 3000
      # 启用KeepAlive机制，保持长连接
      keep-alive: true
      # 连接有效性检测间隔时间（毫秒），定期检查连接的健康状态
      time-between-eviction-runs-millis: 60000
      # 连接在池中最小生存时间（毫秒），确保连接在池中至少存在一段时间
      min-evictable-idle-time-millis: 300000
      # 连接在池中最大生存时间（毫秒），防止连接在池中停留过长
      max-evictable-idle-time-millis: 900000
      # 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除
      test-while-idle: true
      # 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个
      test-on-borrow: true
      # 是否在归还到池中前进行检验
      test-on-return: false
      # 停用 com_ping 探活机制
      use-ping-method: false
      # 检测连接是否有效
      validation-query: SELECT 1
      # 配置监控统计
      webStatFilter:
        enabled: true
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: false
      filter:
        stat:
          enabled: true
          # 记录慢SQL
          log-slow-sql: true
          slow-sql-millis: 2000
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true

# 登录相关配置
login:
  #  是否限制单用户登录
  single-login: false
  # Redis用户登录缓存配置
  user-cache:
    # 存活时间/秒
    idle-time: 21600
  #  验证码
  code:
    #  验证码类型配置 查看 LoginProperties 类
    code-type: arithmetic
    #  登录图形验证码有效时间/分钟
    expiration: 2
    #  验证码高度
    width: 111
    #  验证码宽度
    height: 36
    # 内容长度
    length: 2
    # 字体名称，为空则使用默认字体
    font-name:
    # 字体大小
    font-size: 25

#jwt
jwt:
  header: Authorization
  # 令牌前缀
  token-start-with: Bearer
  # 必须使用最少88位的Base64对该令牌进行编码
  base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
  # 令牌过期时间 此处单位/毫秒 ，默认4小时，可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
  token-validity-in-seconds: 14400000
  # 在线用户key
  online-key: "online_token:"
  # 验证码
  code-key: "captcha_code:"
  # token 续期检查时间范围（默认30分钟，单位毫秒），在token即将过期的一段时间内用户操作了，则给用户的token续期
  detect: 1800000
  # 续期时间范围，默认1小时，单位毫秒
  renew: 3600000

#是否允许生成代码，生产环境设置为false
generator:
  enabled: true

#是否开启 swagger-ui
swagger:
  enabled: true

# 微信信息配置
weChat:
  appId: wx583d0c321ef43dfe
  secret: 1b5eca11a1058361b0f14c5933ef6bd6

# socket
thirdParty:
  socket:
    init: false
    url: ws://127.0.0.1:8000/webSocket

# 文件存储路径
file:
  mac:
    path: ~/file/
    avatar: ~/avatar/
  linux:
    path: /home/eladmin/file/
    avatar: /home/eladmin/avatar/
  windows:
    path: /eladmin/eladmin-upload/file/
    avatar: /eladmin/eladmin-upload/avatar/
  # 文件大小 /M
  maxSize: 100
  avatarMaxSize: 5
