# 项目相关配置
cmvr-iot:
  # 名称
  name: cmvr-iot
  # 版本
  version: 1.0.0
  # 版权年份
  copyrightYear: 2025
  # 文件路径 示例（ Windows配置D:/cmvr-iot/uploadPath，Linux配置 /home/cmvr-iot/uploadPath）
  profile: D:/cmvr-iot/uploadPath
  # 获取ip地址开关
  addressEnabled: false
  # 验证码类型 math 数字计算 char 字符验证
  captchaType: math

# 开发环境配置
server:
  servlet:
    # 应用的访问路径
    context-path: /
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # PPE报警包含Base64图片，允许读取较大的JSON请求，同时限制异常请求的吞入大小
    max-http-form-post-size: 20MB
    max-swallow-size: 20MB
    # 连接数满后的排队数，默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数，默认为200
      max: 800
      # Tomcat启动初始化的线程数，默认值10
      min-spare: 100

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

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

# Spring配置
spring:
  sql:
    init:
      mode: always
      schema-locations: classpath:db/notice-schema.sql
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles:
    active: test
  # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size: 100MB
      # 设置总上传的文件大小
      max-request-size: 200MB

# token配置
token:
  # 令牌自定义标识
  header: Authorization
  # 令牌密钥
  secret: abcdefghijklmnopqrstuvwxyz
  # 令牌有效期（默认30分钟）
  expireTime: 2147483647

# Mybatis-plus的配置
mybatis-plus:
  # 对应的 XML 文件位置
  mapperLocations: classpath*:mapper/**/*Mapper.xml
  # 实体扫描，多个package用逗号或者分号分隔
  typeAliasesPackage: com.cmvr.**.domain
  configuration:
    # 驼峰命名
    mapUnderscoreToCamelCase: true
    # 是否开启缓存
    cacheEnabled: true
    # 日志输出
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl


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

# Swagger配置
swagger:
  # 是否开启swagger
  enabled: true
  # 请求前缀
  pathMapping: /
knife4j:
  # 生产环境可开启屏蔽文档资源
  production: false
  # 是否开启Knife4j增强界面
  enable: true
  setting:
    language: zh-CN
    enableRequestCache: true
    enableSwaggerModels: true
    swaggerModelName: 数据模型

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

# Integrated QUIC gateway and in-process node synchronization.
cmvr:
  quic:
    enabled: true
    bind-host: 0.0.0.0
    port: 4433
    grpc-host-source: observed-source
    alpn: cmvr-quic-edge/1
    allowed-node-ids: ""
    tls:
      certificate: "certs/quic-gateway.crt"
      private-key: "certs/quic-gateway.key"
      require-client-certificate: false
      client-ca: ""
    heartbeat-interval-ms: 5000
    heartbeat-timeout-ms: 15000
    idle-timeout-ms: 30000
    maximum-control-frame-bytes: 1048576
    datagram-queue-length: 1024
    maximum-frame-bytes: 8388608
    maximum-reassembly-bytes: 67108864
    maximum-reassembly-frames: 256
    reassembly-timeout-ms: 2000
    media-subscriber-queue-capacity: 64

springdoc:
  api-docs:
    path: /v3/api-docs
  swagger-ui:
    enabled: true
    path: /swagger-ui.html
