diff --git a/internal/web/actions/default/setup/install.go b/internal/web/actions/default/setup/install.go index 83f5bca5..bd83d076 100644 --- a/internal/web/actions/default/setup/install.go +++ b/internal/web/actions/default/setup/install.go @@ -8,6 +8,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/rpc" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs" "github.com/go-yaml/yaml" "github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/actions" @@ -200,6 +201,26 @@ func (this *InstallAction) RunPost(params struct { this.Fail("设置管理员账号出错:" + err.Error()) } + // 设置访问日志保留天数 + var accessLogKeepDays = dbMap.GetInt("accessLogKeepDays") + if accessLogKeepDays > 0 { + var config = &systemconfigs.DatabaseConfig{} + config.ServerAccessLog.Clean.Days = accessLogKeepDays + configJSON, err := json.Marshal(config) + if err != nil { + this.Fail("配置设置访问日志保留天数出错:" + err.Error()) + return + } + _, err = client.SysSettingRPC().UpdateSysSetting(ctx, &pb.UpdateSysSettingRequest{ + Code: systemconfigs.SettingCodeDatabaseConfigSetting, + ValueJSON: configJSON, + }) + if err != nil { + this.Fail("配置设置访问日志保留天数出错:" + err.Error()) + return + } + } + err = apiConfig.WriteFile(Tea.ConfigFile("api.yaml")) if err != nil { this.Fail("保存配置失败,原因:" + err.Error()) @@ -232,6 +253,26 @@ func (this *InstallAction) RunPost(params struct { this.Fail("设置管理员账号出错:" + err.Error()) } + // 设置访问日志保留天数 + var accessLogKeepDays = dbMap.GetInt("accessLogKeepDays") + if accessLogKeepDays > 0 { + var config = &systemconfigs.DatabaseConfig{} + config.ServerAccessLog.Clean.Days = accessLogKeepDays + configJSON, err := json.Marshal(config) + if err != nil { + this.Fail("配置设置访问日志保留天数出错:" + err.Error()) + return + } + _, err = client.SysSettingRPC().UpdateSysSetting(ctx, &pb.UpdateSysSettingRequest{ + Code: systemconfigs.SettingCodeDatabaseConfigSetting, + ValueJSON: configJSON, + }) + if err != nil { + this.Fail("配置设置访问日志保留天数出错:" + err.Error()) + return + } + } + // 写入API节点配置,完成安装 err = apiConfig.WriteFile(Tea.ConfigFile("api.yaml")) if err != nil { diff --git a/internal/web/actions/default/setup/validateDb.go b/internal/web/actions/default/setup/validateDb.go index 851945f3..f2dc034d 100644 --- a/internal/web/actions/default/setup/validateDb.go +++ b/internal/web/actions/default/setup/validateDb.go @@ -15,11 +15,12 @@ type ValidateDbAction struct { } func (this *ValidateDbAction) RunPost(params struct { - Host string - Port string - Database string - Username string - Password string + Host string + Port string + Database string + Username string + Password string + AccessLogKeepDays int Must *actions.Must }) { @@ -98,12 +99,13 @@ func (this *ValidateDbAction) RunPost(params struct { } this.Data["db"] = maps.Map{ - "host": params.Host, - "port": params.Port, - "database": params.Database, - "username": params.Username, - "password": params.Password, - "passwordMask": strings.Repeat("*", len(params.Password)), + "host": params.Host, + "port": params.Port, + "database": params.Database, + "username": params.Username, + "password": params.Password, + "passwordMask": strings.Repeat("*", len(params.Password)), + "accessLogKeepDays": params.AccessLogKeepDays, } this.Success() diff --git a/web/views/@default/setup/index.html b/web/views/@default/setup/index.html index fc8991ba..fce5efbb 100644 --- a/web/views/@default/setup/index.html +++ b/web/views/@default/setup/index.html @@ -188,6 +188,13 @@
连接数据库所需密码,没有密码的话就不需要填写。
+网站等服务记录的访问日志保留天数,防止无限制地占用数据库空间。
+