2025-10-16 13:28:24 +08:00

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"),
}
}