hotgo/server/manifest/config/config.example.yaml

305 lines
14 KiB
Go
Raw Normal View History

# 应用名称
appName: "hotgo"
2022-11-24 23:37:34 +08:00
# hotgo配置
hotgo:
2023-01-25 17:49:16 +08:00
# debug开关开启后接口出现错误时会向前端输出堆栈信息默认为true
debug: true
# IP归属地解析方法可选cz88|whois默认为whois
ipMethod: "whois"
# 是否为演示系统 false|true
2023-01-25 17:49:16 +08:00
isDemo: false
# 全局请求日志
log:
switch: true # 日志开关默认为true
queue: true # 是否启用队列启用时需要配置队列信息默认为true
module: [ "admin", "api", "default" ] # 需要记录的模块
skipCode: [ ] # 不记录的状态码 ["0", "-1"]
2023-01-25 17:49:16 +08:00
# 系统日志用于在后台统计异常日志
serveLog:
switch: true # 日志开关默认为true
queue: true # 是否启用队列启用时需要配置队列信息默认为true
levelFormat: ["WARN", "ERRO", "FATA", "PANI"] # 需要记录的等级
# admin
2022-11-24 23:37:34 +08:00
admin:
superIds: [ 1 ] # 后台超管账号ID通过ID验证超管
superRoleKey: "super" # 超管角色唯一标识符通过角色验证超管
defaultPage: 10 # 列表分页默认加载数量
defaultPageSize: 1 # 列表分页默认加载页码
maxSortIncrement: 10 # 最大排序值增量
2022-11-24 23:37:34 +08:00
# gf配置
server:
address: ":8000"
openapiPath: "/api.json"
swaggerPath: "/swagger"
serverRoot: "resource/public"
DumpRouterMap: false
logPath: "logs/server"
ErrorStack: true # 当Server捕获到异常时是否记录堆栈信息到日志中默认为true
ErrorLogEnabled: true # 是否记录异常日志信息到日志中默认为true
errorLogPattern: "error/{Y-m-d}.log" # 异常错误日志文件格式默认为"error-{Ymd}.log"
accessLogEnabled: true # 是否记录访问日志默认为false
accessLogPattern: "access/{Y-m-d}.log" # 访问日志文件格式默认为"access-{Ymd}.log"
maxHeaderBytes: "100KB" # 请求头大小限制请求头包括客户端提交的Cookie数据默认设置为100KB
clientMaxBodySize: "200MB" # 客户端提交的Body大小限制同时也影响文件上传大小默认设置为200MB
2022-11-24 23:37:34 +08:00
serverAgent: "HG HTTP Server"
# PProf配置
pprofEnabled: true # 是否开启PProf性能调试特性默认为false
pprofPattern: "/pprof" # 开启PProf时有效表示PProf特性的页面访问路径对当前Server绑定的所有域名有效
# 服务日志配置
logger:
level: "all"
flags: 42
rotateExpire: "7d" # 日志保留天数
rotateBackupLimit: 2 # 最大备份数量
rotateBackupCompress: 2 # 日志文件压缩级别0-9,9最高
2022-11-24 23:37:34 +08:00
tcp:
# 服务器
server:
address: ":8099"
# 客户端
client:
# 定时任务
cron:
group: "cron" # 分组名称
name: "cron1" # 客户端名称
address: "127.0.0.1:8099" # 服务器地址
appId: "1002" # 应用名称
secretKey: "hotgo" # 密钥
# 系统授权
auth:
group: "auth" # 分组名称
name: "auth1" # 客户端名称
address: "127.0.0.1:8099" # 服务器地址
appId: "mengshuai" # 应用名称
secretKey: "123456" # 密钥
# 统一默认日志配置
defaultLogger: &defaultLogger
2023-01-25 17:49:16 +08:00
level: "all"
flags: 42
2023-01-25 17:49:16 +08:00
file: "{Y-m-d}.log" # 日志文件格式默认为"{Y-m-d}.log"
stdoutColorDisabled: false # 关闭终端的颜色打印默认开启
writerColorEnable: false # 日志文件是否带上颜色默认false表示不带颜色
rotateExpire: "7d" # 日志保留天数
rotateBackupLimit: 2 # 最大备份数量
rotateBackupCompress: 2 # 日志文件压缩级别0-9,9最高
2023-01-25 17:49:16 +08:00
# 日志配置
logger:
# 全局日志g.Log()
path: "logs/logger" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# 定时任务g.Log("cron")
cron:
path: "logs/cron" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# 消息队列g.Log("cron")
queue:
path: "logs/queue" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# tcp服务器g.Log("tcpServer")
tcpServer:
path: "logs/tcpServer" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
# tcp客户端g.Log("tcpClient")
tcpClient:
path: "logs/tcpClient" # 日志文件路径默认为空表示关闭仅输出到终端
<<: *defaultLogger
2023-01-25 17:49:16 +08:00
# 模板配置
viewer:
paths: "resource/template"
defaultFile: "index.html"
delimiters: ["@{", "}"]
homeLayout: "home/index.html"
# 内容设置
setting:
title: "HotGo"
keywords: "中后台解决方案,gf框架,vue3"
description: "hotgo 是一个基于 goframe2vue3vite2TypeScriptuinapp 的中后台解决方案,它可以帮助你快速搭建企业级中后台项目,相信不管是从新技术使用还是其他方面,都能帮助到你,持续更新中。"
2022-11-24 23:37:34 +08:00
# 路由配置
router:
# 后台
admin:
# 前缀
prefix: "/admin"
# 不需要验证登录的路由地址
exceptLogin: [
"/sms/send", # 短信验证码
"/wechat/authorizeCall", # 微信用户授权回调
2022-11-24 23:37:34 +08:00
]
# 不需要验证权限的路由地址
exceptAuth: [
"/member/info", # 登录用户信息
"/role/dynamic", # 获取动态路由
2023-02-08 20:29:34 +08:00
"/notice/pullMessages", # 拉取我的消息
2023-02-09 10:03:23 +08:00
"/notice/readAll", # 设置全部已读公告
"/notice/upRead", # 已读指定公告
"/dictData/option", # 单个数据字典
"/dictData/options", # 多个数据字典
2023-02-09 10:03:23 +08:00
"/provinces/select", # 动态省市区选项
"/provinces/cityLabel", # 动态解析省市区名称
2022-11-24 23:37:34 +08:00
]
# 接口
api:
# 前缀
prefix: "/api"
# 不需要验证登录的路由地址
2023-02-09 10:03:23 +08:00
exceptPath: []
# websocket
websocket:
2022-11-24 23:37:34 +08:00
# 前缀
prefix: "/socket"
# 不需要验证登录的路由地址
2023-02-09 10:03:23 +08:00
exceptLogin: []
# 前台页面
home:
# 前缀
prefix: "/home"
# 不需要验证登录的路由地址
2023-02-09 10:03:23 +08:00
exceptPath: []
2022-11-24 23:37:34 +08:00
#缓存
cache:
adapter: "file" # 缓存驱动方式支持memory|redis|file不填默认memory
fileDir: "./storage/cache" # 文件缓存路径adapter=file时必填
# 登录令牌
token:
secretKey: "hotgo123" # 令牌加密秘钥考虑安全问题生产环境中请修改默认值
expires: 604800 # 令牌有效期单位默认7天
autoRefresh: true # 是否开启自动刷新过期时间 false|true 默认为true
refreshInterval: 86400 # 刷新间隔单位必须小于expires否则无法触发默认1天内只允许刷新一次
maxRefreshTimes: 30 # 最大允许刷新次数-1不限制默认30次
multiLogin: true # 是否允许多端登录 false|true 默认为true
2022-11-24 23:37:34 +08:00
#消息队列
queue:
switch: true # 队列开关可选true|false默认为true
driver: "disk" # 队列驱动可选disk|redis|rocketmq|kafka默认为disk
retry: 2 # 重试次数仅rocketmq支持
groupName: "hotgo" # mq群组名称
#磁盘队列
disk:
path: "./storage/diskqueue" # 数据存放路径
batchSize: 100 # 每100条消息同步一次batchSize和batchTime满足其一就会同步一次
batchTime: 1 # 每1秒消息同步一次
segmentSize: 10485760 # 每个topic分片数据文件最大字节默认10M
segmentLimit: 3000 # 每个topic最大分片数据文件数量超出部分将会丢弃
#redis默认使用全局redis运行队列
2022-11-24 23:37:34 +08:00
redis:
timeout: 0 # 队列超时时间(s) 0为永不超时当队列一直没有被消费到达超时时间则队列会被销毁
2022-11-24 23:37:34 +08:00
rocketmq:
address: "127.0.0.1:9876" # brocker地址+端口
logLevel: "all" # 系统日志级别可选all|close|debug|info|warn|error|fatal
2022-11-24 23:37:34 +08:00
kafka:
address: "127.0.0.1:9092" # kafka地址+端口
version: "2.0.0.0" # kafka专属配置默认2.0.0.0
randClient: true # 开启随机生成clientID可以实现启动多实例同时一起消费相同topic加速消费能力的特性默认为true
multiConsumer: true # 是否支持创建多个消费者
2022-11-24 23:37:34 +08:00
2022-11-24 23:37:34 +08:00
# Redis
redis:
default:
address: "127.0.0.1:6379"
db: "2"
2022-11-24 23:37:34 +08:00
pass: ""
idleTimeout: "20"
2022-11-24 23:37:34 +08:00
# Database.
database:
logger:
level: "all"
stdout: true
default:
link: "mysql:hotgo:hg123456.@tcp(127.0.0.1:3306)/hotgo?loc=Local&parseTime=true"
debug: true
Prefix: "hg_"
# 链路追踪
jaeger:
switch: false # 链路追踪开关默认为false
endpoint: "127.0.0.1:6831" # jaeger-agent上报地址
# 生成代码
hggen:
allowedIPs: ["127.0.0.1", "*"] # 白名单*代表所有只有允许的IP后台才能使用生成代码功能
selectDbs: [ "default" ] # 可选生成表的数据库配置名称支持多库
disableTables : ["hg_sys_gen_codes","hg_admin_role_casbin"] # 禁用的表禁用以后将不会在选择表中看到
delimiters: ["@{", "}"] # 模板引擎变量分隔符号
# 生成应用模型所有生成模板允许自定义可以参考default模板进行改造
application:
# CRUD模板
crud:
templates:
# 默认的主包模板
- group: "default" # 分组名称
isAddon: false # 是否为插件模板 falsetrue
2023-02-09 10:03:23 +08:00
masterPackage: "sys" # 主包名称需和controllerPathlogicPathinputPath保持关联
templatePath: "./resource/generate/default/curd" # 模板路径
apiPath: "./api/admin" # gfApi生成路径
controllerPath: "./internal/controller/admin/sys" # 控制器生成路径
logicPath : "./internal/logic/sys" # 主要业务生成路径
inputPath: "./internal/model/input/sysin" # 表单过滤器生成路径
routerPath : "./internal/router/genrouter" # 生成路由表路径
sqlPath : "./storage/data/generate" # 生成sql语句路径
webApiPath: "../web/src/api" # webApi生成路径
webViewsPath : "../web/src/views" # web页面生成路径
# 默认的插件包模板
- group: "addon" # 分组名称
isAddon: true # 是否为插件模板 falsetrue
masterPackage: "sys" # 主包名称需和controllerPathlogicPathinputPath保持关联
templatePath: "./resource/generate/default/curd" # 模板路径
apiPath: "./addons/{$name}/api/admin" # gfApi生成路径
controllerPath: "./addons/{$name}/controller/admin/sys" # 控制器生成路径
logicPath : "./addons/{$name}/logic/sys" # 主要业务生成路径
inputPath: "./addons/{$name}/model/input/sysin" # 表单过滤器生成路径
routerPath : "./addons/{$name}/router/genrouter" # 生成路由表路径
sqlPath : "./storage/data/generate/addons" # 生成sql语句路径
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
webViewsPath : "../web/src/views/addons/{$name}" # web页面生成路径
# 关系树列表模板
tree:
templates:
- group: "default"
templatePath: "./resource/generate/default/tree"
# 消息队列模板
queue:
templates:
- group: "default"
templatePath: "./resource/generate/default/queue"
# 定时任务模板
cron:
templates:
- group: "default"
templatePath: "./resource/generate/default/cron"
# 生成插件模块通过后台创建新插件时使用的模板允许自定义可以参考default模板进行改造
addon:
srcPath: "./resource/generate/default/addon" # 生成模板路径
webApiPath: "../web/src/api/addons/{$name}" # webApi生成路径
webViewsPath: "../web/src/views/addons/{$name}" # web页面生成路径