spring:
  # 当前配置环境
  profiles:
    active: @profile.active@ # local  # local | dev | prod
  main:
    banner-mode: off
    lazy-initialization: true           # 懒加载Bean
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss    # 设置全局的日期格式为年月日时分秒
    time-zone: GMT+8                    # 世界标准时间,为了方式时差,需要+8小时
  servlet:
    multipart:
      max-file-size: 5GB               # 上传文件大小限制
      max-request-size: 5GB
  messages:
    basename: i18n/locale
    encoding: UTF-8
  mvc:
    async:
      request-timeout: 600000           # 接口超时时间，默认 60 秒
    static-path-pattern: /uploads/**
    throw-exception-if-no-handler-found: true

#      lettuce:
#        pool:
#          max-active: 20    # 最大连接数，负值表示没有限制，默认8
#          max-wait: -1      # 最大阻塞等待时间，负值表示没限制，默认-1
#          max-idle: 8       # 最大空闲连接，默认8
#          min-idle: 0       # 最小空闲连接，默认0



  web:
    resources:
      static-locations: classpath:/static/
      # (false) 禁用静态资源反射
      add-mappings: true
#      add-mappings: false

  thymeleaf:
    # 开启视图解析
    enabled: true
    #编码格式
    encoding: UTF-8
    #前缀配置
    prefix: classpath:/templates/
    # 后缀配置
    suffix: .html
    #是否使用缓存 开发环境时不设置缓存
    cache: false
    # 格式为 HTML 格式
    mode: HTML
    # 配置类型
    servlet:
      content-type: text/html






# MyBatis ORM
#mybatis:
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: false
    # 开启控制台打印sql语句
    # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: off
  mapper-locations:
    - classpath:com/backendsys/mapper/*.xml
    - classpath:mapper/**/*.xml

# JVM
server:
  servlet:
    context-path: /
    encoding:
      charset: UTF-8
  # 启用 Gzip 压缩
  compression:
    enabled: true
    mime-types: text/html,text/xml,text/plain,text/css,application/javascript
  tomcat:
    # 开放宽松请求字符集
    relaxed-query-chars: "[,]"
#    threads:
#      max: 200

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

# 日志
logging:
  #  config: classpath:log4j2.xml
  level:
    root: INFO # WARN
  pattern:
    console: "%d{yyyy-MM-dd-HH:mm:ss} [%thread] %highlight(%-5level) %logger- %msg%n"
    file: "%d{yyyy-MM-dd-HH:mm} [%thread] %highlight(%-5level) %logger- %msg%n"
  logback:
    rollingpolicy:
      max-history: 7
#    name: /Users/mure/MyProject/QuickLaunchSpring/BackendSys/log/springLog.log

# %d{HH:mm:ss.SSS}：日志输出时间。
# %thread：输出日志的进程名，这在Web应用以及异步任务处理中很有用。
# %-5level：日志级别，使用5个字符靠左对齐。
# %logger-：日志输出者的名称。
# %msg：日志消息。
# %n：平台的换行符

# 接口/路径白名单 (JWT/OAuth2)
# com/backendsys/config/Security/filter/JwtAuthenticationFilter.java
# com/backendsys/config/Security/SecurityConfig.java
whitelist:
  static:
    /,
    /*.html,
    /*.ico,
    /images/**,
    /uploads/**,
    /swagger-ui/index.html,
    /swagger-ui/**,
    /docs/**,
    /v3/**
  jwt:
    /api/webhook,
    /api/public/**,
    /api/v2/public/**,
    /api/system/auth/**,
    /api/v2/system/auth/**,
    /api/b2c/member/auth/**,
    /api/test/**,
    /ws/**,
    /wss/**


## 全局静态变量 ##
# HTTP EXCHANGE 远程地址
# HTTP_EXCHANGE_URI: https://jsonplaceholder.typicode.com

# [语言]
DEFAULT_LANGUAGE: zh

# [安全] 图形验证码 过期时间 60 秒
CAPTCHA_DURATION: 60000

# [安全] 系统用户登录 Token 过期时间 (86400000毫秒 = 1天 = 24小时) (如果 login.is_remember 则为7天)
#TOKEN_DURATION_SYSTEM: 86400000
# [安全] 会员用户登录 Token 过期时间 (604800000毫秒 = 7天)
TOKEN_DURATION_MEMBER: 604800000

# [安全] 限制同个用户调用接口的并发会话数量 (默认-1不限制)
# (防止恶意用户同时使用多个会话进行非法操作)
MAXIMUM_SESSIONS: -1

##监控器 Actuator
#management:
#  # 端点开放控制
#  endpoint:
#    # 打开 shutdown 接口，默认的时候仅有它是 false
#    shutdown:
#      enabled: true
#    # 端点全局配置
#    health:
#      show-details: always
#  endpoints:
#    web:
#      # 配置开放所有端点
#      exposure:
#        include: "*"
#      # 修改访问路径 2.0之前默认是/; 2.0及以后默认是/actuator可以通过这个属性值修改
#      base-path: /api/system/actuator


## 数据库表唯一值的错误提示配置
## (在全局异常 GlobalExceptionHandler 中的 handleDuplicateKeyException 配置)
#fieldMappings:
#  username: 用户名称已存在
#  nickname: 昵称已存在
#  role_name: 角色名称已存在
