标记待开发功能范围
This commit is contained in:
@@ -191,7 +191,7 @@ export function AdminEnterpriseApplicationsPage() {
|
||||
<Tabs
|
||||
items={[
|
||||
{ label: '短信应用', value: 'sms', content: <Table columns={smsColumns} data={filteredSmsApps} rowKey="id" /> },
|
||||
{ label: '彩信应用', value: 'mms', content: <Table columns={mmsColumns} data={filteredMmsApps} rowKey="id" /> },
|
||||
{ label: '彩信应用', value: 'mms', pending: true, content: <Table columns={mmsColumns} data={filteredMmsApps} rowKey="id" /> },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -565,6 +565,7 @@ export function AdminEnterpriseSignaturesPage() {
|
||||
{ label: '短信签名', value: 'sms', content: smsSignatureContent },
|
||||
{
|
||||
label: '彩信签名',
|
||||
pending: true,
|
||||
value: 'mms',
|
||||
content: (
|
||||
<>
|
||||
|
||||
@@ -595,7 +595,7 @@ export function AdminEnterpriseTemplatesPage() {
|
||||
value={activeTab}
|
||||
items={[
|
||||
{ label: '短信模板', value: 'sms', content: smsContent },
|
||||
{ label: '彩信模板', value: 'mms', content: mmsContent },
|
||||
{ label: '彩信模板', value: 'mms', pending: true, content: mmsContent },
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -5,6 +5,7 @@ export type TabItem = {
|
||||
label: string;
|
||||
value: string;
|
||||
content: ReactNode;
|
||||
pending?: boolean;
|
||||
};
|
||||
|
||||
type TabsProps = {
|
||||
@@ -36,7 +37,8 @@ export function Tabs({ items, defaultValue, value, onChange }: TabsProps) {
|
||||
role="tab"
|
||||
type="button"
|
||||
>
|
||||
{item.label}
|
||||
<span>{item.label}</span>
|
||||
{item.pending ? <span className="dev-status-badge">待开发</span> : null}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -61,7 +61,7 @@ export function AdminLayout() {
|
||||
{ label: '企业认证审核', to: '/admin/enterprise-audit', icon: ShieldCheck },
|
||||
{ label: '短信审核', to: '/admin/sms-audit', icon: MessageSquare },
|
||||
{ label: '短信模板审核', to: '/admin/templates', icon: FileCheck2 },
|
||||
{ label: '彩信模板审核', to: '/admin/signatures', icon: ImageIcon },
|
||||
{ label: '彩信模板审核', to: '/admin/signatures', icon: ImageIcon, pending: true },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -69,7 +69,7 @@ export function AdminLayout() {
|
||||
icon: RadioTower,
|
||||
items: [
|
||||
{ label: '短信通道管理', to: '/admin/channels', icon: RadioTower },
|
||||
{ label: '彩信通道管理', to: '/admin/mms-channels', icon: ImageIcon },
|
||||
{ label: '彩信通道管理', to: '/admin/mms-channels', icon: ImageIcon, pending: true },
|
||||
{ label: '短信通道组管理', to: '/admin/channel-groups', icon: Layers3 },
|
||||
],
|
||||
},
|
||||
@@ -86,7 +86,7 @@ export function AdminLayout() {
|
||||
icon: Send,
|
||||
items: [
|
||||
{ label: '短信任务进度', to: '/admin/sms-task-progress', icon: TrendingUp },
|
||||
{ label: '彩信任务进度', to: '/admin/mms-task-progress', icon: BarChart3 },
|
||||
{ label: '彩信任务进度', to: '/admin/mms-task-progress', icon: BarChart3, pending: true },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -94,7 +94,7 @@ export function AdminLayout() {
|
||||
icon: ReceiptText,
|
||||
items: [
|
||||
{ label: '短信记录', to: '/admin/sms-records', icon: MessageSquare },
|
||||
{ label: '彩信记录', to: '/admin/mms-records', icon: ImageIcon },
|
||||
{ label: '彩信记录', to: '/admin/mms-records', icon: ImageIcon, pending: true },
|
||||
{ label: '短信上行记录', to: '/admin/sms-uplink-records', icon: MessageSquare },
|
||||
{ label: '充值记录', to: '/admin/recharge-records', icon: ReceiptText },
|
||||
{ label: '账单流水', to: '/admin/billing', icon: ReceiptText },
|
||||
|
||||
@@ -16,6 +16,7 @@ export type ShellNavItem = {
|
||||
label: string;
|
||||
to: string;
|
||||
icon: ComponentType<{ size?: number; strokeWidth?: number }>;
|
||||
pending?: boolean;
|
||||
};
|
||||
|
||||
export type ShellNavSection = {
|
||||
@@ -84,9 +85,10 @@ export function AppShell({
|
||||
const Icon = item.icon;
|
||||
|
||||
return (
|
||||
<NavLink key={item.to} to={item.to} end title={item.label}>
|
||||
<NavLink key={item.to} to={item.to} end title={item.pending ? `${item.label}(待开发)` : item.label}>
|
||||
<Icon size={17} strokeWidth={2.1} />
|
||||
<span>{item.label}</span>
|
||||
<span className="side-nav-label">{item.label}</span>
|
||||
{item.pending ? <span className="dev-status-badge">待开发</span> : null}
|
||||
</NavLink>
|
||||
);
|
||||
})}
|
||||
|
||||
@@ -46,20 +46,20 @@ export function ClientLayout() {
|
||||
{
|
||||
title: '彩信服务',
|
||||
items: [
|
||||
{ label: '签名报备', to: '/client/mms-signatures', icon: PenLine },
|
||||
{ label: '彩信模板管理', to: '/client/mms-templates', icon: ImageIcon },
|
||||
{ label: '发送彩信', to: '/client/mms-send', icon: MessageSquareText },
|
||||
{ label: '查看批量任务', to: '/client/mms-batch-tasks', icon: ClipboardList },
|
||||
{ label: '彩信发送详情', to: '/client/mms-send-detail', icon: ClipboardList },
|
||||
{ label: '查看上行彩信', to: '/client/mms-uplink-messages', icon: ImageIcon },
|
||||
{ label: '签名报备', to: '/client/mms-signatures', icon: PenLine, pending: true },
|
||||
{ label: '彩信模板管理', to: '/client/mms-templates', icon: ImageIcon, pending: true },
|
||||
{ label: '发送彩信', to: '/client/mms-send', icon: MessageSquareText, pending: true },
|
||||
{ label: '查看批量任务', to: '/client/mms-batch-tasks', icon: ClipboardList, pending: true },
|
||||
{ label: '彩信发送详情', to: '/client/mms-send-detail', icon: ClipboardList, pending: true },
|
||||
{ label: '查看上行彩信', to: '/client/mms-uplink-messages', icon: ImageIcon, pending: true },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '账户',
|
||||
items: [
|
||||
{ label: '充值套餐', to: '/client/billing', icon: BadgeDollarSign },
|
||||
{ label: '账单流水', to: '/client/invoices', icon: ReceiptText },
|
||||
{ label: '账号设置', to: '/client/settings', icon: Settings },
|
||||
{ label: '充值套餐', to: '/client/billing', icon: BadgeDollarSign, pending: true },
|
||||
{ label: '账单流水', to: '/client/invoices', icon: ReceiptText, pending: true },
|
||||
{ label: '账号设置', to: '/client/settings', icon: Settings, pending: true },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -646,10 +646,13 @@
|
||||
}
|
||||
|
||||
.ui-tabs__tab {
|
||||
align-items: center;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
color: var(--color-text-muted);
|
||||
display: inline-flex;
|
||||
font-weight: var(--font-weight-semibold);
|
||||
gap: var(--space-2);
|
||||
padding: 0 var(--space-2) var(--space-3);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
+22
-1
@@ -293,12 +293,33 @@ h3 {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.side-nav a span {
|
||||
.side-nav-label {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.dev-status-badge {
|
||||
background: var(--color-warning-soft);
|
||||
border: 1px solid color-mix(in srgb, var(--color-warning) 24%, transparent);
|
||||
border-radius: 999px;
|
||||
color: var(--color-warning);
|
||||
flex: 0 0 auto;
|
||||
font-size: 11px;
|
||||
font-weight: var(--font-weight-semibold);
|
||||
line-height: 1;
|
||||
padding: 3px 6px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ui-tabs__tab {
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.side-nav a.active,
|
||||
.side-nav a:hover {
|
||||
background: var(--color-selected-soft);
|
||||
|
||||
Reference in New Issue
Block a user