Initial commit

This commit is contained in:
dushixiang
2020-12-20 21:19:11 +08:00
commit e7f2773c77
77 changed files with 27866 additions and 0 deletions

83
main.go Normal file
View File

@ -0,0 +1,83 @@
package main
import (
"github.com/labstack/gommon/log"
"github.com/patrickmn/go-cache"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"next-terminal/pkg/api"
"next-terminal/pkg/config"
"next-terminal/pkg/handle"
"next-terminal/pkg/model"
"next-terminal/pkg/utils"
"time"
)
func main() {
log.Fatal(Run())
}
func Run() error {
config.NextTerminal = config.SetupConfig()
var err error
config.DB, err = gorm.Open(mysql.Open(config.NextTerminal.Dsn), &gorm.Config{
Logger: logger.Default.LogMode(logger.Info),
})
//config.DB, err = gorm.Open(sqlite.Open("next-terminal.db"), &gorm.Config{})
if err != nil {
log.Fatal("连接数据库异常", err)
}
if err := config.DB.AutoMigrate(&model.User{}); err != nil {
return err
}
users := model.FindAllUser()
if len(users) == 0 {
var pass []byte
if pass, err = utils.Encoder.Encode([]byte("admin")); err != nil {
return err
}
user := model.User{
ID: utils.UUID(),
Username: "admin",
Password: string(pass),
Nickname: "超级管理员",
Created: utils.NowJsonTime(),
}
if err := model.CreateNewUser(&user); err != nil {
return err
}
}
if err := config.DB.AutoMigrate(&model.Asset{}); err != nil {
return err
}
if err := config.DB.AutoMigrate(&model.Session{}); err != nil {
return err
}
if err := config.DB.AutoMigrate(&model.Command{}); err != nil {
return err
}
if err := config.DB.AutoMigrate(&model.Credential{}); err != nil {
return err
}
if err := config.DB.AutoMigrate(&model.Property{}); err != nil {
return err
}
config.Cache = cache.New(5*time.Minute, 10*time.Minute)
config.Store = config.NewStore()
e := api.SetupRoutes()
// 启动定时任务
//go handle.RunTicker()
go handle.RunDataFix()
go handle.InitProperties()
return e.Start(config.NextTerminal.Addr)
}