diff --git a/src/framework/utils/machine/launch.go b/src/framework/utils/machine/launch.go index fd3c3e0e..ffb75a63 100644 --- a/src/framework/utils/machine/launch.go +++ b/src/framework/utils/machine/launch.go @@ -10,6 +10,7 @@ import ( "be.ems/src/framework/constants/common" "be.ems/src/framework/logger" + "be.ems/src/framework/utils/cmd" "be.ems/src/framework/utils/crypto" "be.ems/src/framework/utils/parse" ) @@ -143,3 +144,30 @@ func SetLaunchInfo(info map[string]any) error { } return codeFileWrite(LaunchInfo) } + +// Bootloader 启动引导标记 +func Bootloader(flag bool) error { + return SetLaunchInfo(map[string]any{ + common.LAUNCH_BOOTLOADER: flag, // 启动引导 true开 false关 + common.LAUNCH_BOOTLOADER + "Time": time.Now().UnixMilli(), // 引导完成时间 + }) +} + +// Reset 引导数据重置 +func Reset() error { + // 重置数据库 + if runtime.GOOS == "windows" { + // return fmt.Errorf("not support window") + } else { + if _, err := cmd.ExecWithCheck("sudo", "/usr/local/omc/bin/setomc.sh", "-m", "install"); err != nil { + return err + } + } + + // 重置引导标记 + if err := Bootloader(true); err != nil { + return err + } + + return nil +} diff --git a/src/modules/common/controller/bootloader.go b/src/modules/common/controller/bootloader.go index 37bdf217..c2da6267 100644 --- a/src/modules/common/controller/bootloader.go +++ b/src/modules/common/controller/bootloader.go @@ -1,13 +1,9 @@ package controller import ( - "runtime" - "time" - adminConstants "be.ems/src/framework/constants/admin" "be.ems/src/framework/constants/common" tokenConstants "be.ems/src/framework/constants/token" - "be.ems/src/framework/utils/cmd" "be.ems/src/framework/utils/ctx" "be.ems/src/framework/utils/machine" tokenUtils "be.ems/src/framework/utils/token" @@ -97,12 +93,8 @@ func (s *BootloaderController) BootloaderDone(c *gin.Context) { return } - // 记录完成时间 - err := machine.SetLaunchInfo(map[string]any{ - common.LAUNCH_BOOTLOADER: false, // 启动引导 - common.LAUNCH_BOOTLOADER + "Time": time.Now().UnixMilli(), // 引导完成时间 - }) - if err != nil { + // 标记引导完成 + if err := machine.Bootloader(false); err != nil { c.JSON(200, result.ErrMsg(err.Error())) return } @@ -127,24 +119,7 @@ func (s *BootloaderController) BootloaderReset(c *gin.Context) { return } - // 重置数据库 - if runtime.GOOS == "windows" { - c.JSON(200, result.ErrMsg("Does not support window operations")) - return - } else { - _, err := cmd.ExecWithCheck("sudo", "/usr/local/omc/bin/setomc.sh", "-m", "install") - if err != nil { - c.JSON(200, result.ErrMsg(err.Error())) - return - } - } - - // 重置引导标记 - err := machine.SetLaunchInfo(map[string]any{ - "bootloader": true, // 启动引导 - "bootloaderTime": 0, // 引导完成时间 - }) - if err != nil { + if err := machine.Reset(); err != nil { c.JSON(200, result.ErrMsg(err.Error())) return }