59 lines
1.8 KiB
Go
59 lines
1.8 KiB
Go
package startup
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
"time"
|
|
|
|
"mini-chat/configs"
|
|
"mini-chat/internal/pkg/env"
|
|
|
|
"github.com/common-nighthawk/go-figure"
|
|
"github.com/fatih/color"
|
|
)
|
|
|
|
type status struct {
|
|
CustomerProjectNameZh string `json:"customer_project_name_zh"`
|
|
CustomerProjectNameEn string `json:"customer_project_name_en"`
|
|
CustomerProjectVersion string `json:"customer_project_version"`
|
|
ProjectPort string `json:"project_port"`
|
|
ProjectEnv string `json:"project_env"`
|
|
RuntimeVersion string `json:"runtime_version"`
|
|
Now string `json:"now"`
|
|
}
|
|
|
|
func PrintInfo() {
|
|
// 创建 ASCII 艺术标题
|
|
fmt.Println()
|
|
myFigure := figure.NewColorFigure(configs.CustomerProjectNameEn, "", "green", true)
|
|
myFigure.Print()
|
|
|
|
// 项目信息
|
|
green := color.New(color.FgGreen).Add(color.Bold)
|
|
green.Printf("▌ 客户项目: %s\n", configs.CustomerProjectNameZh)
|
|
green.Printf("▌ 项目版本: %s\n", configs.CustomerProjectVersion)
|
|
green.Printf("▌ 启动时间: %s\n", time.Now().Format("2006-01-02 15:04:05"))
|
|
green.Printf("▌ 运行环境: %s %s\n", runtime.GOOS, runtime.Version())
|
|
green.Printf("▌ 服务端口: [%s]\n", configs.ProjectPort)
|
|
green.Printf("▌ 服务配置: [%s]\n", env.Active().Value())
|
|
|
|
// 服务状态
|
|
fmt.Println()
|
|
yellow := color.New(color.FgYellow).Add(color.Bold)
|
|
yellow.Printf("▌ 数据库连接: ✔ 已建立\n")
|
|
|
|
fmt.Println()
|
|
}
|
|
|
|
func Info() *status {
|
|
return &status{
|
|
CustomerProjectNameZh: configs.CustomerProjectNameZh,
|
|
CustomerProjectNameEn: configs.CustomerProjectNameEn,
|
|
CustomerProjectVersion: configs.CustomerProjectVersion,
|
|
ProjectPort: configs.ProjectPort,
|
|
ProjectEnv: env.Active().Value(),
|
|
RuntimeVersion: fmt.Sprintf("%s %s", runtime.GOOS, runtime.Version()),
|
|
Now: time.Now().Format("2006-01-02 15:04:05"),
|
|
}
|
|
}
|