fix(cert): 修正证书过期时间计算逻辑

pull/409/head
xiaojunnuo 2025-05-20 23:19:50 +08:00
parent 1eb9bd34fd
commit a3086e6a5b
3 changed files with 35 additions and 1 deletions

View File

@ -145,7 +145,8 @@ export abstract class CertApplyBasePlugin extends CertApplyBaseConvertPlugin {
throw new Error("过期时间不能为空");
}
// 检查有效期
const leftDays = dayjs(expires).diff(dayjs(), "day");
const leftDays = Math.floor((expires - dayjs().valueOf()) / (1000 * 60 * 60 * 24));
this.logger.info(`证书剩余天数:${leftDays}`);
return {
isWillExpire: leftDays <= maxDays,
leftDays,

View File

@ -0,0 +1,27 @@
import { expect } from "chai";
import { CertApplyPlugin } from "../dist/index.js";
import dayjs from "dayjs";
import { logger } from "@certd/basic";
describe("test/cert-plugin.ts", () => {
const certApplyPlugin = new CertApplyPlugin();
certApplyPlugin.logger = logger;
it("should throw error when expires is null or undefined", () => {
expect(() => {
// @ts-ignore
certApplyPlugin.isWillExpire(undefined);
}).throw("过期时间不能为空");
expect(() => {
// @ts-ignore
certApplyPlugin.isWillExpire(null);
}).throw("过期时间不能为空");
});
it("isWillExpire", () => {
const now = dayjs().add(36, "day") - 10000;
const res = certApplyPlugin.isWillExpire(now.valueOf(), 35);
console.log(res);
expect(res.isWillExpire).eq(true);
});
});

View File

@ -66,3 +66,9 @@ footer{
display: flex;
align-items: center;
}
.ant-progress.ant-progress-show-info .ant-progress-outer {
margin-inline-end: calc(-3em - 8px);
padding-inline-end: calc(3em + 8px);
}