59 lines
1.2 KiB
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)
|
|
}
|
|
}
|