mirror of
https://github.com/yv1ing/gin-admin.git
synced 2025-10-24 10:12:05 +08:00
完成基本框架搭建及系统用户登录流程
This commit is contained in:
20
internal/core/initialize/config.go
Normal file
20
internal/core/initialize/config.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"gin-admin/internal/core/config"
|
||||
"github.com/BurntSushi/toml"
|
||||
)
|
||||
|
||||
// @Author: yv1ing
|
||||
// @Author: me@yvling.cn
|
||||
// @Date: 2025/8/28 14:06
|
||||
// @Desc: 初始化系统配置
|
||||
|
||||
func InitConfig() error {
|
||||
_, err := toml.DecodeFile("configs/config.toml", &config.Config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
41
internal/core/initialize/database.go
Normal file
41
internal/core/initialize/database.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gin-admin/internal/core/config"
|
||||
"gin-admin/internal/repository"
|
||||
"gorm.io/driver/mysql"
|
||||
"gorm.io/gorm"
|
||||
|
||||
systemmodel "gin-admin/internal/model/system"
|
||||
)
|
||||
|
||||
// @Author: yv1ing
|
||||
// @Author: me@yvling.cn
|
||||
// @Date: 2025/8/28 14:22
|
||||
// @Desc: 初始化mysql数据库
|
||||
|
||||
func dsn() string {
|
||||
return fmt.Sprintf(
|
||||
"%s:%s@tcp(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local",
|
||||
config.Config.Mysql.Username,
|
||||
config.Config.Mysql.Password,
|
||||
config.Config.Mysql.Host,
|
||||
config.Config.Mysql.Port,
|
||||
config.Config.Mysql.Database,
|
||||
)
|
||||
}
|
||||
|
||||
func InitDatabase() error {
|
||||
db, err := gorm.Open(mysql.Open(dsn()), &gorm.Config{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = db.AutoMigrate(
|
||||
&systemmodel.User{},
|
||||
)
|
||||
|
||||
repository.SetupRepository(db)
|
||||
return nil
|
||||
}
|
||||
20
internal/core/initialize/engine.go
Normal file
20
internal/core/initialize/engine.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"gin-admin/internal/router"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// @Author: yv1ing
|
||||
// @Author: me@yvling.cn
|
||||
// @Date: 2025/8/28 13:59
|
||||
// @Desc: 初始化gin引擎
|
||||
|
||||
func InitEngine() *gin.Engine {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
|
||||
eng := gin.New()
|
||||
router.SetupRoutes(eng)
|
||||
|
||||
return eng
|
||||
}
|
||||
26
internal/core/initialize/user.go
Normal file
26
internal/core/initialize/user.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"gin-admin/internal/core/config"
|
||||
"gin-admin/internal/repository"
|
||||
"gin-admin/pkg/encrypt"
|
||||
|
||||
systemmodel "gin-admin/internal/model/system"
|
||||
systemrepository "gin-admin/internal/repository/system"
|
||||
)
|
||||
|
||||
// @Author: yv1ing
|
||||
// @Author: me@yvling.cn
|
||||
// @Date: 2025/8/28 17:05
|
||||
// @Desc: 初始化系统用户
|
||||
|
||||
func InitSysUser() error {
|
||||
return systemrepository.CreateUser(repository.Repo.DB, &systemmodel.User{
|
||||
IsActive: true,
|
||||
Username: config.Config.RootName,
|
||||
Password: encrypt.Sha256String(config.Config.RootPass, config.Config.SecretKey),
|
||||
Avatar: "/logo.png",
|
||||
Email: "root@gin-admin.cn",
|
||||
Phone: "18888888888",
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user