mirror of
https://github.com/certd/certd.git
synced 2026-07-07 13:07:36 +08:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e05ec53eb5 | |||
| 8d9dad9c82 | |||
| 0071bcb0e4 | |||
| dbdc1ccd1b | |||
| 2a606fdb1d | |||
| 3b86f30bcf |
@@ -3,6 +3,19 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.42.1](https://github.com/certd/certd/compare/v1.42.0...v1.42.1) (2026-07-06)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 修复多域名无法使用passkey登录的bug ([d176f9c](https://github.com/certd/certd/commit/d176f9cc0ebd051a614bfac74d1616d1945fc9a3))
|
||||
* 修复企业模式下登录报projectId不能为空的问题 ([a65366b](https://github.com/certd/certd/commit/a65366bbe1aadea8baaffbdadab58a5b631d9417))
|
||||
* **login:** 修复输入法 composing 状态下回车触发提交的问题 ([b74db81](https://github.com/certd/certd/commit/b74db81304bbe68476bbec5ea4307a2264060e92))
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* **certd-server:** 使用 jks-go转换jks证书,大幅精简镜像大小 ([c78898e](https://github.com/certd/certd/commit/c78898e4c10dd1701467d2e42e3f72bd8f2a352f))
|
||||
* **pipeline:** 将默认历史保留条数从30调整为100 ([d3e4677](https://github.com/certd/certd/commit/d3e4677ea4fac8e7533749d7f4187e410489e536))
|
||||
|
||||
# [1.42.0](https://github.com/certd/certd/compare/v1.41.4...v1.42.0) (2026-07-05)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -75,5 +75,5 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/publishlab/node-acme-client/issues"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -54,5 +54,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -51,5 +51,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -30,5 +30,5 @@
|
||||
"prettier": "3.3.3",
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -37,5 +37,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -62,5 +62,5 @@
|
||||
"fetch"
|
||||
]
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -38,5 +38,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -69,5 +69,5 @@
|
||||
"typeorm": "^0.3.20",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -52,5 +52,5 @@
|
||||
"typeorm": "^0.3.20",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -38,5 +38,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -45,5 +45,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "b46948c0ba67069ebcd2bb71b21b6c289d99f1b8"
|
||||
"gitHead": "7808d028e9c7e1b1e3ebc41f12b023d7b553300b"
|
||||
}
|
||||
|
||||
@@ -15,11 +15,14 @@ import { Modal, notification } from "ant-design-vue";
|
||||
import { useI18n } from "/src/locales";
|
||||
import { request } from "/@/api/service";
|
||||
import { useFormDialog } from "/@/use/use-dialog";
|
||||
import { useSettingStore } from "/@/store/settings/index.jsx";
|
||||
|
||||
const { t } = useI18n();
|
||||
const { openFormDialog } = useFormDialog();
|
||||
|
||||
const userStore = useUserStore();
|
||||
const settingStore = useSettingStore();
|
||||
|
||||
const changePasswordButtonRef = ref();
|
||||
const emailFormWrapperRef = ref<any>();
|
||||
|
||||
@@ -34,6 +37,9 @@ const validateEmailConfirm = async (_rule: any, value: string) => {
|
||||
};
|
||||
|
||||
async function checkAndSetupAccount() {
|
||||
if (settingStore.isEnterprise) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const userInfo = userStore.getUserInfo as any;
|
||||
if (!userInfo.needInitAccount) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AccessGetter, AccessService, BaseController, Constants, SysSettingsService } from "@certd/lib-server";
|
||||
import { AccessGetter, AccessService, BaseController, Constants, isEnterprise, SysSettingsService } from "@certd/lib-server";
|
||||
import { ALL, Body, Controller, Inject, Post, Provide } from "@midwayjs/core";
|
||||
import { PasskeyService } from "../../../modules/login/service/passkey-service.js";
|
||||
import { RoleService } from "../../../modules/sys/authority/service/role-service.js";
|
||||
@@ -54,14 +54,18 @@ export class MineController extends BaseController {
|
||||
delete user.password;
|
||||
//@ts-ignore
|
||||
user.needInitPassword = needInitPassword;
|
||||
|
||||
const existingAccess = await this.accessService.findOne({
|
||||
where: { type: "acmeAccount", subtype: "letsencrypt", userId },
|
||||
});
|
||||
if (!existingAccess) {
|
||||
//@ts-ignore
|
||||
user.needInitAccount = true;
|
||||
//@ts-ignore
|
||||
user.needInitAccount = false;
|
||||
if (!isEnterprise()) {
|
||||
const existingAccess = await this.accessService.findOne({
|
||||
where: { type: "acmeAccount", subtype: "letsencrypt", userId },
|
||||
});
|
||||
if (!existingAccess) {
|
||||
//@ts-ignore
|
||||
user.needInitAccount = true;
|
||||
}
|
||||
}
|
||||
|
||||
return this.ok(user);
|
||||
}
|
||||
|
||||
@@ -146,8 +150,7 @@ export class MineController extends BaseController {
|
||||
|
||||
@Post("/accountInit", { description: Constants.per.authOnly, summary: "初始化Let's Encrypt ACME账号和邮件通知" })
|
||||
public async accountInit(@Body("email") email?: string) {
|
||||
const { projectId, userId } = await this.getProjectUserIdWrite();
|
||||
|
||||
let userId = this.getUserId();
|
||||
let userEmail = email;
|
||||
let user: any = null;
|
||||
if (!userEmail) {
|
||||
@@ -169,10 +172,10 @@ export class MineController extends BaseController {
|
||||
|
||||
await this.emailService.add(userId, userEmail);
|
||||
|
||||
await this.notificationService.getOrCreateDefault(userEmail, userId, projectId);
|
||||
await this.notificationService.getOrCreateDefault(userEmail, userId);
|
||||
|
||||
const getAccessById = this.accessService.getById.bind(this.accessService);
|
||||
const accessGetter = new AccessGetter(userId, projectId, getAccessById);
|
||||
const accessGetter = new AccessGetter(userId, undefined, getAccessById);
|
||||
const accessContext = {
|
||||
http,
|
||||
logger,
|
||||
@@ -187,7 +190,7 @@ export class MineController extends BaseController {
|
||||
type: "acmeAccount",
|
||||
name: "Let's Encrypt",
|
||||
userId,
|
||||
projectId,
|
||||
projectId:undefined,
|
||||
setting: JSON.stringify({
|
||||
caType: "letsencrypt",
|
||||
email: userEmail,
|
||||
|
||||
@@ -199,7 +199,7 @@ export class AsiaIspClient {
|
||||
const list = await this.getCertList();
|
||||
const found = list.find((item: any) => item.name === certName);
|
||||
if (!found) {
|
||||
throw new Error(`证书已存在但无法查询到: ${certName}`);
|
||||
throw new Error(`证书已存在但无法查询到: 请重新申请一份证书,或者将已有证书名称修改为:${certName}`);
|
||||
}
|
||||
const certId = Number(found.certId);
|
||||
this.logger.info(`复用已有证书,证书ID: ${certId}`);
|
||||
|
||||
+1
-1
@@ -88,6 +88,7 @@ export class VolcengineDeployToVOD extends AbstractTaskPlugin {
|
||||
@TaskInput({
|
||||
title: "源站类型",
|
||||
helper: "选择源站类型",
|
||||
value: 1,
|
||||
component: {
|
||||
name: "a-select",
|
||||
vModel: "value",
|
||||
@@ -95,7 +96,6 @@ export class VolcengineDeployToVOD extends AbstractTaskPlugin {
|
||||
{ value: 1, label: "点播源站" },
|
||||
{ value: 2, label: "自定义源站" },
|
||||
],
|
||||
value: 1,
|
||||
helper: "注意:封面加速域名不支持自定义源站",
|
||||
},
|
||||
required: false,
|
||||
|
||||
@@ -1 +1 @@
|
||||
19:31
|
||||
00:21
|
||||
|
||||
@@ -1 +1 @@
|
||||
21:41
|
||||
00:35
|
||||
|
||||
Reference in New Issue
Block a user