From 4fdf2939adafa514c1467e9590963e4e82c99d73 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 29 May 2025 15:58:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8E=88=E6=9D=83=E7=A0=81=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E5=92=8C=E7=B3=BB=E7=BB=9F=E9=87=8D=E7=BD=AE=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/common/controller/bootloader.go | 19 ++++++++++++++++--- .../network_element/service/ne_license.go | 6 +++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/modules/common/controller/bootloader.go b/src/modules/common/controller/bootloader.go index a537e42d..005e3d6c 100644 --- a/src/modules/common/controller/bootloader.go +++ b/src/modules/common/controller/bootloader.go @@ -2,7 +2,9 @@ package controller import ( "fmt" + "runtime" + "be.ems/src/framework/cmd" "be.ems/src/framework/constants" "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" @@ -125,9 +127,20 @@ func (s *BootloaderController) Reset(c *gin.Context) { // return // } - if err := machine.Reset(); err != nil { - c.JSON(200, resp.ErrMsg(err.Error())) - return + // 重置数据库 + if runtime.GOOS == "windows" { + // return fmt.Errorf("not support window") + } else { + // 重置数据库 + if _, err := cmd.Exec("/usr/local/etc/omc/script/setup.sh -i"); err != nil { + c.JSON(200, resp.ErrMsg("setup err")) + return + } + // 重启服务 + if _, err := cmd.Execf("nohup sh -c \"sleep 1s && %s\" > /dev/null 2>&1 &", "sudo systemctl restart omc"); err != nil { + c.JSON(200, resp.ErrMsg("restart err")) + return + } } // 清除授权信息 diff --git a/src/modules/network_element/service/ne_license.go b/src/modules/network_element/service/ne_license.go index a6b9bbc2..66ca9d7e 100644 --- a/src/modules/network_element/service/ne_license.go +++ b/src/modules/network_element/service/ne_license.go @@ -139,9 +139,9 @@ func (r *NeLicense) ReadLicenseInfo(neLicense model.NeLicense) (string, string) } activationRequestCode := string(bytes) - parts := strings.SplitAfter(string(bytes), "\n") - if len(parts) > 1 { - activationRequestCode = parts[1] // 获取 \n 后的内容 + parts := strings.Split(activationRequestCode, "\n") + if len(parts) > 1 && strings.HasPrefix(parts[0], "SN") { + activationRequestCode = parts[1] // 获取第二行内容 } return strings.TrimSpace(activationRequestCode), licensePath }