server:
  port: 8080

spring:
  application:
    name: ops-plugin
  jmx:
    enabled: true

  thymeleaf:
    prefix: classpath:/templates/
    encoding: UTF-8
    cache: false
    suffix: .html
    servlet:
      content-type: text/html
  profiles:
    active: dev

  main:
    allow-circular-references: true # 允许循环依赖，因为项目是三层架构，无法避免这个情况。
  #    allow-bean-definition-overriding: true # Servlet 配置
  servlet:
    # 文件上传相关配置项
    multipart:
      max-file-size: 64MB # 单个文件大小
      max-request-size: 128MB # 设置总上传的文件大小
      enabled: true
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题，参见 SpringFoxHandlerProviderBeanPostProcessor 类
  #    throw-exception-if-no-handler-found: true # 404 错误时抛出异常，方便统一处理
  #    static-path-pattern: /static/** # 静态资源路径; 注意：如果不配置，则 throw-exception-if-no-handler-found 不生效！！！ TODO 芋艿：不能配置，会导致 swagger 不生效

  # Jackson 配置项
  jackson:
    serialization:
      write-dates-as-timestamps: true # 设置 Date 的格式，使用时间戳
      write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401，而是直接 1611460870401
      write-durations-as-timestamps: true # 设置 Duration 的格式，使用时间戳
      fail-on-empty-beans: false # 允许序列化无属性的 Bean

  # 数据源配置项
  autoconfigure:
    exclude:
      - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置，使用 dynamic-datasource-spring-boot-starter 配置多数据源
  datasource:
    druid: # Druid 【监控】相关的全局配置
      web-stat-filter:
        enabled: true
      stat-view-servlet:
        enabled: true
        allow: # 设置白名单，不填则允许所有访问
        url-pattern: /druid/*
        login-username: # 控制台管理用户名和密码
        login-password:
      filter:
        stat:
          enabled: true
          log-slow-sql: true # 慢 SQL 记录
          slow-sql-millis: 100
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true
    dynamic: # 多数据源配置
      druid: # Druid 【连接池】相关的全局配置
        initial-size: 1 # 初始连接数
        min-idle: 1 # 最小连接池数量
        max-active: 20 # 最大连接池数量
        max-wait: 600000 # 配置获取连接等待超时的时间，单位：毫秒
        time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测，检测需要关闭的空闲连接，单位：毫秒
        min-evictable-idle-time-millis: 300000 # 配置一个连接在池中最小生存的时间，单位：毫秒
        max-evictable-idle-time-millis: 900000 # 配置一个连接在池中最大生存的时间，单位：毫秒
        validation-query: SELECT 1 FROM DUAL # 配置检测连接是否有效
        test-while-idle: true
        test-on-borrow: false
        test-on-return: false
      primary: mysql
      datasource:
        # mysql:
        #   name: ops-pro
        #   url: jdbc:mysql://120.48.68.245:13306/${spring.datasource.dynamic.datasource.mysql.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
        #   username: root
        #   password: 1qaz!QAZ
        mysql:
          name: ops_pro
          url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.mysql.name}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
          username: root
          password: 1qaz!QAZ
    driver-class-name: org.sqlite.JDBC
    url: jdbc:sqlite:D:/db/sqlitest.db
  # Redis 配置。Redisson 默认的配置足够使用，一般不需要进行调优



logging:
  level:
    org.pf4j: debug

ops:
  info:
    version: 2.0.0
    base-package: cd.casic
  web:
    admin-ui:
      url: 127.0.0.1 # Admin 管理后台 UI 的地址
  security:
    permit-all_urls:
      - /admin-api/mp/open/** # 微信公众号开放平台，微信回调接口，不需要登录
  websocket:
    enable: true # websocket的开关
    path: /websocket/message # 路径
    maxOnlineCount: 0 # 最大连接人数
    sessionMap: true # 保存sessionMap
  swagger:
    title: Ops平台
    description: 提供管理后台、用户 App 的所有功能
    version: ${ops.info.version}
    url: ${ops.web.admin-ui.url}
    license: MIT
  codegen:
    base-package: ${ops.info.base-package}
    db-schemas: ${spring.datasource.dynamic.datasource.master.name}
    front-type: 10 # 前端模版的类型，参见 CodegenFrontTypeEnum 枚举类
  error-code: # 错误码相关配置项
    constants-class-list:
      - cd.casic.ops.module.infra.enums.ErrorCodeConstants
      - cd.casic.ops.module.member.enums.ErrorCodeConstants
      - cd.casic.ops.module.system.enums.ErrorCodeConstants
      #- cd.casic.ops.module.mp.enums.ErrorCodeConstants
  tenant: # 多租户相关配置项
    enable: true
    ignore-urls:
      - /admin-api/system/tenant/get-id-by-name # 基于名字获取租户，不许带租户编号
      - /admin-api/system/captcha/get # 获取图片验证码，和租户无关
      - /admin-api/system/captcha/check # 校验图片验证码，和租户无关
      - /admin-api/infra/file/*/get/** # 获取图片，和租户无关
      - /admin-api/system/sms/callback/* # 短信回调接口，无法带上租户编号
      - /admin-api/pay/notify/callback/* # 支付回调通知，不携带租户编号
      - /jmreport/* # 积木报表，无法携带租户编号
      - /admin-api/mp/open/** # 微信公众号开放平台，微信回调接口，无法携带租户编号
      - /admin-api/leafAlloc/** # id配置接口，和租户无关
    ignore-tables:
      - system_tenant
      - system_tenant_package
      - system_dict_data
      - system_dict_type
      - system_error_code
      - system_menu
      - system_sensitive_word
      - system_oauth2_client
      - system_notify_template
      - infra_codegen_column
      - infra_codegen_table
      - infra_test_demo
      - infra_config
      - infra_file_config
      - infra_file
      - infra_file_content
      - infra_job
      - infra_job_log
      - infra_job_log
      - infra_data_source_config
      - jimu_dict
      - jimu_dict_item
      - jimu_report
      - jimu_report_data_source
      - jimu_report_db
      - jimu_report_db_field
      - jimu_report_db_param
      - jimu_report_link
      - jimu_report_map
      - jimu_report_share
      - rep_demo_dxtj
      - rep_demo_employee
      - rep_demo_gongsi
      - rep_demo_jianpiao
      - tmp_report_data_1
      - tmp_report_data_income
  trade:
    order:
      app-id: 1 # 商户编号
      expire-time: 2h # 支付的过期时间

debug: false

mongo-plus:
  data:
    mongodb:
      host: 127.0.0.1   #ip
      port: 27017   #端口
      database: learn    #数据库名
      connectTimeoutMS: 50000   #在超时之前等待连接打开的最长时间（以毫秒为单位）

cd:
  casic:
    ops:
      plugin:
        # 测试的时候写相对于工程根目录的相对路径，Paths.get就能读到
        enable: true
        mode: development # 插件运行模式，可选值：development、deployment
        rest-path-prefix: plugins
        enable-plugin-id-as-rest-prefix: true
        plugins-root: ops\ops-module-plugins\ops-module-plugins-example # 插件根目录
        #upload-path: ops-module-plugins\ops-module-plugins-example # 插件jar包上传路径
#        plugins-root: ${user.home}/.ops/plugins # 上线之后可以通过环境变量设置固定的路径

springdoc:
  swagger-ui:
    disable-swagger-default-url: true