From 885478a7e0dfc3832cdd094ed388891c41062eb9 Mon Sep 17 00:00:00 2001 From: xuans Date: Sun, 27 Sep 2026 17:33:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=91=BD=E4=BB=A4=E8=A1=8C?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E9=94=99=E8=AF=AF=E8=BE=93=E5=87=BA=E5=B9=B6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=8F=91=E5=B8=83=E5=A4=8D=E6=A0=B8=E8=AF=81?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/cli/root.go | 7 ++++++- backend/internal/cli/scope_test.go | 3 +++ doc/Scert整改任务执行清单.md | 7 +++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/backend/internal/cli/root.go b/backend/internal/cli/root.go index b157462..e757224 100644 --- a/backend/internal/cli/root.go +++ b/backend/internal/cli/root.go @@ -64,7 +64,12 @@ func Execute() { } func newRootCommand() *cobra.Command { - root := &cobra.Command{Use: "scert", Short: "SSL 证书服务与运维工具,业务管理请使用 Web", SilenceUsage: true} + root := &cobra.Command{ + Use: "scert", + Short: "SSL 证书服务与运维工具,业务管理请使用 Web", + SilenceUsage: true, + SilenceErrors: true, + } root.CompletionOptions.DisableDefaultCmd = true root.SetHelpCommand(newHelpCommand()) root.SetHelpTemplate(helpTemplate) diff --git a/backend/internal/cli/scope_test.go b/backend/internal/cli/scope_test.go index 592f0f0..233f80c 100644 --- a/backend/internal/cli/scope_test.go +++ b/backend/internal/cli/scope_test.go @@ -74,6 +74,9 @@ func TestRetiredBusinessCommandsRejectBeforeAccessingData(t *testing.T) { if strings.Contains(output.String()+err.Error(), "test-secret-not-real") { t.Fatal("迁移提示泄露了旧命令中的凭据参数") } + if output.Len() != 0 { + t.Fatalf("错误应交由中文入口统一输出,不能重复打印框架提示:%s", output.String()) + } content, readErr := os.ReadFile(path) if readErr != nil || !bytes.Equal(content, original) { t.Fatalf("被停用命令修改了配置:%v", readErr) diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index d1fbf08..abaf640 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -168,3 +168,10 @@ - 新增命令树白名单和 11 类旧入口拒绝测试;用无效配置和模拟凭据证明拒绝先于配置读取,配置内容不变且没有新增运行数据。 - CLI 定向测试、后端全量 `go test -p 1 -count=1 -timeout=3m ./...` 和 `go vet -p=1 ./...` 已通过。使用测试临时目录,没有清空或连接生产数据库。 - 下一步:从本批干净提交构建发布包,运行实际 Windows 可执行文件的帮助和旧入口退出码检查;Linux 安装及服务运行仍需独立实机验证。 + +### 2026-09-27:CLI 实际产物复核修正 + +- `d90ddaa` 已推送并完成干净工作区双平台构建,产物位于 `build/release-scope-20260927-d90ddaa/`。 +- 实际 Windows 可执行文件的默认帮助仅显示运维命令;旧 `domain add` 返回退出码 1,没有执行旧业务。 +- 实测发现框架先输出英文 `Error:`,入口随后又输出中文错误,造成重复提示。已设置根命令 `SilenceErrors=true`,由 `Execute` 统一输出中文错误;新增无重复输出断言。 +- 修正后 CLI 和发布模块定向测试及静态检查通过;仍需以修正后的干净发布包完成最终范围复核,不能用之前的二进制代替。