diff --git a/web/src/layouts/index.tsx b/web/src/layouts/index.tsx index 4a537b4..ffdc48d 100644 --- a/web/src/layouts/index.tsx +++ b/web/src/layouts/index.tsx @@ -1,8 +1,8 @@ import { history, Outlet, useLocation } from '@umijs/max'; import { PageContainer, ProLayout } from '@ant-design/pro-components'; -import { Dropdown } from 'antd'; +import { Dropdown, Typography } from 'antd'; import { LogoutOutlined } from '@ant-design/icons'; -import { menu } from '@/utils/metadata'; +import { menu, pageMetadata } from '@/utils/metadata'; // 菜单结构对齐 web.archived/src/app/Layout.jsx(运营 / 资源 两组);侧栏仅保留模块链接菜单,标题由 TopNav 呈现。 // Umi 4(react-router 6)全局布局:location 用 useLocation(),子路由用 渲染 @@ -48,7 +48,18 @@ export default function Layout() { ), }} > - + {/* 页面标题在卡片外面(内容区右上角);卡片内不再重复渲染标题。 */} + + {pageMetadata(location.pathname).title} + {pageMetadata(location.pathname).subtitle} + + } + > diff --git a/web/src/pages/accounts/$id/edit.tsx b/web/src/pages/accounts/$id/edit.tsx index 55ff42e..6828357 100644 --- a/web/src/pages/accounts/$id/edit.tsx +++ b/web/src/pages/accounts/$id/edit.tsx @@ -477,7 +477,7 @@ export default function Page() { ); return ( - +
{contextHolder}
@@ -497,6 +497,6 @@ export default function Page() { { key: 'strategy', label: '自动响应策略', children: strategyTab }, ]} /> - +
); } diff --git a/web/src/pages/accounts/$id/index.tsx b/web/src/pages/accounts/$id/index.tsx index 822f0e7..2dba860 100644 --- a/web/src/pages/accounts/$id/index.tsx +++ b/web/src/pages/accounts/$id/index.tsx @@ -223,7 +223,7 @@ export default function Page() { ]; return ( - +
{contextHolder}
@@ -255,6 +255,6 @@ export default function Page() { >

{`暂停账号 ${account.name}?待领取任务将进入 hold,恢复账号不会自动恢复既有 hold。`}

- +
); } diff --git a/web/src/pages/accounts/new.tsx b/web/src/pages/accounts/new.tsx index 35f1d31..64c5286 100644 --- a/web/src/pages/accounts/new.tsx +++ b/web/src/pages/accounts/new.tsx @@ -43,7 +43,7 @@ export default function Page() { } return ( - + {error ? ( ) : null} diff --git a/web/src/pages/attempts/$id/index.tsx b/web/src/pages/attempts/$id/index.tsx index bc7d145..ce2b7d5 100644 --- a/web/src/pages/attempts/$id/index.tsx +++ b/web/src/pages/attempts/$id/index.tsx @@ -35,11 +35,8 @@ export default function Page() { if (!attempt) return null; return ( - +
- - Attempt 详情 - {attempt.id} @@ -66,6 +63,6 @@ export default function Page() { - +
); } diff --git a/web/src/pages/browsers/$id/index.tsx b/web/src/pages/browsers/$id/index.tsx index 1d1d158..12f6328 100644 --- a/web/src/pages/browsers/$id/index.tsx +++ b/web/src/pages/browsers/$id/index.tsx @@ -47,7 +47,7 @@ export default function Page() { if (error || !runtime) return ; return ( - +
{`${runtime.name}(${runtime.alias})`} @@ -106,6 +106,6 @@ export default function Page() { - +
); } diff --git a/web/src/pages/browsers/new.tsx b/web/src/pages/browsers/new.tsx index 55bb0a9..25a895d 100644 --- a/web/src/pages/browsers/new.tsx +++ b/web/src/pages/browsers/new.tsx @@ -102,13 +102,12 @@ export default function Page() { } return ( - +
{contextHolder} -
- 为已授权且暂停的账号绑定网关、指纹与网络出口 +
- +
@@ -201,6 +200,6 @@ export default function Page() {
-
+
); } diff --git a/web/src/pages/creator/competitors/index.tsx b/web/src/pages/creator/competitors/index.tsx index 94e4d45..39f48a1 100644 --- a/web/src/pages/creator/competitors/index.tsx +++ b/web/src/pages/creator/competitors/index.tsx @@ -262,14 +262,11 @@ export default function Page() { !['not_started', 'running', 'failed'].includes(material.transcription_status); return ( - +
{contextHolder} - 共 {workPageInfo.total} 条}> - 时间窗口、指标阈值和“不可用”字段由后端原样保留。 -
- 筛选作品 - 调整条件后自动刷新 - + + 调整条件后自动刷新}> + setFilters((f) => ({ ...f, publishedBefore: e.target.value }))} /> -
+
+ {error ? ( 重试} /> ) : null} -
- - 当前页 {works.length} 条 · 共 {workPageInfo.total} 条 - - - - - -
- {workDetail ? ( + {workPageInfo.total > works.length ? ( +
+ + + + +
+ ) : null} + + {workDetail ? ( 作品详情 {workDetail.work_key || workDetail.id}} extra={} - style={{ marginTop: 16 }} > {workDetail.cover_url ? 作品封面 : null} @@ -346,7 +343,7 @@ export default function Page() { ) : null} {material ? ( - + 每一步都保留真实状态;失败不会被显示为成功。 } />; return ( - +
{contextHolder} - 按配置类别管理 UTC 采集窗口、指标采集和已批准的服务。 - + 按配置类别管理 UTC 采集窗口、指标采集和已批准的服务。 +
-
+
); } diff --git a/web/src/pages/creator/workbench/index.tsx b/web/src/pages/creator/workbench/index.tsx index b6cc212..ec34307 100644 --- a/web/src/pages/creator/workbench/index.tsx +++ b/web/src/pages/creator/workbench/index.tsx @@ -990,18 +990,20 @@ export default function Page() { ]; const operationsTab = ( -
+ +
+ ); return ( - +
{contextHolder} 当前私信文案尚未发送,放弃后再切换吗? - +
); } diff --git a/web/src/pages/drafts/$id/index.tsx b/web/src/pages/drafts/$id/index.tsx index 2d94b55..fd00ec2 100644 --- a/web/src/pages/drafts/$id/index.tsx +++ b/web/src/pages/drafts/$id/index.tsx @@ -110,15 +110,12 @@ export default function Page() { } return ( - +
{contextHolder}
-
- 草稿核对 - - {draft.account.platform_account_key} · 草稿版本 {draft.version} - -
+ + {draft.account.platform_account_key} · 草稿版本 {draft.version} +
{browsersError ? ( @@ -222,6 +219,6 @@ export default function Page() { {binding?.network_exit_id || '当前机器直连'} 的只读确认快照。版本变化后必须重新确认。

- +
); } diff --git a/web/src/pages/network-exits/$id/index.tsx b/web/src/pages/network-exits/$id/index.tsx index e96782b..91027ff 100644 --- a/web/src/pages/network-exits/$id/index.tsx +++ b/web/src/pages/network-exits/$id/index.tsx @@ -42,10 +42,9 @@ export default function Page() { const known = Object.hasOwn(healthText, exit.health_status ?? ''); return ( - +
- 网络出口详情 {`${exit.protocol}://${exit.host}:${exit.port}`} @@ -71,6 +70,6 @@ export default function Page() { - +
); } diff --git a/web/src/pages/tasks/index.tsx b/web/src/pages/tasks/index.tsx index 55a89f7..5a81eed 100644 --- a/web/src/pages/tasks/index.tsx +++ b/web/src/pages/tasks/index.tsx @@ -110,9 +110,9 @@ export default function Page() { ]; return ( - - 逐条处理暂停、版本变化与未知执行结果;不会自动重试或更换出口 - +
+ + ({ value, label }))} /> - - {error ? 重试} /> : null} + + + + {error ? 重试} /> : null}
- + /> + + ); }