feat: Logo模块化与渐变色统一

- 修复 --help/-h/-?/--version 在交互模式下无响应的问题
- 新增 internal/logo/logo.go 统一管理logo展示
- 新增 build.sh 自动注入git版本号
- TUI头部与CLI使用统一logo模块
- 移除TUI头部的 [Ctrl+C 退出] 显示
- 统一版本号格式: ( v1.1.1-dirty )
This commit is contained in:
2026-04-08 01:08:47 +08:00
parent 9acbc834a4
commit a9b7a69224
7 changed files with 237 additions and 67 deletions

View File

@@ -498,4 +498,43 @@ yoyo onboard --force
- 支持 `~` 路径展开
- huh使用v2版本支持泛型和链式API
**讨论记录**: [taolun.md#2026-04-07-配置路径修复和huh迁移](taolun.md)
**讨论记录**: [taolun.md#2026-04-07-配置路径修复和huh迁移](taolun.md)
---
## v1.1.1 (2026-04-08)
### BUG修复
- 修复 `--help` `-h` `-?` `--version` 在默认交互式模式下无响应的问题
- 原因交互模式判断优先于help/version检查导致flags被忽略
### 新功能
- 新增 `internal/logo/logo.go` 模块统一管理logo展示
- 编译时通过 `-ldflags` 注入版本号,实现动态版本管理
- 新增 `build.sh` 脚本自动获取git版本并注入
### 改进
- 帮助信息和版本输出使用渐变logo紫→青色
- TUI头部与CLI帮助信息使用统一的logo模块
- 移除TUI头部的 `[Ctrl+C 退出]` 显示
- 统一版本号格式:` ( v1.1.1-dirty )`` ( )`(无版本时)
### 技术细节
```go
// logo模块核心函数
func GradientText(text string, startColor, endColor string) string
func GetLogoPattern() string // 返回4行ascii art
func GetVersionSuffix() string // 返回 " (v1.1.1-dirty )" 或 " ( )"
func PrintLogoWithVersion() // 打印完整logo
```
```bash
# build.sh 版本注入
VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "")
go build -ldflags "-X github.com/titor/fanyi/internal/logo.version=${VERSION}" -o yoyo ./cmd/yoyo
```
- 渐变色方案:`#B413DC`(紫)→ `#00C8C8`(青)
- TUI通过调用 `logo.GradientText(logo.GetLogoPattern(), "#B413DC", "#00C8C8")` 获取渐变logo
**讨论记录**: [taolun.md#2026-04-08-Logo模块化与渐变色统一](taolun.md)