refactor(enterprise-site): consolidate site panel header and actions
Backend CI / Backend (push) Failing after 13m57s
Desktop Client Build / Resolve Build Metadata (push) Successful in 27s
Deployment Config CI / Deployment Config (push) Successful in 38s
Frontend CI / Frontend (push) Successful in 5m55s
Desktop Client Build / Build Desktop Client (push) Successful in 24m25s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 34s
Backend CI / Backend (push) Failing after 13m57s
Desktop Client Build / Resolve Build Metadata (push) Successful in 27s
Deployment Config CI / Deployment Config (push) Successful in 38s
Frontend CI / Frontend (push) Successful in 5m55s
Desktop Client Build / Build Desktop Client (push) Successful in 24m25s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 34s
Merge the standalone enterprise-panel intro into the connector panel header on the tenant media view: move the "新增站点" action into the panel head, retitle the panel to 企业自建站点, and refresh the description copy. Presentation-only restructuring; no logic affected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -819,35 +819,24 @@ function releaseSize(value?: number | null): string {
|
||||
</section>
|
||||
|
||||
<template v-if="activeMediaScope === 'enterprise'">
|
||||
<section class="panel enterprise-panel">
|
||||
<div class="enterprise-panel__main">
|
||||
<div class="enterprise-panel__copy">
|
||||
<span class="section-kicker">站点连接管理</span>
|
||||
<h3>企业自建站点</h3>
|
||||
<p>
|
||||
管理客户官网、品牌站、行业站的连接凭证和连通状态。发布结果统一进入发文管理查看。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="enterprise-actions">
|
||||
<a-button
|
||||
type="primary"
|
||||
class="btn-enterprise-primary"
|
||||
@click="openEnterpriseSiteModal()"
|
||||
>
|
||||
<template #icon><PlusOutlined /></template>
|
||||
新增站点
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="enterprise-grid enterprise-grid--single">
|
||||
<article class="panel connector-panel">
|
||||
<div class="panel-head-compact">
|
||||
<div>
|
||||
<h3 class="panel-title">站点连接</h3>
|
||||
<p class="panel-desc">绑定后可测试连通性、同步栏目和维护站点连接;文章记录请到发文管理查看。</p>
|
||||
<h3 class="panel-title">企业自建站点</h3>
|
||||
<p class="panel-desc">
|
||||
管理客户官网、品牌站、行业站的连接凭证和连通状态。发布结果统一进入发文管理查看。
|
||||
</p>
|
||||
</div>
|
||||
<div class="panel-head-actions">
|
||||
<a-button
|
||||
type="primary"
|
||||
class="btn-enterprise-primary"
|
||||
@click="openEnterpriseSiteModal()"
|
||||
>
|
||||
<template #icon><PlusOutlined /></template>
|
||||
新增站点
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -882,7 +871,10 @@ function releaseSize(value?: number | null): string {
|
||||
<span class="site-badge site-badge--cms">
|
||||
{{ cmsTypeLabel(site.cms_type as CmsType) }}
|
||||
</span>
|
||||
<span class="site-badge" :class="`site-badge--status-${site.status || 'pending'}`">
|
||||
<span
|
||||
class="site-badge"
|
||||
:class="`site-badge--status-${site.status || 'pending'}`"
|
||||
>
|
||||
<span class="site-badge__dot"></span>
|
||||
{{ enterpriseSiteStatusLabel(site.status) }}
|
||||
</span>
|
||||
@@ -917,7 +909,10 @@ function releaseSize(value?: number | null): string {
|
||||
<a-tooltip title="测试连通性" placement="top">
|
||||
<a-button
|
||||
size="middle"
|
||||
:loading="pingEnterpriseSiteMutation.isPending.value && pingEnterpriseSiteMutation.variables.value === site.id"
|
||||
:loading="
|
||||
pingEnterpriseSiteMutation.isPending.value &&
|
||||
pingEnterpriseSiteMutation.variables.value === site.id
|
||||
"
|
||||
@click="pingEnterpriseSite(site)"
|
||||
>
|
||||
<template #icon><ApiOutlined /></template>
|
||||
@@ -930,8 +925,10 @@ function releaseSize(value?: number | null): string {
|
||||
class="action-more-btn"
|
||||
type="text"
|
||||
:loading="
|
||||
(syncEnterpriseCategoriesMutation.isPending.value && syncEnterpriseCategoriesMutation.variables.value === site.id) ||
|
||||
(deleteEnterpriseSiteMutation.isPending.value && deleteEnterpriseSiteMutation.variables.value === site.id)
|
||||
(syncEnterpriseCategoriesMutation.isPending.value &&
|
||||
syncEnterpriseCategoriesMutation.variables.value === site.id) ||
|
||||
(deleteEnterpriseSiteMutation.isPending.value &&
|
||||
deleteEnterpriseSiteMutation.variables.value === site.id)
|
||||
"
|
||||
@click.stop
|
||||
>
|
||||
@@ -952,11 +949,7 @@ function releaseSize(value?: number | null): string {
|
||||
<span>编辑站点</span>
|
||||
</a-menu-item>
|
||||
<a-menu-divider />
|
||||
<a-menu-item
|
||||
key="delete"
|
||||
danger
|
||||
@click="deleteEnterpriseSite(site)"
|
||||
>
|
||||
<a-menu-item key="delete" danger @click="deleteEnterpriseSite(site)">
|
||||
<DeleteOutlined />
|
||||
<span>删除站点</span>
|
||||
</a-menu-item>
|
||||
@@ -965,7 +958,10 @@ function releaseSize(value?: number | null): string {
|
||||
</a-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="enterpriseSiteLastError(site)" class="site-connection-card__error-banner">
|
||||
<div
|
||||
v-if="enterpriseSiteLastError(site)"
|
||||
class="site-connection-card__error-banner"
|
||||
>
|
||||
<ExclamationCircleOutlined class="error-banner-icon" />
|
||||
<div class="error-banner-content">
|
||||
<div class="error-banner-title">连接失败诊断</div>
|
||||
@@ -1309,9 +1305,7 @@ function releaseSize(value?: number | null): string {
|
||||
<a-input-password
|
||||
v-model:value="enterpriseSiteForm.secret"
|
||||
:placeholder="
|
||||
editingEnterpriseSiteId === null
|
||||
? 'PBootCMS 后台 api_secret'
|
||||
: '留空则保留原 Secret'
|
||||
editingEnterpriseSiteId === null ? 'PBootCMS 后台 api_secret' : '留空则保留原 Secret'
|
||||
"
|
||||
/>
|
||||
</label>
|
||||
@@ -1475,7 +1469,9 @@ function releaseSize(value?: number | null): string {
|
||||
background: #ffffff;
|
||||
color: #0f172a;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 4px 12px rgba(15, 23, 42, 0.04);
|
||||
box-shadow:
|
||||
0 1px 3px rgba(0, 0, 0, 0.05),
|
||||
0 4px 12px rgba(15, 23, 42, 0.04);
|
||||
}
|
||||
|
||||
.media-scope-tab--active .tab-icon {
|
||||
@@ -2027,7 +2023,9 @@ function releaseSize(value?: number | null): string {
|
||||
border: 1px solid #e2e8f0;
|
||||
border-radius: 16px;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px -1px rgba(0, 0, 0, 0.01);
|
||||
box-shadow:
|
||||
0 4px 6px -1px rgba(0, 0, 0, 0.02),
|
||||
0 2px 4px -1px rgba(0, 0, 0, 0.01);
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
max-width: 680px;
|
||||
width: 100%;
|
||||
@@ -2035,7 +2033,9 @@ function releaseSize(value?: number | null): string {
|
||||
|
||||
.site-connection-card:hover {
|
||||
border-color: #cbd5e1;
|
||||
box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 10px 10px -5px rgba(15, 23, 42, 0.04);
|
||||
box-shadow:
|
||||
0 20px 25px -5px rgba(15, 23, 42, 0.08),
|
||||
0 10px 10px -5px rgba(15, 23, 42, 0.04);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
@@ -2325,7 +2325,9 @@ function releaseSize(value?: number | null): string {
|
||||
border-color: #2563eb;
|
||||
color: #2563eb;
|
||||
background: #eff6ff;
|
||||
box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.1), 0 2px 4px -1px rgba(37, 99, 235, 0.06);
|
||||
box-shadow:
|
||||
0 4px 6px -1px rgba(37, 99, 235, 0.1),
|
||||
0 2px 4px -1px rgba(37, 99, 235, 0.06);
|
||||
}
|
||||
|
||||
.site-connection-card__actions :deep(.ant-btn-background-ghost.ant-btn-dangerous) {
|
||||
@@ -2343,7 +2345,9 @@ function releaseSize(value?: number | null): string {
|
||||
border-color: #f43f5e;
|
||||
color: #ffffff;
|
||||
background: #f43f5e;
|
||||
box-shadow: 0 4px 6px -1px rgba(244, 63, 94, 0.2), 0 2px 4px -1px rgba(244, 63, 94, 0.1);
|
||||
box-shadow:
|
||||
0 4px 6px -1px rgba(244, 63, 94, 0.2),
|
||||
0 2px 4px -1px rgba(244, 63, 94, 0.1);
|
||||
}
|
||||
|
||||
.connector-sample {
|
||||
|
||||
Reference in New Issue
Block a user