feat(web): 新增 web.console_log 开关;data_dir 默认改为 srv/mesh_mqtt_go
- WebConfig 增加 console_log 字段,关闭后 gin 不再向控制台打印 HTTP 访问日志(保留 Recovery)
- 默认值 true;旧配置加载时自动补齐并写回
- defaultDataDirForGOOS 默认目录由 var/lib/mesh_mqtt_go 调整为 srv/mesh_mqtt_go,与 install.sh 中 DATA_DIR=/srv/${SERVICE_NAME} 保持一致
- install.sh 模板同步加入 console_log: true
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,7 @@ web:
|
||||
port: 8080
|
||||
socket_path: ${SOCKET_PATH}
|
||||
static_dir: ${INSTALL_DIR}/dist
|
||||
console_log: true
|
||||
admin:
|
||||
username: admin
|
||||
password: admin
|
||||
|
||||
@@ -66,6 +66,7 @@ type WebConfig struct {
|
||||
SocketPath string `yaml:"socket_path"`
|
||||
StaticDir string `yaml:"static_dir"`
|
||||
MapTileCacheDir string `yaml:"map_tile_cache_dir"`
|
||||
ConsoleLog bool `yaml:"console_log"`
|
||||
Admin WebAdminConfig `yaml:"admin"`
|
||||
}
|
||||
|
||||
@@ -132,6 +133,7 @@ type rawWebConfig struct {
|
||||
SocketPath *string `yaml:"socket_path"`
|
||||
StaticDir *string `yaml:"static_dir"`
|
||||
MapTileCacheDir *string `yaml:"map_tile_cache_dir"`
|
||||
ConsoleLog *bool `yaml:"console_log"`
|
||||
Admin *rawWebAdminConfig `yaml:"admin"`
|
||||
}
|
||||
|
||||
@@ -171,6 +173,7 @@ func Default() *Config {
|
||||
SocketPath: defaultWebSocketPath(),
|
||||
StaticDir: "./dist",
|
||||
MapTileCacheDir: defaultMapTileCacheDir(),
|
||||
ConsoleLog: true,
|
||||
Admin: WebAdminConfig{
|
||||
Username: "admin",
|
||||
Password: "admin",
|
||||
@@ -264,9 +267,9 @@ func defaultDataDir() string {
|
||||
|
||||
func defaultDataDirForGOOS(goos string) string {
|
||||
if useRelativeDefaultPath(goos) {
|
||||
return filepath.Join(".", "win", "var", "lib", "mesh_mqtt_go")
|
||||
return filepath.Join(".", "win", "srv", "mesh_mqtt_go")
|
||||
}
|
||||
return filepath.Join(string(filepath.Separator), "var", "lib", "mesh_mqtt_go")
|
||||
return filepath.Join(string(filepath.Separator), "srv", "mesh_mqtt_go")
|
||||
}
|
||||
|
||||
// Load 加载配置文件;文件不存在时生成,字段缺失时自动补全并写回。
|
||||
@@ -428,6 +431,11 @@ func normalize(raw rawConfig) (*Config, bool) {
|
||||
} else {
|
||||
cfg.Web.MapTileCacheDir = *raw.Web.MapTileCacheDir
|
||||
}
|
||||
if raw.Web.ConsoleLog == nil {
|
||||
changed = true
|
||||
} else {
|
||||
cfg.Web.ConsoleLog = *raw.Web.ConsoleLog
|
||||
}
|
||||
if raw.Web.Admin == nil {
|
||||
changed = true
|
||||
} else {
|
||||
|
||||
+5
-1
@@ -62,7 +62,11 @@ func ServeUnixSocket(server *http.Server, socketPath string) error {
|
||||
|
||||
func NewRouter(cfg configpkg.WebConfig, store *storepkg.Store, sessions *auth.Manager, mqttStatus MQTTStatusProvider, blocking *blockingpkg.Cache, forwarder mqttforwardpkg.Reloader, settings *rspkg.Cache, botSender botpkg.TextSender) *gin.Engine {
|
||||
r := gin.New()
|
||||
r.Use(gin.Logger(), gin.Recovery())
|
||||
if cfg.ConsoleLog {
|
||||
r.Use(gin.Logger(), gin.Recovery())
|
||||
} else {
|
||||
r.Use(gin.Recovery())
|
||||
}
|
||||
api := r.Group("/api")
|
||||
registerAPIRoutes(api, store, cfg.MapTileCacheDir)
|
||||
registerAdminRoutes(api.Group("/admin"), store, sessions, mqttStatus, blocking, forwarder, settings, botSender)
|
||||
|
||||
Reference in New Issue
Block a user