diff --git a/cmd/server/main.go b/cmd/server/main.go index a871247..ffca5da 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -16,14 +16,27 @@ import ( ) func main() { - // 检查是否已安装 + // 加载配置(必须先加载) + if err := config.Load(""); err != nil { + log.Printf("配置加载警告: %v", err) + } + + // 如果配置不存在,提示安装 if !config.IsInstalled() { fmt.Println("系统未安装,请先访问 /install 进行安装配置") } - // 加载配置 - if err := config.Load(""); err != nil { - log.Printf("警告: %v", err) + // 确保有默认 JWT Secret + if config.Cfg == nil { + config.Cfg = &config.Config{ + Server: config.ServerConfig{Host: "0.0.0.0", Port: 6688, Mode: "release"}, + Database: config.DatabaseConfig{Type: "sqlite", SQLite: config.SQLiteConfig{Path: "./data/app.db"}}, + JWT: config.JWTConfig{Secret: generateRandomSecret(), ExpireTime: 1440}, + Captcha: config.CaptchaConfig{ModelPath: "./models"}, + } + } + if config.Cfg.JWT.Secret == "" { + config.Cfg.JWT.Secret = generateRandomSecret() } // 初始化数据库