spring: application: name: ops-server profiles: active: local main: allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 # Servlet 配置 servlet: # 文件上传相关配置项 multipart: max-file-size: 2GB # 单个文件大小 max-request-size: 10GB # 设置总上传的文件大小 # 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 # Cache 配置项 cache: type: REDIS redis: time-to-live: 1h # 设置过期时间为 1 小时 server: servlet: encoding: enabled: true charset: UTF-8 # 必须设置 UTF-8,避免 WebFlux 流式返回(AI 场景)会乱码问题 force: true --- #################### 接口文档配置 #################### springdoc: api-docs: enabled: true path: /v3/api-docs swagger-ui: enabled: true path: /swagger-ui default-flat-param-object: true # 默认 false,开启后,接口文档中,将把所有参数都展开,方便查看,这个是springdoc-openapi的新特性 knife4j: enable: true setting: language: zh_cn # MyBatis Plus 的配置项 mybatis-plus: configuration: map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 global-config: db-config: id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库 # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库 # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) banner: false # 关闭控制台的 Banner 打印 type-aliases-package: ${yudao.info.base-package}.module.*.dal.dataobject encryptor: password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成 mybatis-plus-join: banner: false # 是否打印 mybatis plus join banner,默认true sub-table-logic: true # 全局启用副表逻辑删除,默认true。关闭后关联查询不会加副表逻辑删除 ms-cache: true # 拦截器MappedStatement缓存,默认 true table-alias: t # 表别名(默认 t) logic-del-type: on # 副表逻辑删除条件的位置,支持 WHERE、ON,默认 ON # Spring Data Redis 配置 spring: data: redis: repositories: enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度 # VO 转换(数据翻译)相关 easy-trans: is-enable-global: true # 启用全局翻译(拦截所有 SpringMVC ResponseBody 进行自动翻译 )。如果对于性能要求很高可关闭此配置,或通过 @IgnoreTrans 忽略某个接口 --- #################### 消息队列相关 #################### spring: # Kafka 配置项,对应 KafkaProperties 配置类 kafka: # Kafka Producer 配置项 producer: acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。 retries: 3 # 发送失败时,重试发送的次数 value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化 # Kafka Consumer 配置项 consumer: auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解 value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer properties: spring.json.trusted.packages: '*' # Kafka Consumer Listener 监听器配置 listener: missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错 --- #################### 平台相关配置 #################### ops: info: version: 1.0.0 base-package: cd.casic web: admin-ui: url: 127.0.0.1:8080 # Admin 管理后台 UI 的地址 xss: enable: false exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 security: permit-all_urls: - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录 websocket: enable: true # websocket的开关 path: /infra/ws # 路径 sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq sender-rocketmq: topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group sender-rabbitmq: exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue sender-kafka: topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group swagger: title: ops-pro平台 description: 提供管理后台、用户 App 的所有功能 version: ${ops.info.version} url: ${ops.web.admin-ui.url} email: sb@ht706.com tenant: # 多租户相关配置项 enable: true ignore-urls: - /admin-api/system/tenant/get-id-by-name # 基于名字获取租户,不许带租户编号 - /admin-api/system/tenant/get-by-website # 基于域名获取租户,不许带租户编号 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_mail_account - system_mail_template - system_mail_log - system_notify_template - infra_config - infra_file_config - infra_file - infra_file_content - infra_job - infra_job_log - infra_job_log - infra_data_source_config ignore-caches: - user_role_ids - permission_menu_ids - oauth_client - notify_template - mail_account - mail_template debug: false