签入版本

This commit is contained in:
小蚂蚁云
2026-10-20 19:07:36 +08:00
commit 1b9bdac12f
882 changed files with 106953 additions and 0 deletions
+156
View File
@@ -0,0 +1,156 @@
# ======================================================================
# EasyGoAdmin 运行时配置
# 环境变量覆盖规则(12-Factor:环境变量 > 配置文件):
# 键名 = 配置路径大写、点换下划线并加 GF_ 前缀,
# 例如 database.default.link → GF_DATABASE_DEFAULT_LINK;
# 覆盖经 utility/config 在启动时接线(RegisterEnvOverride),
# 仅覆盖本文件中已存在的键,空值视为未设置
# ======================================================================
# ----------------------------------------------------------------------------
# 服务端:监听地址、OpenAPI 文档与优雅重启
# ----------------------------------------------------------------------------
server:
address: ":8000" # 监听地址与端口
openapiPath: "/api.json" # OpenAPI 文档路径(gf 原生自动生成,bind.go 补注册闭包路由)
swaggerPath: "" # Swagger UI 路径(内置页依赖境外 CDN,已改为本地托管 resource/swagger/)
dumpRouterMap: false # 启动时是否打印路由表
errorStack: true # 响应中是否携带错误堆栈
graceful: true # 是否开启优雅重启
# ----------------------------------------------------------------------------
# 日志:级别、输出目标与文件目录
# ----------------------------------------------------------------------------
logger:
level: "all" # 日志级别
stdout: true # 是否输出到控制台
path: "log" # 日志文件目录
# ----------------------------------------------------------------------------
# 多数据库:切换数据库仅需修改 type 与 link(五方言示例)
# ----------------------------------------------------------------------------
database:
default:
type: "mysql" # 数据库类型
link: "mysql:root:root@tcp(127.0.0.1:3306)/easygoadmin.goframe.elevue?charset=utf8mb4&parseTime=true&loc=Local" # 连接串
debug: false # 是否打印 SQL 调试日志(调试期开启,生产环境改回 false)
# 其他方言示例:
# type: "pgsql" link: "pgsql:user:password@tcp(127.0.0.1:5432)/easygoadmin?sslmode=disable"
# type: "mssql" link: "mssql:sa:Password1@tcp(127.0.0.1:1433)/easygoadmin?encrypt=disable"
# type: "oracle" link: "oracle:user:password@tcp(127.0.0.1:1521)/XE"
# type: "sqlite" link: "sqlite::@file(easygoadmin.db)"
# ----------------------------------------------------------------------------
# Redis:缓存连接(JWT 黑名单、验证码、字典、租户与身份缓存)
# ----------------------------------------------------------------------------
redis:
default: # 分组名(g.Redis() 默认组)
address: "127.0.0.1:6379" # 地址
db: 0 # 库编号
pass: "123456" # 密码
idle: 10 # 空闲连接数
maxActive: 50 # 最大活跃连接数
timeout: 300 # 超时时间(秒)
# ----------------------------------------------------------------------------
# JWT 双令牌:accessToken 短时效 + refreshToken 长时效轮换
# ----------------------------------------------------------------------------
jwt:
secret: "easygoadmin-goframe-elevue-jwt-secret-2026" # 签名密钥
issuer: "easygoadmin" # 签发者
accessTokenExpire: 7200 # 访问令牌有效期(秒),2 小时
refreshTokenExpire: 604800 # 刷新令牌有效期(秒),7 天
# ----------------------------------------------------------------------------
# 图形验证码:字符集、图片尺寸与干扰参数
# ----------------------------------------------------------------------------
captcha:
expire: 300 # 有效期(秒)
bypassCode: "618618" # 万能验证码:携带该值免校验,仅开发调试使用,生产环境留空
length: 6 # 字符数,取值范围 4 到 8
chars: "ABCDEFGHJKLMNPQRSTUVWXYZ23456789" # 字符集,已排除 0O、1lI 等易混淆字符
fontPath: "resource/static/fonts/Vera.ttf" # TTF 字体路径(相对项目根),缺失时降级为 SVG 渲染
imageWidth: 160 # 图片宽度(像素),字符放不下时自动加宽防裁剪
imageHeight: 50 # 图片高度(像素)
fontSize: 40 # 字体大小
noiseLines: 8 # 干扰线数量,越多越难识别,影响可读性
noiseDots: 500 # 噪点数量,越多越难识别,影响可读性
# ----------------------------------------------------------------------------
# API 限流:固定窗口计数(键含窗口起点,缓存层 Redis 优先、内存降级)
# ----------------------------------------------------------------------------
rateLimit:
enable: true # 是否启用限流
limit: 120 # 普通接口每窗口每 IP 每路径最大请求数,0 关闭普通限流
windowSeconds: 60 # 计数窗口(秒)
authLimit: 10 # 登录/验证码/令牌兑换每窗口每 IP 最大请求数(更严格)
# ----------------------------------------------------------------------------
# 操作日志:总开关与查询类记录开关
# ----------------------------------------------------------------------------
operationLog:
enable: true # 是否启用操作日志
logQuery: true # 是否记录查询类操作
# ----------------------------------------------------------------------------
# 定时任务:日志保留天数(LogClean 任务消费,任务参数可覆盖)
# ----------------------------------------------------------------------------
job:
logRetentionDays: 90 # 操作/登录/任务日志保留天数,超期由 LogClean 任务物理删除
# ----------------------------------------------------------------------------
# 租户:超管新增租户级数据时的默认归属
# ----------------------------------------------------------------------------
tenant:
defaultId: 1 # 超管新增租户级数据时的默认归属租户ID,显式指定租户时从显式值
# ----------------------------------------------------------------------------
# 应用参数:时区、演示模式与错误信息开关
# ----------------------------------------------------------------------------
app:
timezone: "Asia/Shanghai" # 应用时区
demo: false # 演示模式:为 true 时写操作一律拒绝,读操作与登录类公开接口放行
errorMsg: true # 是否返回详细错误信息,生产环境建议置为 false
# ----------------------------------------------------------------------------
# API:驼峰转换与受信代理
# ----------------------------------------------------------------------------
api:
camelSnakeConvert: true # 是否启用驼峰与下划线自动转换,本项目全链路驼峰,恒开
# 受信代理列表,逗号分隔并支持 CIDR;
# 直连来源在此列表内才信任 X-Forwarded-For 与 X-Real-IP
# 172.16.0.0/12 为 Docker 网桥默认网段:容器端口映射模式下 TCP 对端恒为
# 网桥网关(如 172.19.0.1),CDN/反代回源经 NAT 后须凭此段进入 XFF 取真实 IP;
# 宿主机 Nginx 反代场景再补宿主机 IP 或其网段;勿配置 0.0.0.0/0(等于允许任意伪造)
proxyIps: "127.0.0.1,::1,172.16.0.0/12,101.226.0.0/15,112.65.0.0/16,140.207.0.0/16,180.101.0.0/16,182.254.0.0/16,223.166.0.0/16"
# ----------------------------------------------------------------------------
# 跨域:允许来源
# ----------------------------------------------------------------------------
cors:
allowOrigin: "*" # 允许的来源,为空或 * 时使用框架内置策略
# ----------------------------------------------------------------------------
# 文件上传:临时目录中转,提交保存时转正至正式目录
# ----------------------------------------------------------------------------
file:
uploadDir: "E:\\EasyGoAdmin_V3\\EasyGoAdmin_GoFrame_EleVue\\upload" # 物理根目录,相对项目根
domainUrl: "http://file.goframe.elevue" # 文件访问域名,为空时使用 /upload/ 相对路径
tempDir: "temp" # 临时目录名,位于 uploadDir 下
imageExt: "gif,jpg,jpeg,png,bmp,webp,svg" # 允许的图片扩展名
fileExt: "gif,jpg,jpeg,png,bmp,webp,svg,doc,docx,xls,xlsx,ppt,pptx,pdf,zip,rar,txt,csv,mp3,mp4,sql,js,css" # 允许的文件扩展名
maxSize: 10 # 单文件大小上限(MB)
tempExpireDays: 7 # 临时目录保留天数,超期自动清理,0 表示不清理
# ----------------------------------------------------------------------------
# 代码生成器:菜单挂载位置与文件覆盖策略
# ----------------------------------------------------------------------------
generator:
parentMenuId: 189 # 新模块菜单挂载的父级ID
overwrite: true # 是否覆盖已存在文件:true 生成即覆盖,false 或未配置时缺失补生成、存在跳过
# ----------------------------------------------------------------------------
# 归属地库:供登录日志与操作日志的归属地解析使用
# ----------------------------------------------------------------------------
ip2region:
path: "manifest/data/ip2region.xdb" # 归属地库文件路径
Binary file not shown.