mirror of
https://github.com/usual2970/certimate.git
synced 2025-06-19 10:50:13 +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.validity": "Expiry",
|
||||
"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.expiration": "Expire on {{date}}",
|
||||
"certificate.props.validity.filter.expire_soon": "Expire soon",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"certificate.props.subject_alt_names": "名称",
|
||||
"certificate.props.validity": "有效期限",
|
||||
"certificate.props.validity.left_days": "{{left}} / {{total}} 天",
|
||||
"certificate.props.validity.less_than_day": "即将过期(剩余 {{hours}} 小时)",
|
||||
"certificate.props.validity.expired": "已到期",
|
||||
"certificate.props.validity.expiration": "{{date}} 到期",
|
||||
"certificate.props.validity.filter.expire_soon": "即将到期",
|
||||
|
@ -109,11 +109,19 @@ const CertificateList = () => {
|
||||
},
|
||||
render: (_, record) => {
|
||||
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 (
|
||||
<Space className="max-w-full" direction="vertical" size={4}>
|
||||
{left > 0 ? (
|
||||
<Typography.Text type="success">{t("certificate.props.validity.left_days", { left, total })}</Typography.Text>
|
||||
{!isExpired ? (
|
||||
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>
|
||||
)}
|
||||
|
@ -18,7 +18,7 @@ export const list = async (request: ListRequest) => {
|
||||
filters.push(pb.filter("(subjectAltNames~{:keyword} || serialNumber={:keyword})", { keyword: request.keyword }));
|
||||
}
|
||||
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") {
|
||||
filters.push(pb.filter("expireAt<={:expiredAt}", { expiredAt: new Date() }));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user