From c52f41545df179b542f106d08e6dd013a70216e7 Mon Sep 17 00:00:00 2001 From: yingyu5658 Date: Thu, 4 Dec 2025 11:19:57 +0800 Subject: refactor: 模块化重构并优化输出 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将原本的 main.go 拆分为 命令 网络请求 下载三个单独职责的文件 - 优化输出, 添加用户友好的Emoji --- cmd/bvd/main.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cmd/bvd/main.go (limited to 'cmd') diff --git a/cmd/bvd/main.go b/cmd/bvd/main.go new file mode 100644 index 0000000..3a537b4 --- /dev/null +++ b/cmd/bvd/main.go @@ -0,0 +1,42 @@ +package main + +import ( + "fmt" + "log" + "os" + + "bvd/internal/api" + downloader "bvd/internal/download" + + "github.com/urfave/cli/v2" +) + +func main() { + app := &cli.App{ + Name: "bvd", + Usage: "快速、高效、易用的下载B站视频 CLI 工具", + Commands: []*cli.Command{ + { + Name: "download", + Usage: "下载指定 BV 号的视频", + Action: func(c *cli.Context) error { + bvid := c.Args().First() + if bvid == "" { + return fmt.Errorf("请提供视频 BV 号") + } + + biliAPI := api.NewBiliAPI() + downloader := downloader.NewDownloader() + + return downloader.Start(bvid, biliAPI) + }, + ArgsUsage: " 欲下载视频的 BV 号", + }, + }, + Version: "1.0.1", + } + + if err := app.Run(os.Args); err != nil { + log.Fatal(err) + } +} -- cgit v1.2.3