From 9352e1837f70776c3a4030dd1fb099262058f20b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 23 Apr 2023 20:13:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/setup/sql_executor.go | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/internal/setup/sql_executor.go b/internal/setup/sql_executor.go index aed33bd8..0634d8f9 100644 --- a/internal/setup/sql_executor.go +++ b/internal/setup/sql_executor.go @@ -12,6 +12,7 @@ import ( "github.com/iwind/TeaGo/maps" "github.com/iwind/TeaGo/rands" "github.com/iwind/TeaGo/types" + stringutil "github.com/iwind/TeaGo/utils/string" "gopkg.in/yaml.v3" "io" "os" @@ -86,8 +87,14 @@ func (this *SQLExecutor) Run(showLog bool) error { // 检查数据 func (this *SQLExecutor) checkData(db *dbs.DB) error { + // 检查初始化用户 + err := this.checkUser(db) + if err != nil { + return err + } + // 检查管理员平台节点 - err := this.checkAdminNode(db) + err = this.checkAdminNode(db) if err != nil { return err } @@ -137,6 +144,20 @@ func (this *SQLExecutor) checkData(db *dbs.DB) error { return nil } +// 创建初始用户 +func (this *SQLExecutor) checkUser(db *dbs.DB) error { + one, err := db.FindOne("SELECT id FROM edgeUsers LIMIT 1") + if err != nil { + return err + } + if len(one) > 0 { + return nil + } + + _, err = db.Exec("INSERT INTO edgeUsers (`username`, `password`, `fullname`, `isOn`, `state`, `createdAt`) VALUES (?, ?, ?, ?, ?, ?)", "USER-"+rands.HexString(10), stringutil.Md5(rands.HexString(32)), "默认用户", 1, 1, time.Now().Unix()) + return err +} + // 检查管理员平台节点 func (this *SQLExecutor) checkAdminNode(db *dbs.DB) error { stmt, err := db.Prepare("SELECT COUNT(*) FROM edgeAPITokens WHERE role='admin'")