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

# 开发环境配置
server:
  # 服务器的HTTP端口，默认为8080
  port: 8081
  forward-headers-strategy: framework
  servlet:
    # 应用的访问路径
    context-path: /
  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: debug
    org.springframework: warn

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

# Spring配置
spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles:
    active: druid
  # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size: 10MB
      # 设置总上传的文件大小
      max-request-size: 20MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
  # redis 配置
  redis:
    # 地址
    host: localhost
    # 端口，默认为6379
    port: 6379
    # 数据库索引
    database: 0
    # 密码 abcd1234 fe2b3cef78b74d3692909bdcbdf46331 KeLunPu123!
    password:
    #password:
    # 连接超时时间
    timeout: 10s
    lettuce:
      pool:
        # 连接池中的最小空闲连接
        min-idle: 0
        # 连接池中的最大空闲连接
        max-idle: 8
        # 连接池的最大数据库连接数
        max-active: 8
        # #连接池最大阻塞等待时间（使用负值表示没有限制）
        max-wait: -1ms

  rabbitmq:
    username: admin
    password: admin
    virtual-host: /
    host: 127.0.0.1
    port: 5672
    listener:
      simple:
        retry:
          enabled: true
          max-attempts: 1
          max-interval: 200
  task:
    scheduling:
      pool:
        size: 8  #配置Scheduled定时任务为多线程

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

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

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

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

#rocketmq:
  #name-server: 127.0.0.1:9876
  #producer:
    #group: test

springdoc:
  api-docs:
    path: /v3/api-docs
  swagger-ui:
    enabled: true
    path: /swagger-ui.html
    tags-sorter: alpha
  group-configs:
    - group: 'default'
      display-name: 'default'
      paths-to-match: '/api/**'
      packages-to-scan: com.fizz.business.controller


knife4j:
  enable: true                  # 启用 Knife4j
  setting:
    language: zh-CN             # 中文界面
    enable-swagger-model: true   # 显示模型
    enable-document-manage: true # 启用文档管理
  cors: true                    # 允许跨域

kangaroohy:
  milo:
    enabled: false
    primary: default
    config:
      default:
        endpoint: opc.tcp://192.168.0.196:49320
        security-policy: none
    pool:
      max-idle: 5
      max-total: 20
      min-idle: 2
      initial-size: 3

# iot-communication（S7）写入开关与连接参数
# 注意：写入使用 iot-communication；读取逻辑仍沿用 OPC 现有体系
iot:
  communication:
    enabled: true
    s7:
      ip: 127.0.0.1
      port: 102
      rack: 0
      slot: 1
      plc-type: S1200


#kangaroohy:
#  milo:
#    primary: default
#    config:
#      default:
#        endpoint: opc.tcp://127.0.0.1:49320
#        security-policy: basic256sha256
#        username: OPCUA
#        password: 123456
#      test:
#        endpoint: opc.tcp://127.0.0.1:49321
#        security-policy: basic256sha256
#        username: OPCUA
#        password: 123456