Files
youlai-boot/src/main/resources/application-dev.yml
Ray.Hao 3cd2cf983a refactor(config): 下移 AI、flowable 与上传限制到各 profile
- 各 profile 分别声明 spring.ai.model、flowable 与 spring.servlet.multipart
- application.yml 只保留应用名、激活的 profile 与配置导入
2026-10-01 13:25:49 +08:00

289 lines
9.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
server:
port: 8000
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://www.youlai.tech:3306/youlai_admin?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true
username: youlai
password: 123456
data:
redis:
database: 0
host: www.youlai.tech
port: 6379
password: 123456
timeout: 10s
lettuce:
pool:
# 连接池最大连接数 默认8 ,负数表示没有限制
max-active: 8
# 连接池最大阻塞等待时间(使用负值表示没有限制) 默认-1
max-wait: -1
# 连接池中的最大空闲连接 默认8
max-idle: 8
# 连接池中的最小空闲连接 默认0
min-idle: 0
cache:
enabled: false
# 缓存类型 redis、none(不使用缓存)
type: redis
# 缓存时间(单位:ms)
redis:
time-to-live: 3600000
# 缓存null值,防止缓存穿透
cache-null-values: true
caffeine:
spec: initialCapacity=50,maximumSize=1000,expireAfterWrite=600s
# 邮件配置
mail:
host: smtp.youlai.tech
port: 587
username: your-email@example.com
password: 123456
properties:
smtp:
auth: true
starttls:
enable: true
# 邮件发送者
from: youlaitech@163.com
# AI 对话(本环境无默认密钥,默认关闭;演示环境配置见 application-youlai.yml)
ai:
# 装配开关:none 关闭,openai 启用
model:
chat: none
embedding: none
image: none
moderation: none
audio:
speech: none
transcription: none
# 启用后在此填写模型凭据与名称
openai:
# 厂商接口地址(OpenAI 兼容根地址)
base-url: https://dashscope.aliyuncs.com/compatible-mode/v1
# 厂商 API 密钥(本文件入版本库,用环境变量 AI_API_KEY 提供)
api-key: ${AI_API_KEY:}
chat:
options:
# 对话模型标识
model: qwen3.7-flash
# 采样温度,取值 0~1,越小输出越稳定
temperature: 0.3
# 百炼私有参数:推理模型的思考内容耗时可占整次调用的大头,false 关闭
extra-body:
enable_thinking: false
servlet:
multipart:
# 单文件大小上限,单一来源绑定 storage.upload.max-file-size
max-file-size: ${storage.upload.max-file-size:50MB}
max-request-size: ${storage.upload.max-file-size:50MB}
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
global-config:
db-config:
# 主键ID类型
id-type: none
# 逻辑删除对应的全局属性名(注意:须是对象属性名,不能是表字段名,如 isDeleted 而非 is_deleted,否则逻辑删除失效)
logic-delete-field: isDeleted
# 逻辑删除-删除值
logic-delete-value: 1
# 逻辑删除-未删除值
logic-not-delete-value: 0
configuration:
# 驼峰下划线转换
map-underscore-to-camel-case: true
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 接口限流
rate-limit:
default-limit: 60
default-window: 60s
ip:
enabled: true # 开发环境开启 IP 全局限流(供限流测试)
limit: 1000
window: 60s
# 安全配置
security:
token:
type: jwt # 令牌策略 [jwt|redis-token]
access-token-time-to-live: 7200 # 访问令牌 有效期(单位:秒),默认 2 小时,-1 表示永不过期
refresh-token-time-to-live: 604800 # 刷新令牌有效期(单位:秒),默认 7 天,-1 表示永不过期
jwt:
secret-key: SecretKey012345678901234567890123456789012345678901234567890123456789 # JWT密钥(HS256算法至少32字符)
redis-token:
allow-multi-login: true # 是否允许多设备登录
# 匿名放行路径,仅跳过认证与授权判断,仍走过滤器链(保留安全响应头)
permit-all-urls:
- /api/v1/auth/login # 登录接口(账号密码登录)
- /api/v1/auth/captcha # 验证码获取接口
- /api/v1/auth/sms/** # 短信验证码接口(发送验证码、短信登录)
- /api/v1/auth/refresh-token # 刷新令牌接口
- /api/v1/auth/wxma/** # 微信小程序认证接口(静默登录/手机号快捷登录/绑定手机号)
- /api/v1/auth/qr-code/** # 扫码登录接口(生成票据/查询状态/换取令牌)
- /api/v1/forms/public/** # 公开表单接口(匿名渲染/提交,Service 校验 is_public 总闸 + IP 限流)
- /api/v1/health # 健康检查接口(供探针与限流测试)
- ${springdoc.swagger-ui.path} # Swagger UI 路径
- /doc.html
- /swagger-ui/**
- /v3/api-docs/**
- /webjars/**
- /favicon.ico
- /error
# 文件存储
storage:
# 存储类型:s3 | aliyun | local
type: s3
# 上传限制
upload:
# 单文件大小上限(同时作为 spring.servlet.multipart 的上限,单一来源)
max-file-size: 50MB
# 允许的文件扩展名白名单(置空表示不限制)
allowed-extensions:
- jpg
- jpeg
- png
- gif
# S3 对象存储(S3 协议兼容服务,默认部署 RustFS)
s3:
endpoint: http://111.229.83.153:9000
access-key: bybaddp7zyARpgNbEGKf
secret-key: p9rBdQZPBIJcMH23iyFkZkXmmawbmwPlk3JLlaaj
bucket: public
# 自定义域名:配置后文件 URL 走域名,留空则用 endpoint(IP)格式
domain:
# 阿里云 OSS
aliyun:
endpoint: oss-cn-hangzhou.aliyuncs.com
access-key-id: your-access-key-id
access-key-secret: your-access-key-secret
bucket: default
# 本地存储
local:
# 存储根目录(相对路径基于工作目录;生产建议挂载独立卷)
path: ./uploads/
# springdoc 配置文档: https://springdoc.org/properties.html
springdoc:
swagger-ui:
path: /swagger-ui.html # Swagger UI 访问路径
operationsSorter: alpha # 接口按方法名排序
tags-sorter: alpha # 标签按字母排序
api-docs:
path: /v3/api-docs # OpenAPI JSON 地址
group-configs: # 分组配置
- group: "系统管理" # 分组名称
paths-to-match: "/**" # 匹配的请求路径
packages-to-scan: # 扫描的 Controller 包,限制只生成指定包的接口文档
- com.youlai.boot.auth.password.controller
- com.youlai.boot.auth.sms.controller
- com.youlai.boot.auth.qrcode.controller
- com.youlai.boot.auth.wxma.controller
- com.youlai.boot.auth.session.controller
- com.youlai.boot.system.controller
- com.youlai.boot.codegen.controller
- com.youlai.boot.module.form.controller
- com.youlai.boot.module.workflow.controller
default-flat-param-object: true
# knife4j 配置
knife4j:
enable: true
# 生产环境设置为 true 关闭文档
production: false
setting:
language: zh_cn
# 验证码配置
captcha:
# 验证码类型 circle-圆圈干扰验证码|gif-Gif验证码|line-干扰线验证码|shear-扭曲干扰验证码
type: circle
# 验证码宽度
width: 120
# 验证码高度
height: 40
# 验证码干扰元素个数
interfere-count: 2
# 文本透明度(0.0-1.0)
text-alpha: 0.8
# 验证码字符配置
code:
# 验证码字符类型 math-算术|random-随机字符
type: math
# 验证码字符长度,type=算术时,表示运算位数(1:个位数运算 2:十位数运算);type=随机字符时,表示字符个数
length: 1
# 验证码字体
font:
# 字体名称 Dialog|DialogInput|Monospaced|Serif|SansSerif
name: SansSerif
# 字体样式 0-普通|1-粗体|2-斜体
weight: 1
# 字体大小
size: 24
# 验证码有效期(秒)
expire-seconds: 120
# 短信配置
sms:
# 阿里云短信
aliyun:
accessKeyId: LTAI5tSMgfxxxxxxdiBJLyR
accessKeySecret: SoOWRqpjtS7xxxxxxZ2PZiMTJOVC
domain: dysmsapi.aliyuncs.com
regionId: cn-shanghai
signName: 有来技术
templates:
# 注册短信验证码模板
register: SMS_22xxx771
# 登录短信验证码模板
login: SMS_22xxx772
# 修改手机号短信验证码模板
change-mobile: SMS_22xxx773
# xxl-job 定时任务配置
xxl:
job:
# 定时任务开关
enabled: false
admin:
# 调度中心地址,多个地址用逗号分割;3.4.1 起调度中心 context-path 为 /,地址不带 /xxl-job-admin 后缀
addresses: http://127.0.0.1:8080
accessToken: default_token
executor:
appname: xxl-job-executor-${spring.application.name}
address:
ip:
port: 9999
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: 30
# 微信小程序配置
wx:
miniapp:
appid: your-app-id
secret: your-app-secret
# 工作流(可选扩展,开启只需将 enabled 改为 true,引擎开关自动跟随)
workflow:
enabled: false
demo:
# 演示流程自动部署开关
enabled: true
# 工作流引擎
flowable:
# 流程引擎跟随业务开关 workflow.enabled
process:
enabled: ${workflow.enabled:false}
# 用户与角色走系统自有体系(sys_user/sys_role),不启用 Flowable IDM 与事件注册表
idm:
enabled: false
eventregistry:
enabled: false
# 引擎表初始化策略,true 启动时检查并自动建/更新 ACT_* 表;可选 true/false/create/create-drop
database-schema-update: true