chore: acepanel

This commit is contained in:
xiaojunnuo
2026-02-01 02:00:10 +08:00
parent 1661caed05
commit 163b0de874
3 changed files with 24 additions and 23 deletions
@@ -6,21 +6,22 @@ import url from "url";
/** /**
* AcePanel授权
*/ */
@IsAccess({ @IsAccess({
name: "acepanel", name: "acepanel",
title: "ACEPanel授权", title: "AcePanel授权",
desc: "", desc: "",
icon: "svg:icon-lucky" icon: "svg:icon-lucky"
}) })
export class AcepanelAccess extends BaseAccess { export class AcePanelAccess extends BaseAccess {
@AccessInput({ @AccessInput({
title: "ACEPanel管理地址", title: "AcePanel管理地址",
component: { component: {
placeholder: "http://127.0.0.1:25475/entrance", placeholder: "http://127.0.0.1:25475/entrance",
}, },
helper:"请输入ACEPanel管理地址,格式为http://127.0.0.1:25475/entrance, 要带安全入口,最后面不要加/", helper:"请输入AcePanel管理地址,格式为http://127.0.0.1:25475/entrance, 要带安全入口,最后面不要加/",
required: true, required: true,
}) })
endpoint = ''; endpoint = '';
@@ -239,4 +240,4 @@ export class AcepanelAccess extends BaseAccess {
} }
new AcepanelAccess(); new AcePanelAccess();
@@ -1,12 +1,12 @@
import {IsTaskPlugin, PageSearch, pluginGroups, RunStrategy, TaskInput} from "@certd/pipeline"; import { IsTaskPlugin, PageSearch, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
import {CertApplyPluginNames, CertInfo} from "@certd/plugin-cert"; import { CertApplyPluginNames, CertInfo } from "@certd/plugin-cert";
import {createCertDomainGetterInputDefine, createRemoteSelectInputDefine} from "@certd/plugin-lib"; import { createCertDomainGetterInputDefine, createRemoteSelectInputDefine } from "@certd/plugin-lib";
import {AcepanelAccess} from "../access.js";
import { AbstractPlusTaskPlugin } from "@certd/plugin-plus"; import { AbstractPlusTaskPlugin } from "@certd/plugin-plus";
import { AcePanelAccess } from "../access.js";
@IsTaskPlugin({ @IsTaskPlugin({
name: "AcepanelDeployToWebsite", name: "AcePanelDeployToWebsite",
title: "ACEPanel-部署到网站", title: "AcePanel-部署到网站",
desc: "上传证书并部署到指定网站", desc: "上传证书并部署到指定网站",
icon: "svg:icon-lucky", icon: "svg:icon-lucky",
group: pluginGroups.panel.key, group: pluginGroups.panel.key,
@@ -18,7 +18,7 @@ import { AbstractPlusTaskPlugin } from "@certd/plugin-plus";
} }
}) })
export class AcepanelDeployToWebsite extends AbstractPlusTaskPlugin { export class AcePanelDeployToWebsite extends AbstractPlusTaskPlugin {
@TaskInput({ @TaskInput({
title: "域名证书", title: "域名证书",
helper: "请选择前置任务输出的域名证书", helper: "请选择前置任务输出的域名证书",
@@ -46,7 +46,7 @@ export class AcepanelDeployToWebsite extends AbstractPlusTaskPlugin {
createRemoteSelectInputDefine({ createRemoteSelectInputDefine({
title: "部署网站", title: "部署网站",
helper: "选择需要部署证书的网站", helper: "选择需要部署证书的网站",
action: AcepanelDeployToWebsite.prototype.onGetWebsiteList.name, action: AcePanelDeployToWebsite.prototype.onGetWebsiteList.name,
pager: false, pager: false,
search: false search: false
}) })
@@ -57,7 +57,7 @@ export class AcepanelDeployToWebsite extends AbstractPlusTaskPlugin {
} }
async onGetWebsiteList(data: PageSearch = {}) { async onGetWebsiteList(data: PageSearch = {}) {
const access = await this.getAccess<AcepanelAccess>(this.accessId); const access = await this.getAccess<AcePanelAccess>(this.accessId);
const res = await access.getWebSiteList(data); const res = await access.getWebSiteList(data);
const items = res.data.items; const items = res.data.items;
if (!items || items.length === 0) { if (!items || items.length === 0) {
@@ -76,7 +76,7 @@ export class AcepanelDeployToWebsite extends AbstractPlusTaskPlugin {
} }
async execute(): Promise<void> { async execute(): Promise<void> {
const access = await this.getAccess<AcepanelAccess>(this.accessId); const access = await this.getAccess<AcePanelAccess>(this.accessId);
// 上传证书 // 上传证书
this.logger.info("开始上传证书"); this.logger.info("开始上传证书");
@@ -99,4 +99,4 @@ export class AcepanelDeployToWebsite extends AbstractPlusTaskPlugin {
} }
} }
new AcepanelDeployToWebsite(); new AcePanelDeployToWebsite();
@@ -1,12 +1,12 @@
import {IsTaskPlugin, pluginGroups, RunStrategy, TaskInput} from "@certd/pipeline"; import {IsTaskPlugin, pluginGroups, RunStrategy, TaskInput} from "@certd/pipeline";
import {CertApplyPluginNames, CertInfo} from "@certd/plugin-cert"; import {CertApplyPluginNames, CertInfo} from "@certd/plugin-cert";
import {AcepanelAccess} from "../access.js"; import {AcePanelAccess} from "../access.js";
import { AbstractPlusTaskPlugin } from "@certd/plugin-plus"; import { AbstractPlusTaskPlugin } from "@certd/plugin-plus";
@IsTaskPlugin({ @IsTaskPlugin({
name: "AcepanelPanelCert", name: "AcePanelPanelCert",
title: "ACEPanel-面板证书", title: "AcePanel-面板证书",
desc: "部署ACEPanel面板证书", desc: "部署AcePanel面板证书",
icon: "svg:icon-lucky", icon: "svg:icon-lucky",
group: pluginGroups.panel.key, group: pluginGroups.panel.key,
needPlus: true, needPlus: true,
@@ -17,7 +17,7 @@ import { AbstractPlusTaskPlugin } from "@certd/plugin-plus";
} }
}) })
export class AcepanelPanelCert extends AbstractPlusTaskPlugin { export class AcePanelPanelCert extends AbstractPlusTaskPlugin {
@TaskInput({ @TaskInput({
title: "域名证书", title: "域名证书",
helper: "请选择前置任务输出的域名证书", helper: "请选择前置任务输出的域名证书",
@@ -42,7 +42,7 @@ export class AcepanelPanelCert extends AbstractPlusTaskPlugin {
} }
async execute(): Promise<void> { async execute(): Promise<void> {
const access = await this.getAccess<AcepanelAccess>(this.accessId); const access = await this.getAccess<AcePanelAccess>(this.accessId);
this.logger.info("开始部署面板证书"); this.logger.info("开始部署面板证书");
await access.updatePanelCert(this.cert.crt, this.cert.key); await access.updatePanelCert(this.cert.crt, this.cert.key);
@@ -50,4 +50,4 @@ export class AcepanelPanelCert extends AbstractPlusTaskPlugin {
} }
} }
new AcepanelPanelCert(); new AcePanelPanelCert();