Files
Microsoft-tts/cmd/api/main.go

59 lines
1.2 KiB
Go

package main
import (
"flag"
"log"
"os"
"path/filepath"
"tts/internal/http/server"
)
func main() {
// 解析命令行参数
configPath := flag.String("config", "", "配置文件路径")
flag.Parse()
// 如果没有指定配置文件,尝试默认位置
if *configPath == "" {
// 尝试多个位置查找配置文件
possiblePaths := []string{
"./configs/config.yaml",
"../configs/config.yaml",
"/etc/tts/config.yaml",
}
for _, path := range possiblePaths {
if _, err := os.Stat(path); err == nil {
*configPath = path
break
}
}
// 如果还是没找到,使用默认位置
if *configPath == "" {
*configPath = "./configs/config.yaml"
}
}
// 确保配置文件路径是绝对路径
absConfigPath, err := filepath.Abs(*configPath)
if err != nil {
log.Fatalf("无法获取配置文件的绝对路径: %v", err)
}
// 打印使用的配置文件路径
log.Printf("使用配置文件: %s", absConfigPath)
// 创建并启动应用
app, err := server.NewApp(absConfigPath)
if err != nil {
log.Fatalf("初始化应用失败: %v", err)
}
// 启动应用并处理错误
if err := app.Start(); err != nil {
log.Fatalf("应用运行出错: %v", err)
}
}