mirror of
https://github.com/usual2970/certimate.git
synced 2025-06-20 03:09:54 +00:00
Merge pull request #797 from usual2970/hotfix/cer_expire
fix: correct certificate expiration check logic
This commit is contained in:
commit
94a0292fad
@ -13,6 +13,7 @@
|
|||||||
"certificate.props.subject_alt_names": "Name",
|
"certificate.props.subject_alt_names": "Name",
|
||||||
"certificate.props.validity": "Expiry",
|
"certificate.props.validity": "Expiry",
|
||||||
"certificate.props.validity.left_days": "{{left}} / {{total}} days left",
|
"certificate.props.validity.left_days": "{{left}} / {{total}} days left",
|
||||||
|
"certificate.props.validity.less_than_day": "Expire soon ({{hours}} hours left)",
|
||||||
"certificate.props.validity.expired": "Expired",
|
"certificate.props.validity.expired": "Expired",
|
||||||
"certificate.props.validity.expiration": "Expire on {{date}}",
|
"certificate.props.validity.expiration": "Expire on {{date}}",
|
||||||
"certificate.props.validity.filter.expire_soon": "Expire soon",
|
"certificate.props.validity.filter.expire_soon": "Expire soon",
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
"certificate.props.subject_alt_names": "名称",
|
"certificate.props.subject_alt_names": "名称",
|
||||||
"certificate.props.validity": "有效期限",
|
"certificate.props.validity": "有效期限",
|
||||||
"certificate.props.validity.left_days": "{{left}} / {{total}} 天",
|
"certificate.props.validity.left_days": "{{left}} / {{total}} 天",
|
||||||
|
"certificate.props.validity.less_than_day": "即将过期(剩余 {{hours}} 小时)",
|
||||||
"certificate.props.validity.expired": "已到期",
|
"certificate.props.validity.expired": "已到期",
|
||||||
"certificate.props.validity.expiration": "{{date}} 到期",
|
"certificate.props.validity.expiration": "{{date}} 到期",
|
||||||
"certificate.props.validity.filter.expire_soon": "即将到期",
|
"certificate.props.validity.filter.expire_soon": "即将到期",
|
||||||
|
@ -109,11 +109,19 @@ const CertificateList = () => {
|
|||||||
},
|
},
|
||||||
render: (_, record) => {
|
render: (_, record) => {
|
||||||
const total = dayjs(record.expireAt).diff(dayjs(record.created), "d") + 1;
|
const total = dayjs(record.expireAt).diff(dayjs(record.created), "d") + 1;
|
||||||
const left = dayjs(record.expireAt).diff(dayjs(), "d");
|
// 使用 isAfter 更精确地判断是否过期
|
||||||
|
const isExpired = dayjs().isAfter(dayjs(record.expireAt));
|
||||||
|
const leftDays = dayjs(record.expireAt).diff(dayjs(), "d");
|
||||||
|
const leftHours = dayjs(record.expireAt).diff(dayjs(), "h");
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Space className="max-w-full" direction="vertical" size={4}>
|
<Space className="max-w-full" direction="vertical" size={4}>
|
||||||
{left > 0 ? (
|
{!isExpired ? (
|
||||||
<Typography.Text type="success">{t("certificate.props.validity.left_days", { left, total })}</Typography.Text>
|
leftDays > 0 ? (
|
||||||
|
<Typography.Text type="success">{t("certificate.props.validity.left_days", { left: leftDays, total })}</Typography.Text>
|
||||||
|
) : (
|
||||||
|
<Typography.Text type="warning">{t("certificate.props.validity.less_than_day", { hours: leftHours > 0 ? leftHours : 1 })}</Typography.Text>
|
||||||
|
)
|
||||||
) : (
|
) : (
|
||||||
<Typography.Text type="danger">{t("certificate.props.validity.expired")}</Typography.Text>
|
<Typography.Text type="danger">{t("certificate.props.validity.expired")}</Typography.Text>
|
||||||
)}
|
)}
|
||||||
|
@ -18,7 +18,7 @@ export const list = async (request: ListRequest) => {
|
|||||||
filters.push(pb.filter("(subjectAltNames~{:keyword} || serialNumber={:keyword})", { keyword: request.keyword }));
|
filters.push(pb.filter("(subjectAltNames~{:keyword} || serialNumber={:keyword})", { keyword: request.keyword }));
|
||||||
}
|
}
|
||||||
if (request.state === "expireSoon") {
|
if (request.state === "expireSoon") {
|
||||||
filters.push(pb.filter("expireAt<{:expiredAt}", { expiredAt: dayjs().add(20, "d").toDate() }));
|
filters.push(pb.filter("expireAt<{:expiredAt} && expireAt>@now", { expiredAt: dayjs().add(20, "d").toDate() }));
|
||||||
} else if (request.state === "expired") {
|
} else if (request.state === "expired") {
|
||||||
filters.push(pb.filter("expireAt<={:expiredAt}", { expiredAt: new Date() }));
|
filters.push(pb.filter("expireAt<={:expiredAt}", { expiredAt: new Date() }));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user