Files
ONE/backend/internal/admin/runtime.go
T
Sakurasan e68400b389 系统设置迁入后台:站点地址 / OAuth 凭据 / R2 存储 / 管理员账号,保存即生效无需重启
- 生效规则统一为「后台填了用后台的,没填回落环境变量」,老部署不改 env 照常跑
- config.Resolver:短缓存解析有效配置,存储后端按配置签名热重建;后台保存主动失效
- 秘密项(client secret / bot token / R2 密钥 / 管理员密码)接口永不回显明文,
  只报「是否已配置、来自哪里」;留空保存 = 保持现值
- 管理员密码 bcrypt 入库,DB 哈希优先、显式设置的 env 密码作解锁后路;
  后台改过密码后 admin/admin 开发模式立即失效
- 设置页新增「登录与存储」标签,基础信息加站点地址;秘密项带来源提示
- 监听地址 / 数据库 / 目录 / ONE_SECRET / Passkey 仍留环境变量(启动期依赖)
2026-10-01 12:14:10 +08:00

28 lines
692 B
Go

// 有效配置与存储后端的取用口。系统设置迁进后台后,凭据 / 站点地址不再是
// 启动期常量:按「DB 设置叠加 env」现算(Res.Config 自带短缓存),
// 后台保存设置后立即生效。
package admin
import (
"oneblog/internal/config"
"oneblog/internal/storage"
)
// cfg 返回当前请求应使用的有效配置。
func (a *API) cfg() *config.Config {
if a.Res != nil {
return a.Res.Config()
}
return a.Cfg
}
// blobs 返回当前存储后端(Res 存在时支持后台改配置热重建)。
func (a *API) blobs() storage.BlobStore {
if a.Res != nil {
if b := a.Res.Blobs(); b != nil {
return b
}
}
return a.Blobs
}