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