2022-08-10 19:46:17 +08:00
|
|
|
|
package starter
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
2023-07-20 20:34:05 +08:00
|
|
|
|
"mayfly-go/migrations"
|
2023-07-21 17:07:04 +08:00
|
|
|
|
"mayfly-go/initialize"
|
2022-08-10 19:46:17 +08:00
|
|
|
|
"mayfly-go/pkg/config"
|
2023-07-20 20:34:05 +08:00
|
|
|
|
"mayfly-go/pkg/global"
|
2022-08-10 19:46:17 +08:00
|
|
|
|
"mayfly-go/pkg/logger"
|
2023-01-14 16:29:52 +08:00
|
|
|
|
"mayfly-go/pkg/req"
|
2022-08-10 19:46:17 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func RunWebServer() {
|
|
|
|
|
|
// 初始化config.yml配置文件映射信息
|
|
|
|
|
|
config.Init()
|
2023-07-21 17:07:04 +08:00
|
|
|
|
|
2022-08-10 19:46:17 +08:00
|
|
|
|
// 初始化日志配置信息
|
|
|
|
|
|
logger.Init()
|
2023-07-21 17:07:04 +08:00
|
|
|
|
|
2022-08-10 19:46:17 +08:00
|
|
|
|
// 初始化jwt key与expire time等
|
2023-01-14 16:29:52 +08:00
|
|
|
|
req.InitTokenConfig()
|
2022-08-10 19:46:17 +08:00
|
|
|
|
|
|
|
|
|
|
// 打印banner
|
|
|
|
|
|
printBanner()
|
2023-07-21 17:07:04 +08:00
|
|
|
|
|
2022-08-10 19:46:17 +08:00
|
|
|
|
// 初始化并赋值数据库全局变量
|
|
|
|
|
|
initDb()
|
2023-07-21 17:07:04 +08:00
|
|
|
|
|
2022-12-26 20:53:07 +08:00
|
|
|
|
// 有配置redis信息,则初始化redis。多台机器部署需要使用redis存储验证码、权限、公私钥等
|
|
|
|
|
|
initRedis()
|
2023-07-20 20:34:05 +08:00
|
|
|
|
// 数据库升级操作
|
|
|
|
|
|
if err := migrations.RunMigrations(global.Db); err != nil {
|
|
|
|
|
|
logger.Log.Fatalf("数据库升级失败: %v", err)
|
|
|
|
|
|
}
|
2023-07-21 17:07:04 +08:00
|
|
|
|
|
|
|
|
|
|
// 初始化其他需要启动时运行的方法
|
|
|
|
|
|
initialize.InitOther()
|
|
|
|
|
|
|
2022-08-10 19:46:17 +08:00
|
|
|
|
// 运行web服务
|
|
|
|
|
|
runWebServer()
|
|
|
|
|
|
}
|