| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package main
- import (
- "fmt"
- "log"
- "shudao-chat-go/models"
- "github.com/beego/beego/v2/server/web"
- "golang.org/x/crypto/bcrypt"
- )
- // InitAdminUser 初始化管理员账号
- func InitAdminUser() {
- fmt.Println("=== 开始初始化管理员账号 ===")
- // 检查管理员账号是否已存在
- var existingUser models.User
- result := models.DB.Where("username = ?", "Admin").First(&existingUser)
- if result.Error == nil {
- fmt.Printf("管理员账号已存在 (ID: %d), 跳过初始化\n", existingUser.ID)
- return
- }
- // 生成密码哈希
- password := "admin123"
- hashedPassword, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
- if err != nil {
- log.Fatalf("密码加密失败: %v", err)
- }
- // 创建管理员账号
- adminUser := models.User{
- Username: "Admin",
- Password: string(hashedPassword),
- Nickname: "系统管理员",
- Email: "admin@shudaodsj.com",
- Role: "admin",
- Status: 1, // 正常状态
- }
- // 插入数据库
- if err := models.DB.Create(&adminUser).Error; err != nil {
- log.Fatalf("创建管理员账号失败: %v", err)
- }
- fmt.Printf("✅ 管理员账号创建成功!\n")
- fmt.Printf(" 用户名: %s\n", adminUser.Username)
- fmt.Printf(" 密码: %s\n", password)
- fmt.Printf(" 角色: %s\n", adminUser.Role)
- fmt.Printf(" ID: %d\n", adminUser.ID)
- fmt.Println("=== 初始化完成 ===")
- }
- func main() {
- // 加载配置
- if err := web.LoadAppConfig("ini", "conf/app.conf"); err != nil {
- log.Fatalf("加载配置文件失败: %v", err)
- }
- // 初始化管理员账号
- InitAdminUser()
- }
|