mirror of
https://github.com/skyle1995/NetworkAuth.git
synced 2026-05-25 02:24:05 +08:00
修复 导航栏重复初始化的问题
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
"NetworkAuth/database"
|
||||
"NetworkAuth/middleware"
|
||||
"NetworkAuth/models"
|
||||
"NetworkAuth/server"
|
||||
"NetworkAuth/services"
|
||||
"NetworkAuth/utils"
|
||||
@@ -72,8 +73,19 @@ func runServer(cmd *cobra.Command, args []string) {
|
||||
|
||||
if db != nil {
|
||||
// 检查系统是否已安装
|
||||
isInstalled := services.GetSettingsService().GetString("is_installed", "0")
|
||||
if isInstalled == "1" {
|
||||
isInstalled := false
|
||||
if db.Migrator().HasTable(&models.Settings{}) {
|
||||
var setting models.Settings
|
||||
if err := db.Where("name = ?", "is_installed").First(&setting).Error; err == nil {
|
||||
isInstalled = setting.Value == "1"
|
||||
}
|
||||
}
|
||||
if isInstalled {
|
||||
needSeedPortalNavigation, err := database.NeedSeedDefaultPortalNavigation()
|
||||
if err != nil {
|
||||
logrus.WithError(err).Fatal("检测默认门户导航状态失败")
|
||||
}
|
||||
|
||||
// 执行自动迁移(确保表结构存在)
|
||||
if err := database.AutoMigrate(); err != nil {
|
||||
logrus.WithError(err).Fatal("数据库自动迁移失败")
|
||||
@@ -82,8 +94,10 @@ func runServer(cmd *cobra.Command, args []string) {
|
||||
if err := database.SeedDefaultSettings(); err != nil {
|
||||
logrus.WithError(err).Fatal("默认系统设置初始化失败")
|
||||
}
|
||||
if err := database.SeedDefaultPortalNavigation(); err != nil {
|
||||
logrus.WithError(err).Fatal("默认门户导航初始化失败")
|
||||
if needSeedPortalNavigation {
|
||||
if err := database.SeedDefaultPortalNavigation(); err != nil {
|
||||
logrus.WithError(err).Fatal("默认门户导航初始化失败")
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化加密管理器
|
||||
@@ -96,7 +110,7 @@ func runServer(cmd *cobra.Command, args []string) {
|
||||
// 启动日志清理定时任务
|
||||
services.StartLogCleanupTask()
|
||||
} else {
|
||||
logrus.Info("系统尚未安装 (is_installed=0),跳过核心组件初始化")
|
||||
logrus.Info("系统处于未安装状态,跳过数据库自动迁移和核心组件初始化")
|
||||
}
|
||||
} else {
|
||||
logrus.Info("系统处于未初始化状态,跳过数据库自动迁移和设置加载")
|
||||
|
||||
Reference in New Issue
Block a user