代码初始化

This commit is contained in:
2026-05-19 14:33:06 +08:00
commit 219b7e39c7
18 changed files with 3311 additions and 0 deletions

73
main.go Normal file
View File

@@ -0,0 +1,73 @@
package main
import (
"context"
controllerAudio "media/controller/audio"
controllerVideo "media/controller/video"
serviceSetup "media/service/setup"
"os"
"path/filepath"
"time"
_ "gitea.com/red-future/common/consul"
"gitea.com/red-future/common/http"
"gitea.com/red-future/common/jaeger"
"github.com/gogf/gf/v2/frame/g"
)
func main() {
ctx := context.Background()
defer jaeger.ShutDown(ctx)
loc, err := time.LoadLocation("Asia/Shanghai")
if err == nil {
time.Local = loc
}
os.Setenv("TZ", "Asia/Shanghai")
serviceSetup.EnsureDependencies(ctx)
// 清理旧 temp 文件(防止异常中断残留)
cleanupTempDir(ctx)
// 文件上传路由(在 RouteRegister 启动服务器之前注册)
http.Httpserver.BindHandler("/audio/transcribe", controllerAudio.AudioExtract.TranscribeHandler)
http.Httpserver.BindHandler("/video/concat", controllerVideo.Concat.ConcatVideosHandler)
// 启动服务器(无需 g.Meta 自动注册)
http.RouteRegister(nil)
port := g.Cfg().MustGet(ctx, "server.address", ":3001").String()
g.Log().Info(ctx, "============================================")
g.Log().Infof(ctx, "服务启动: http://localhost%s", port)
g.Log().Infof(ctx, " POST %s/audio/transcribe - 语音转文字+分镜分析(文件上传,参数名 files)", port)
g.Log().Infof(ctx, " POST %s/video/concat - 视频拼接(文件上传,参数名 files,至少2个视频)", port)
g.Log().Info(ctx, "============================================")
select {}
}
// cleanupTempDir 清理临时文件目录,防止旧运行残留
func cleanupTempDir(ctx context.Context) {
tempDir := g.Cfg().MustGet(ctx, "ffmpeg.temp_dir", "resource/temp").String()
if tempDir == "" {
tempDir = "resource/temp"
}
if !filepath.IsAbs(tempDir) {
absDir, err := filepath.Abs(tempDir)
if err != nil {
return
}
tempDir = absDir
}
entries, err := os.ReadDir(tempDir)
if err != nil {
return
}
for _, entry := range entries {
fullPath := filepath.Join(tempDir, entry.Name())
os.RemoveAll(fullPath)
}
g.Log().Infof(ctx, "临时目录已清理: %s", tempDir)
}