feat: 完善接口19-顶部通知铃铛与站内通知中心
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m5s

This commit is contained in:
luo
2026-07-25 10:20:53 +08:00
parent eb13763020
commit 9289a6e940
37 changed files with 1264 additions and 226 deletions

View File

@@ -88,7 +88,7 @@
</ElDescriptionsItem>
<ElDescriptionsItem label="预计套餐到期时间">
<span
:class="{ 'expiry-estimate--expiring': cardInfo?.is_expiring }"
:class="getExpiryEstimateClass(cardInfo)"
:title="getExpiryEstimateTooltip(cardInfo)"
>
{{ getExpiryEstimateText(cardInfo) }}
@@ -182,7 +182,7 @@
</ElDescriptionsItem>
<ElDescriptionsItem label="预计套餐到期时间">
<span
:class="{ 'expiry-estimate--expiring': cardInfo?.is_expiring }"
:class="getExpiryEstimateClass(cardInfo)"
:title="getExpiryEstimateTooltip(cardInfo)"
>
{{ getExpiryEstimateText(cardInfo) }}
@@ -598,7 +598,11 @@
import { useAuth } from '@/composables/useAuth'
import { useUserStore } from '@/store/modules/user'
import { formatDateTime } from '@/utils/business/format'
import { getExpiryEstimateText, getExpiryEstimateTooltip } from '@/utils/business/expiryEstimate'
import {
getExpiryEstimateText,
getExpiryEstimateTooltip,
getExpiryEstimateClass
} from '@/utils/business/expiryEstimate'
// Props
interface BindingCard {
@@ -987,11 +991,24 @@
word-break: break-all;
}
.expiry-estimate--expiring {
.expiry-estimate--critical,
.expiry-estimate--warning,
.expiry-estimate--notice {
font-weight: 500;
}
.expiry-estimate--critical {
color: var(--el-color-danger);
}
.expiry-estimate--warning {
color: #8e44ad;
}
.expiry-estimate--notice {
color: #e83e8c;
}
.card-header {
display: flex;
gap: 12px;

View File

@@ -995,7 +995,11 @@
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import { useAuth } from '@/composables/useAuth'
import { formatDateTime } from '@/utils/business/format'
import { getExpiryEstimateText, getExpiryEstimateTooltip } from '@/utils/business/expiryEstimate'
import {
getExpiryEstimateText,
getExpiryEstimateTooltip,
getExpiryEstimateClass
} from '@/utils/business/expiryEstimate'
import type { PackageSeriesResponse } from '@/types/api'
import type { EnterpriseItem } from '@/types/api/enterprise'
import type {
@@ -1900,7 +1904,7 @@
h(
'span',
{
class: { 'expiry-estimate--expiring': row.is_expiring },
class: getExpiryEstimateClass(row),
title: getExpiryEstimateTooltip(row)
},
getExpiryEstimateText(row)
@@ -3218,8 +3222,21 @@
cursor: pointer;
}
.expiry-estimate--expiring {
.expiry-estimate--critical,
.expiry-estimate--warning,
.expiry-estimate--notice {
font-weight: 500;
}
.expiry-estimate--critical {
color: var(--el-color-danger);
}
.expiry-estimate--warning {
color: #8e44ad;
}
.expiry-estimate--notice {
color: #e83e8c;
}
</style>

View File

@@ -1045,7 +1045,11 @@
import { useUserStore } from '@/store/modules/user'
import { storeToRefs } from 'pinia'
import { formatDateTime } from '@/utils/business/format'
import { getExpiryEstimateText, getExpiryEstimateTooltip } from '@/utils/business/expiryEstimate'
import {
getExpiryEstimateText,
getExpiryEstimateTooltip,
getExpiryEstimateClass
} from '@/utils/business/expiryEstimate'
import { formatRemainingTime, FrontendRateLimitError } from '@/utils/business/apiRateLimit'
import type {
StandaloneIotCard,
@@ -2127,7 +2131,7 @@
h(
'span',
{
class: { 'expiry-estimate--expiring': row.is_expiring },
class: getExpiryEstimateClass(row),
title: getExpiryEstimateTooltip(row)
},
getExpiryEstimateText(row)
@@ -3044,8 +3048,21 @@
cursor: pointer;
}
.expiry-estimate--expiring {
.expiry-estimate--critical,
.expiry-estimate--warning,
.expiry-estimate--notice {
font-weight: 500;
}
.expiry-estimate--critical {
color: var(--el-color-danger);
}
.expiry-estimate--warning {
color: #8e44ad;
}
.expiry-estimate--notice {
color: #e83e8c;
}
</style>