From b39b0aec408c409684486f531ab2eb87092685ee Mon Sep 17 00:00:00 2001 From: chuan Date: Sat, 15 Aug 2026 02:35:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E6=9E=84=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8F=B0=E5=B9=B6=E9=9A=94=E7=A6=BB=E6=B5=8B=E8=AF=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/plugin/management_test.go | 28 +- internal/web/ui.html | 725 +++++++++++++++++++++++------ 2 files changed, 603 insertions(+), 150 deletions(-) diff --git a/internal/plugin/management_test.go b/internal/plugin/management_test.go index 2e575f5..f1a61ac 100644 --- a/internal/plugin/management_test.go +++ b/internal/plugin/management_test.go @@ -371,7 +371,7 @@ func TestUsageManagementResponseContainsDisplayFields(t *testing.T) { func TestUsageResourceServesTablePage(t *testing.T) { response := managementCall(t, NewApp(), http.MethodGet, resourceBase+resourceUI) page := string(response.Body) - if response.StatusCode != http.StatusOK || !strings.Contains(page, "最近用量记录") { + if response.StatusCode != http.StatusOK || !strings.Contains(page, "请求明细") { t.Fatalf("unexpected UI response: status=%d", response.StatusCode) } for _, column := range []string{"Key / 别名", "推理强度", "生成速度", "缓存写入", "总成本", "客户端 IP"} { @@ -382,9 +382,33 @@ func TestUsageResourceServesTablePage(t *testing.T) { if !strings.Contains(page, `return "compact"`) || !strings.Contains(page, "isCompactEndpoint(record.endpoint)") { t.Fatal("UI does not contain compact display rules") } - for _, feature := range []string{"下游 Keys", "创建 Key", "指定账号", "允许模型", "永久归档"} { + for _, feature := range []string{"创建 Key", "指定账号", "允许模型", "永久归档"} { if !strings.Contains(page, feature) { t.Fatalf("UI does not contain managed access feature %q", feature) } } + for _, feature := range []string{"测试模式", `data-mode="demo"`, `id="page-buttons"`, "const PAGE_SIZE = 100", "length: 2370", `id="user-usage"`, `id="daily-chart"`, `overflow-y: hidden`, "测试模式禁止访问真实管理接口"} { + if !strings.Contains(page, feature) { + t.Fatalf("UI does not contain workspace feature %q", feature) + } + } + if strings.Contains(page, "