application.yaml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. spring:
  2. application:
  3. name: yudao-server
  4. profiles:
  5. active: local
  6. main:
  7. allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
  8. # Servlet 配置
  9. servlet:
  10. # 文件上传相关配置项
  11. multipart:
  12. max-file-size: 16MB # 单个文件大小
  13. max-request-size: 32MB # 设置总上传的文件大小
  14. mvc:
  15. pathmatch:
  16. matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类
  17. # throw-exception-if-no-handler-found: true # 404 错误时抛出异常,方便统一处理
  18. # static-path-pattern: /static/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!! TODO 芋艿:不能配置,会导致 swagger 不生效
  19. # Jackson 配置项
  20. jackson:
  21. serialization:
  22. write-dates-as-timestamps: true # 设置 Date 的格式,使用时间戳
  23. write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401
  24. write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
  25. fail-on-empty-beans: false # 允许序列化无属性的 Bean
  26. # Cache 配置项
  27. cache:
  28. type: REDIS
  29. redis:
  30. time-to-live: 1h # 设置过期时间为 1 小时
  31. --- #################### 接口文档配置 ####################
  32. springdoc:
  33. api-docs:
  34. enabled: true
  35. path: /v3/api-docs
  36. swagger-ui:
  37. enabled: true
  38. path: /swagger-ui
  39. default-flat-param-object: true # 参见 https://doc.xiaominfo.com/docs/faq/v4/knife4j-parameterobject-flat-param 文档
  40. knife4j:
  41. enable: true
  42. setting:
  43. language: zh_cn
  44. # 工作流 Flowable 配置
  45. flowable:
  46. # 1. false: 默认值,Flowable 启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常
  47. # 2. true: 启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表
  48. # 3. create_drop: 启动时自动创建表,关闭时自动删除表
  49. # 4. drop_create: 启动时,删除旧表,再创建新表
  50. database-schema-update: true # 设置为 false,可通过 https://github.com/flowable/flowable-sql 初始化
  51. db-history-used: true # flowable6 默认 true 生成信息表,无需手动设置
  52. check-process-definitions: false # 设置为 false,禁用 /resources/processes 自动部署 BPMN XML 流程
  53. history-level: audit # full:保存历史数据的最高级别,可保存全部流程相关细节,包括流程流转各节点参数
  54. # MyBatis Plus 的配置项
  55. mybatis-plus:
  56. configuration:
  57. map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。
  58. global-config:
  59. db-config:
  60. id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。
  61. # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库
  62. # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库
  63. # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解
  64. logic-delete-value: 1 # 逻辑已删除值(默认为 1)
  65. logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
  66. banner: false # 关闭控制台的 Banner 打印
  67. type-aliases-package: ${yudao.info.base-package}.module.*.dal.dataobject
  68. encryptor:
  69. password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成
  70. mybatis-plus-join:
  71. banner: false # 是否打印 mybatis plus join banner,默认true
  72. sub-table-logic: true # 全局启用副表逻辑删除,默认true。关闭后关联查询不会加副表逻辑删除
  73. ms-cache: true # 拦截器MappedStatement缓存,默认 true
  74. table-alias: t # 表别名(默认 t)
  75. logic-del-type: on # 副表逻辑删除条件的位置,支持 WHERE、ON,默认 ON
  76. # Spring Data Redis 配置
  77. spring:
  78. data:
  79. redis:
  80. repositories:
  81. enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度
  82. # VO 转换(数据翻译)相关
  83. easy-trans:
  84. is-enable-global: true # 启用全局翻译(拦截所有 SpringMVC ResponseBody 进行自动翻译 )。如果对于性能要求很高可关闭此配置,或通过 @IgnoreTrans 忽略某个接口
  85. is-enable-cloud: false # 禁用 TransType.RPC 微服务模式
  86. --- #################### 验证码相关配置 ####################
  87. aj:
  88. captcha:
  89. jigsaw: classpath:images/jigsaw # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  90. pic-click: classpath:images/pic-click # 滑动验证,底图路径,不配置将使用默认图片;以 classpath: 开头,取 resource 目录下路径
  91. cache-type: redis # 缓存 local/redis...
  92. cache-number: 1000 # local 缓存的阈值,达到这个值,清除缓存
  93. timing-clear: 180 # local定时清除过期缓存(单位秒),设置为0代表不执行
  94. type: blockPuzzle # 验证码类型 default两种都实例化。 blockPuzzle 滑块拼图 clickWord 文字点选
  95. water-mark: 芋道源码 # 右下角水印文字(我的水印),可使用 https://tool.chinaz.com/tools/unicode.aspx 中文转 Unicode,Linux 可能需要转 unicode
  96. interference-options: 0 # 滑动干扰项(0/1/2)
  97. req-frequency-limit-enable: false # 接口请求次数一分钟限制是否开启 true|false
  98. req-get-lock-limit: 5 # 验证失败 5 次,get接口锁定
  99. req-get-lock-seconds: 10 # 验证失败后,锁定时间间隔
  100. req-get-minute-limit: 30 # get 接口一分钟内请求数限制
  101. req-check-minute-limit: 60 # check 接口一分钟内请求数限制
  102. req-verify-minute-limit: 60 # verify 接口一分钟内请求数限制
  103. --- #################### 消息队列相关 ####################
  104. # rocketmq 配置项,对应 RocketMQProperties 配置类
  105. rocketmq:
  106. # Producer 配置项
  107. producer:
  108. group: ${spring.application.name}_PRODUCER # 生产者分组
  109. spring:
  110. # Kafka 配置项,对应 KafkaProperties 配置类
  111. kafka:
  112. # Kafka Producer 配置项
  113. producer:
  114. acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。
  115. retries: 3 # 发送失败时,重试发送的次数
  116. value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化
  117. # Kafka Consumer 配置项
  118. consumer:
  119. auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解
  120. value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
  121. properties:
  122. spring.json.trusted.packages: '*'
  123. # Kafka Consumer Listener 监听器配置
  124. listener:
  125. missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错
  126. --- #################### 芋道相关配置 ####################
  127. yudao:
  128. info:
  129. version: 1.0.0
  130. base-package: cn.iocoder.yudao
  131. web:
  132. admin-ui:
  133. url: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址
  134. security:
  135. permit-all_urls:
  136. - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录
  137. websocket:
  138. enable: true # websocket的开关
  139. path: /infra/ws # 路径
  140. sender-type: local # 消息发送的类型,可选值为 local、redis、rocketmq、kafka、rabbitmq
  141. sender-rocketmq:
  142. topic: ${spring.application.name}-websocket # 消息发送的 RocketMQ Topic
  143. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 RocketMQ Consumer Group
  144. sender-rabbitmq:
  145. exchange: ${spring.application.name}-websocket-exchange # 消息发送的 RabbitMQ Exchange
  146. queue: ${spring.application.name}-websocket-queue # 消息发送的 RabbitMQ Queue
  147. sender-kafka:
  148. topic: ${spring.application.name}-websocket # 消息发送的 Kafka Topic
  149. consumer-group: ${spring.application.name}-websocket-consumer # 消息发送的 Kafka Consumer Group
  150. swagger:
  151. title: 爱思平台信息化改造项目
  152. description: 提供管理后台、用户 App 的所有功能
  153. version: ${yudao.info.version}
  154. url: ${yudao.web.admin-ui.url}
  155. email: xingyu4j@vip.qq.com
  156. license: MIT
  157. license-url: https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE
  158. captcha:
  159. enable: false # 验证码的开关,默认为 true
  160. codegen:
  161. base-package: ${yudao.info.base-package}
  162. db-schemas: ${spring.datasource.dynamic.datasource.master.name}
  163. front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
  164. tenant: # 多租户相关配置项
  165. enable: true
  166. ignore-urls:
  167. - /admin-api/system/tenant/get-id-by-name # 基于名字获取租户,不许带租户编号
  168. - /admin-api/system/tenant/get-by-website # 基于域名获取租户,不许带租户编号
  169. - /admin-api/system/captcha/get # 获取图片验证码,和租户无关
  170. - /admin-api/system/captcha/check # 校验图片验证码,和租户无关
  171. - /admin-api/infra/file/*/get/** # 获取图片,和租户无关
  172. - /admin-api/system/sms/callback/* # 短信回调接口,无法带上租户编号
  173. - /admin-api/pay/notify/** # 支付回调通知,不携带租户编号
  174. - /jmreport/* # 积木报表,无法携带租户编号
  175. - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,无法携带租户编号
  176. - /admin-api/system/auth/send-sms-code # 发送短信验证码,和租户无关
  177. - /admin-api/system/auth/sms-login # 使用验证码登录,和租户无关
  178. - /admin-api/system/auth/sms-register # 使用验证码注册,和租户无关
  179. - /admin-api/system/user/profile/reset-password # 使用验证码重置密码,和租户无关
  180. # - /admin-api/system/auth/login # 使用账号登录,和租户无关
  181. # - /admin-api/system/tenant/create # 创建租户,不携带租户编号
  182. # - /admin-api/system/tenant/join # 加入租户,不携带租户编号
  183. # - /admin-api/system/tenant/change # 切换租户,不携带租户编号
  184. # - /admin-api/presonnel/employee/create # 创建员工,不携带租户编号
  185. - /admin-api/system/auth/getCurrentTenantIdByUsername # 通过用户账号获取租户列表,不携带租户编号
  186. # - /admin-api/system/tenant/getOwnCreateTenants # 获取自己的创建的租户列表,不携带租户编号
  187. # - /admin-api/system/tenant/getOwnJoinTenants # 获取自己的加入的租户列表,不携带租户编号
  188. ignore-tables:
  189. - system_tenant
  190. - system_tenant_package
  191. - system_dict_data
  192. - system_dict_type
  193. - system_error_code
  194. - system_menu
  195. - system_menu_copy1
  196. - system_sms_channel
  197. - system_sms_template
  198. - system_sms_log
  199. - system_sensitive_word
  200. - system_oauth2_client
  201. - system_mail_account
  202. - system_mail_template
  203. - system_mail_log
  204. - system_notify_template
  205. - infra_codegen_column
  206. - infra_codegen_table
  207. - infra_config
  208. - infra_file_config
  209. - infra_file
  210. - infra_file_content
  211. - infra_job
  212. - infra_job_log
  213. - infra_job_log
  214. - infra_data_source_config
  215. - jimu_dict
  216. - jimu_dict_item
  217. - jimu_report
  218. - jimu_report_data_source
  219. - jimu_report_db
  220. - jimu_report_db_field
  221. - jimu_report_db_param
  222. - jimu_report_link
  223. - jimu_report_map
  224. - jimu_report_share
  225. - rep_demo_dxtj
  226. - rep_demo_employee
  227. - rep_demo_gongsi
  228. - rep_demo_jianpiao
  229. - tmp_report_data_1
  230. - tmp_report_data_income
  231. sms-code: # 短信验证码相关的配置项
  232. expire-times: 2m
  233. send-frequency: 30s
  234. send-maximum-quantity-per-day: 1000
  235. begin-code: 0001 # 这里配置 9999 的原因是,测试方便。
  236. end-code: 9999 # 这里配置 9999 的原因是,测试方便。
  237. trade:
  238. order:
  239. app-id: 1 # 商户编号
  240. pay-expire-time: 2h # 支付的过期时间
  241. receive-expire-time: 14d # 收货的过期时间
  242. comment-expire-time: 7d # 评论的过期时间
  243. express:
  244. client: kd_niao
  245. kd-niao:
  246. api-key: cb022f1e-48f1-4c4a-a723-9001ac9676b8
  247. business-id: 1809751
  248. kd100:
  249. key: pLXUGAwK5305
  250. customer: E77DF18BE109F454A5CD319E44BF5177
  251. debug: false
  252. # 积木报表配置
  253. jeecg:
  254. jmreport:
  255. saas-mode: tenant