From 522e5d6300970094257951516ffa23e9d0572de6 Mon Sep 17 00:00:00 2001 From: logan Date: Fri, 18 Sep 2026 11:51:27 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B6=E6=A0=8F=E7=B2=BE=E7=AE=80=EF=BC=9A?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=20=E2=8B=AF=20=E6=9B=B4=E5=A4=9A=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=EF=BC=8CMock=20=E7=9B=B4=E8=BE=BE=E6=8C=89=E9=92=AE?= =?UTF-8?q?=20+=20=E5=AE=98=E7=BD=91=E5=85=A5=E5=8F=A3=E4=B8=8B=E6=B2=89?= =?UTF-8?q?=E4=BE=A7=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 原 ⋯ 内容分流:设置/Mock/重置→设置弹窗已有;环境/主题/文档→顶栏已有按钮; 自动化测试→侧栏底部已有;官网与价格→侧栏底部新增链接 - Mock 数据作为核心能力提升为顶栏一键直达(烧瓶图标 → 设置 Mock 页) - 53 前端用例绿;顶栏近景截图评审通过 --- apps/server/data/opsxapi.db-wal | Bin 325512 -> 362592 bytes packages/ui/src/components/Sidebar.tsx | 13 +++- packages/ui/src/components/TestingView.tsx | 2 +- packages/ui/src/components/TopBar.tsx | 86 ++------------------- 4 files changed, 20 insertions(+), 81 deletions(-) diff --git a/apps/server/data/opsxapi.db-wal b/apps/server/data/opsxapi.db-wal index cecbc5741718dc38e46fdbdc04b9e504ef2631bf..c3727be3c75e54ef9ca848d71fa953d2f386f7f2 100644 GIT binary patch delta 733 zcmbu6Pe>F|9LL}6yxGli-!EM^#a*j|Yr;m(o7wpX{l)YkAq3WKgPEOqW$fyq((01J zN`{v@)QTW=ii(0jW55zJ@e+23vQBG4xl%zEghq5|MoFS;hX?P^@BO~t@8>tT99g)! ztuN2z19^TN53V*MgaY0|XPXE5I<8D7ZcR_#tDH>qguOdVVhAn+A=gQ4%-p(#Tsn_K zs5;qy0B5^Tnq8)y>+CwXw%wEI&S{pe$dsyzky4l?%T$)7jGmF|nPwZR&2*}XBGsv= zGE=3RWb0J74byvJx~Q0vWXKY8C{uMNDXMO!G$zT^vFy|L$IE*85UO)Wn)x2Ca(mm@ zv*^U^XpK z#eXBX(0=3g(CFcP8znm;ftsY?mH2`iq>k&wL+^U`-wDGK5<=w&^6&y!s3BDDvHBUT ztr0>ffw(X(4PILs$uHfV_*fXneirvj4i`7=@)2+NdJ{>%F8vU?eF*^;5&VL0umYc9 z(d+gK3J+&^9L9pca~zK`U&ir;6LO$7o;_Cay>)KtiQggDw=FqRMAZ}}_NTMH*&sa_Zlr{BTpW>^-POyD!)rP) a??YLEukZ;zz`Pgk`8t*W4i>VjIQ|=(SlfjF delta 17 YcmaDbL9FAwa6=1Y3sVd87M70h07RPyS^xk5 diff --git a/packages/ui/src/components/Sidebar.tsx b/packages/ui/src/components/Sidebar.tsx index 837c7de..fa5bbb8 100644 --- a/packages/ui/src/components/Sidebar.tsx +++ b/packages/ui/src/components/Sidebar.tsx @@ -115,8 +115,8 @@ export function Sidebar() { )} - {/* 自动化测试入口 */} -
+ {/* 自动化测试 / 官网入口 */} +
+ + 官网与价格 +
setMenu(null)} /> diff --git a/packages/ui/src/components/TestingView.tsx b/packages/ui/src/components/TestingView.tsx index e96606e..ac12c61 100644 --- a/packages/ui/src/components/TestingView.tsx +++ b/packages/ui/src/components/TestingView.tsx @@ -197,7 +197,7 @@ export function TestingView() {
手动编排 · AI 生成 · 定时调度,三种方式共用同一套场景用例
- 左侧新建用例,或从「⋯ 菜单 → 自动化测试」随时返回 + 左侧新建用例;侧栏底部「自动化测试」随时进出本视图
diff --git a/packages/ui/src/components/TopBar.tsx b/packages/ui/src/components/TopBar.tsx index bf31259..1f01598 100644 --- a/packages/ui/src/components/TopBar.tsx +++ b/packages/ui/src/components/TopBar.tsx @@ -1,5 +1,5 @@ /** - * 顶栏:logo / 新建 / 导入导出 / 环境 / 主题 / 文档 / 设置 / 更多。 + * 顶栏:logo / 新建 / 导入导出 / 环境 / Mock / 账号 / 主题 / 文档 / 设置。 */ import { useEffect, useState } from "react"; import { useWorkspace } from "../workspaceStore"; @@ -30,7 +30,6 @@ export function TopBar() { const [newMenu, setNewMenu] = useState<{ x: number; y: number } | null>(null); const [exportMenu, setExportMenu] = useState<{ x: number; y: number } | null>(null); - const [moreMenu, setMoreMenu] = useState<{ x: number; y: number } | null>(null); const [spaceMenu, setSpaceMenu] = useState<{ x: number; y: number } | null>(null); const [accountMenu, setAccountMenu] = useState<{ x: number; y: number } | null>(null); const account = useWorkspace((s) => s.account); @@ -154,68 +153,6 @@ export function TopBar() { ] : []; - const moreItems: MenuItem[] = [ - { - label: "设置…", - icon: , - onClick: () => setDialog({ type: "settings" }), - }, - { - label: "Mock 数据…", - icon: , - onClick: () => setDialog({ type: "settings", tab: "mock" }), - }, - { - label: "自动化测试", - icon: , - onClick: () => useWorkspace.getState().setView("testing"), - }, - { - label: "环境管理…", - icon: , - onClick: () => setDialog({ type: "environments" }), - }, - { - label: settings.theme === "dark" ? "切换到浅色主题" : "切换到深色主题", - icon: , - onClick: () => setTheme(settings.theme === "dark" ? "light" : "dark"), - }, - { type: "sep" as const }, - { - label: ( - - 用户文档 - - - ), - icon: , - onClick: () => window.open("/docs", "_blank", "noopener,noreferrer"), - }, - { - label: ( - - 官网与价格 - - - ), - icon: , - onClick: () => window.open("/home", "_blank", "noopener,noreferrer"), - }, - { type: "sep" as const }, - { - label: "重置工作区…", - icon: , - danger: true, - onClick: () => - setDialog({ - type: "confirm", - title: "重置工作区", - message: "将恢复到初始示例数据,当前集合 / 环境 / 历史会被覆盖(建议先在「导出」中生成全量备份)。确定继续吗?", - action: () => useWorkspace.getState().resetWorkspace(), - }), - }, - ]; - return (
setDialog({ type: "environments" })} title="环境管理"> 环境 +
@@ -352,16 +296,6 @@ export function TopBar() { > -
setAccountMenu(null)} /> - setMoreMenu(null)} - /> setNewMenu(null)}