From 705642c3c3b1c8a63a829742c1e1117d2a6afb52 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Wed, 4 Jun 2025 17:30:52 +0800 Subject: [PATCH] fix: Fix the problem of abnormal acquisition of user-info (#8902) --- core/cmd/server/cmd/listen-ip.go | 2 +- core/cmd/server/cmd/reset.go | 10 +++++----- core/cmd/server/cmd/root.go | 5 +++-- core/cmd/server/cmd/update.go | 6 +++--- core/cmd/server/cmd/user-info.go | 8 ++++++-- core/cmd/server/cmd/version.go | 2 +- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/core/cmd/server/cmd/listen-ip.go b/core/cmd/server/cmd/listen-ip.go index 7a2afc06f..554be7d3d 100644 --- a/core/cmd/server/cmd/listen-ip.go +++ b/core/cmd/server/cmd/listen-ip.go @@ -48,7 +48,7 @@ func updateBindInfo(protocol string) error { fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl listen-ip ipv6"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } diff --git a/core/cmd/server/cmd/reset.go b/core/cmd/server/cmd/reset.go index 13e5158c8..451a57700 100644 --- a/core/cmd/server/cmd/reset.go +++ b/core/cmd/server/cmd/reset.go @@ -39,7 +39,7 @@ var resetMFACmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl reset mfa"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } @@ -55,7 +55,7 @@ var resetSSLCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl reset https"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } @@ -71,7 +71,7 @@ var resetEntranceCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl reset entrance"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } @@ -87,7 +87,7 @@ var resetBindIpsCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl reset ips"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } @@ -103,7 +103,7 @@ var resetDomainCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl reset domain"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err } diff --git a/core/cmd/server/cmd/root.go b/core/cmd/server/cmd/root.go index 280eb208f..29b652764 100644 --- a/core/cmd/server/cmd/root.go +++ b/core/cmd/server/cmd/root.go @@ -3,6 +3,7 @@ package cmd import ( "fmt" "os/user" + "path" "strings" "time" @@ -36,7 +37,7 @@ type setting struct { About string `json:"about" gorm:"type:longText"` } -func loadDBConn() (*gorm.DB, error) { +func loadDBConn(dbName string) (*gorm.DB, error) { stdout, err := cmdUtils.RunDefaultWithStdoutBashC("grep '^BASE_DIR=' /usr/local/bin/1pctl | cut -d'=' -f2") if err != nil { return nil, fmt.Errorf("handle load `BASE_DIR` failed, err: %v", err) @@ -49,7 +50,7 @@ func loadDBConn() (*gorm.DB, error) { baseDir = baseDir[:strings.LastIndex(baseDir, "/")] } - db, err := gorm.Open(sqlite.Open(baseDir+"/1panel/db/core.db"), &gorm.Config{}) + db, err := gorm.Open(sqlite.Open(path.Join(baseDir, "1panel/db", dbName)), &gorm.Config{}) if err != nil { return nil, fmt.Errorf("init my db conn failed, err: %v \n", err) } diff --git a/core/cmd/server/cmd/update.go b/core/cmd/server/cmd/update.go index 8f9329192..df775ec7a 100644 --- a/core/cmd/server/cmd/update.go +++ b/core/cmd/server/cmd/update.go @@ -99,7 +99,7 @@ func username() { return } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { fmt.Println(i18n.GetMsgWithMapForCmd("DBConnErr", map[string]interface{}{"err": err.Error()})) return @@ -131,7 +131,7 @@ func password() { fmt.Println("\n" + i18n.GetMsgByKeyForCmd("UpdateUPasswordBlank")) return } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { fmt.Println("\n" + i18n.GetMsgWithMapForCmd("DBConnErr", map[string]interface{}{"err": err.Error()})) return @@ -196,7 +196,7 @@ func port() { fmt.Println(i18n.GetMsgByKeyForCmd("UpdatePortUsed")) return } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { fmt.Println(i18n.GetMsgWithMapForCmd("DBConnErr", map[string]interface{}{"err": err.Error()})) return diff --git a/core/cmd/server/cmd/user-info.go b/core/cmd/server/cmd/user-info.go index 8a23773e1..abab0525d 100644 --- a/core/cmd/server/cmd/user-info.go +++ b/core/cmd/server/cmd/user-info.go @@ -22,10 +22,14 @@ var userinfoCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl user-info"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return fmt.Errorf("init my db conn failed, err: %v \n", err) } + agentDB, err := loadDBConn("agent.db") + if err != nil { + return fmt.Errorf("init my agent db conn failed, err: %v \n", err) + } user := getSettingByKey(db, "UserName") pass := "********" if isDefault(db) { @@ -39,7 +43,7 @@ var userinfoCmd = &cobra.Command{ port := getSettingByKey(db, "ServerPort") ssl := getSettingByKey(db, "SSL") entrance := getSettingByKey(db, "SecurityEntrance") - address := getSettingByKey(db, "SystemIP") + address := getSettingByKey(agentDB, "SystemIP") protocol := "http" if ssl == constant.StatusEnable { diff --git a/core/cmd/server/cmd/version.go b/core/cmd/server/cmd/version.go index 176e63c39..99737dc7d 100644 --- a/core/cmd/server/cmd/version.go +++ b/core/cmd/server/cmd/version.go @@ -23,7 +23,7 @@ var versionCmd = &cobra.Command{ fmt.Println(i18n.GetMsgWithMapForCmd("SudoHelper", map[string]interface{}{"cmd": "sudo 1pctl version"})) return nil } - db, err := loadDBConn() + db, err := loadDBConn("core.db") if err != nil { return err }