mirror of
https://github.com/certd/certd.git
synced 2026-07-13 08:47:34 +08:00
perf: 首页夜间模式主图切换为黑色背景
This commit is contained in:
+2
-1
@@ -38,4 +38,5 @@ pnpm-lock.yaml
|
|||||||
|
|
||||||
# Certd 推广报告,仅本地使用
|
# Certd 推广报告,仅本地使用
|
||||||
/popularize/reports/
|
/popularize/reports/
|
||||||
|
output/
|
||||||
|
.uploads/
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
你是一名资深nodejs工程师,擅长开发Certd开源系统的任务插件。
|
|
||||||
certd是一款全自动证书申请部署管理工具,基于流水线的方式,通过里面申请证书插件申请证书,然后将证书传递给下一个部署任务插件,不同的部署任务插件将证书部署到用户的各个应用系统当中。
|
|
||||||
|
|
||||||
certd插件分成以下几种类型:
|
|
||||||
Access:存储用户的第三放应用的授权数据,比如用户名密码,accessSecret 或 accessToken等。同时它里面的方法还负责对接第三方的api接口
|
|
||||||
Task: 部署任务插件,它继承AbstractTaskPlugin类,被流水线调用execute方法,将证书部署到对应的应用上
|
|
||||||
DnsProvider: DNS提供商插件,它用于在ACME申请证书时给域名添加txt解析记录。
|
|
||||||
|
|
||||||
注意事项:
|
|
||||||
1、使用技能:在开始工作前,请阅读并加载.trae/skills下面的技能,根据skills进行相应的插件开发
|
|
||||||
2、迭代技能:当开发过程用户提醒你更好的做法时,你需要总结经验,更新相应的skills,让skills越来越完善,能够在以后得新插件开发中具备指导意义。
|
|
||||||
3、一般调用的api接口文档会比较复杂,你不知道接口是什么时,请务必询问用户,让用户提供API接口文档
|
|
||||||
4、完成开发后无需测试,通知用户自己去测试
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 MiB |
@@ -41,7 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="hero-image-wrapper">
|
<div class="hero-image-wrapper">
|
||||||
<img src="/static/images/certd-intro.png" alt="Certd Intro" class="hero-image" />
|
<img :src="isDark ? '/static/images/certd-intro-dark.png' : '/static/images/certd-intro.png'" alt="Certd Intro" class="hero-image" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@@ -121,7 +121,8 @@ import { useAccessStore } from "/@/vben/stores";
|
|||||||
import { SiteInfo, SysPublicSetting } from "/@/store/settings/api.basic";
|
import { SiteInfo, SysPublicSetting } from "/@/store/settings/api.basic";
|
||||||
import ThemeToggle from "/@/vben/layouts/widgets/theme-toggle/theme-toggle.vue";
|
import ThemeToggle from "/@/vben/layouts/widgets/theme-toggle/theme-toggle.vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
import { usePreferences } from "/@/vben/preferences";
|
||||||
|
const { isDark } = usePreferences();
|
||||||
const envRef = ref(env);
|
const envRef = ref(env);
|
||||||
const settingStore = useSettingStore();
|
const settingStore = useSettingStore();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
@@ -381,7 +382,7 @@ onMounted(() => {
|
|||||||
padding: 0 24px;
|
padding: 0 24px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1.1fr 0.9fr;
|
grid-template-columns: 1.1fr 0.9fr;
|
||||||
gap: 60px;
|
gap: 10px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -440,7 +441,7 @@ onMounted(() => {
|
|||||||
.hero-image {
|
.hero-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
max-width: 550px;
|
max-width: 600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-header {
|
.section-header {
|
||||||
|
|||||||
Reference in New Issue
Block a user