package database import ( "tonav-go/models" "golang.org/x/crypto/bcrypt" ) func Seed() { // 1. 初始化管理员 (admin / admin123) var count int64 DB.Model(&models.User{}).Count(&count) if count == 0 { hash, _ := bcrypt.GenerateFromPassword([]byte("admin123"), bcrypt.DefaultCost) DB.Create(&models.User{ Username: "admin", Password: string(hash), MustChangePassword: true, }) } // 2. 初始化分类 var catCount int64 DB.Model(&models.Category{}).Count(&catCount) if catCount == 0 { categories := []models.Category{ {Name: "内网服务", SortOrder: 100}, {Name: "开发工具", SortOrder: 90}, {Name: "测试环境", SortOrder: 80}, } DB.Create(&categories) } // 3. 初始设置 var setCount int64 DB.Model(&models.Setting{}).Count(&setCount) if setCount == 0 { settings := []models.Setting{ {Key: "webdav_url", Value: "https://chfs.ouaone.top/webdav/openclaw/upload/tonav-go/"}, {Key: "webdav_user", Value: "openclaw"}, {Key: "webdav_password", Value: "Khh13579"}, } DB.Create(&settings) } }