feat: udpate desc docs

This commit is contained in:
engigu
2026-02-13 20:41:14 +08:00
parent c33a615c90
commit d8a819a4dc
4 changed files with 22 additions and 19 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
![Image Size](https://ghcr-badge.egpl.dev/engigu/baihu/size?color=%2344cc11&tag=latest&label=docker+image&trim=) ![Image Size](https://ghcr-badge.egpl.dev/engigu/baihu/size?color=%2344cc11&tag=latest&label=docker+image&trim=)
![Image pulls](https://img.shields.io/badge/dynamic/json?url=https://ghcr-badge.elias.eu.org/api/engigu/baihu-panel/baihu&query=downloadCount&style=flat&label=docker%20pulls&color=44cc11) ![Image pulls](https://img.shields.io/badge/dynamic/json?url=https://ghcr-badge.elias.eu.org/api/engigu/baihu-panel/baihu&query=downloadCount&style=flat&label=docker%20pulls&color=44cc11)
白虎面板是一个轻量级定时任务管理系统,基于`Go`+`Vue3`构建,`docker`或者`docker-compose`,内置`python3``nodejs``bash`环境,开箱即用 白虎面板 (Baihu Panel) 是一款极致轻量、高性能的自动化任务调度平台。采用 Go + Vue3 架构,专注于高性能与低系统开销。通过深度集成 Mise 运行时管理,它原生支持 Python、Node.js、Go、Rust、PHP 等多语言环境的动态安装(几乎所有的版本)与统一依赖管理。支持 Docker/Docker-Compose 一键部署,开箱即用,是您理想的轻量化脚本托管与任务调度解决方案
演示站点(演示站点的服务器比较烂,见谅) [演示站点](https://baihu-demo-site.qwapi.eu.org/) 演示站点(演示站点的服务器比较烂,见谅) [演示站点](https://baihu-demo-site.qwapi.eu.org/)
+1 -1
View File
@@ -99,7 +99,7 @@ var DefaultIcon = `<svg t="1766107903919" class="icon" viewBox="0 0 1024 1024" v
var DefaultSettings = map[string]map[string]string{ var DefaultSettings = map[string]map[string]string{
SectionSite: { SectionSite: {
KeyTitle: "白虎面板", KeyTitle: "白虎面板",
KeySubtitle: "轻量级定时任务管理系统", KeySubtitle: "极致轻量、高性能的自动化任务调度平台",
KeyIcon: DefaultIcon, KeyIcon: DefaultIcon,
KeyPageSize: "10", KeyPageSize: "10",
KeyCookieDays: "7", KeyCookieDays: "7",
+11 -11
View File
@@ -15,7 +15,7 @@ const password = ref('')
const loading = ref(false) const loading = ref(false)
const siteTitle = ref('白虎面板') const siteTitle = ref('白虎面板')
const siteSubtitle = ref('轻量级定时任务管理系统') const siteSubtitle = ref('极致轻量、高性能的自动化任务调度平台')
const siteIcon = ref('') const siteIcon = ref('')
const demoMode = ref(false) const demoMode = ref(false)
@@ -26,11 +26,11 @@ function loadCachedSettings() {
if (cached) { if (cached) {
const settings = JSON.parse(cached) const settings = JSON.parse(cached)
siteTitle.value = settings.title || '白虎面板' siteTitle.value = settings.title || '白虎面板'
siteSubtitle.value = settings.subtitle || '轻量级定时任务管理系统' siteSubtitle.value = settings.subtitle || '极致轻量、高性能的自动化任务调度平台'
siteIcon.value = settings.icon || '' siteIcon.value = settings.icon || ''
demoMode.value = settings.demo_mode || false demoMode.value = settings.demo_mode || false
document.title = siteTitle.value document.title = siteTitle.value
// 设置 favicon // 设置 favicon
if (siteIcon.value && siteIcon.value.trim().startsWith('<svg')) { if (siteIcon.value && siteIcon.value.trim().startsWith('<svg')) {
const blob = new Blob([siteIcon.value], { type: 'image/svg+xml' }) const blob = new Blob([siteIcon.value], { type: 'image/svg+xml' })
@@ -44,7 +44,7 @@ function loadCachedSettings() {
link.type = 'image/svg+xml' link.type = 'image/svg+xml'
link.href = url link.href = url
} }
return true return true
} }
} catch (e) { } catch (e) {
@@ -56,16 +56,16 @@ function loadCachedSettings() {
async function loadSiteSettings() { async function loadSiteSettings() {
// 先加载缓存 // 先加载缓存
const hasCached = loadCachedSettings() const hasCached = loadCachedSettings()
// 后台异步更新 // 后台异步更新
try { try {
const res = await api.settings.getPublicSite() const res = await api.settings.getPublicSite()
siteTitle.value = res.title || '白虎面板' siteTitle.value = res.title || '白虎面板'
siteSubtitle.value = res.subtitle || '轻量级定时任务管理系统' siteSubtitle.value = res.subtitle || '极致轻量、高性能的自动化任务调度平台'
siteIcon.value = res.icon || '' siteIcon.value = res.icon || ''
demoMode.value = res.demo_mode || false demoMode.value = res.demo_mode || false
document.title = siteTitle.value document.title = siteTitle.value
// 保存到 localStorage // 保存到 localStorage
localStorage.setItem('site_settings', JSON.stringify({ localStorage.setItem('site_settings', JSON.stringify({
title: siteTitle.value, title: siteTitle.value,
@@ -73,13 +73,13 @@ async function loadSiteSettings() {
icon: siteIcon.value, icon: siteIcon.value,
demo_mode: demoMode.value demo_mode: demoMode.value
})) }))
// 演示模式下自动填充账号密码 // 演示模式下自动填充账号密码
if (demoMode.value) { if (demoMode.value) {
username.value = 'admin' username.value = 'admin'
password.value = '123456' password.value = '123456'
} }
// 设置 favicon // 设置 favicon
if (siteIcon.value && siteIcon.value.trim().startsWith('<svg')) { if (siteIcon.value && siteIcon.value.trim().startsWith('<svg')) {
const blob = new Blob([siteIcon.value], { type: 'image/svg+xml' }) const blob = new Blob([siteIcon.value], { type: 'image/svg+xml' })
@@ -97,7 +97,7 @@ async function loadSiteSettings() {
// 如果没有缓存,使用默认值 // 如果没有缓存,使用默认值
if (!hasCached) { if (!hasCached) {
siteTitle.value = '白虎面板' siteTitle.value = '白虎面板'
siteSubtitle.value = '轻量级定时任务管理系统' siteSubtitle.value = '极致轻量、高性能的自动化任务调度平台'
} }
} }
} }
@@ -125,7 +125,7 @@ onMounted(loadSiteSettings)
<div class="absolute top-4 right-4"> <div class="absolute top-4 right-4">
<ThemeToggle /> <ThemeToggle />
</div> </div>
<div class="border rounded-lg bg-background shadow-sm overflow-hidden w-full max-w-[400px] lg:max-w-none lg:w-auto"> <div class="border rounded-lg bg-background shadow-sm overflow-hidden w-full max-w-[400px] lg:max-w-none lg:w-auto">
<div class="flex"> <div class="flex">
<!-- 左侧登录表单 --> <!-- 左侧登录表单 -->
+9 -6
View File
@@ -12,7 +12,7 @@ const features = ['脚本管理', '定时任务', '在线终端', '执行日志'
async function loadAbout() { async function loadAbout() {
try { try {
aboutInfo.value = await api.settings.getAbout() aboutInfo.value = await api.settings.getAbout()
} catch {} } catch { }
} }
onMounted(loadAbout) onMounted(loadAbout)
@@ -22,8 +22,8 @@ onMounted(loadAbout)
<div> <div>
<!-- 站点关于 --> <!-- 站点关于 -->
<div class="mb-6"> <div class="mb-6">
<h3 class="text-lg font-semibold mb-1">白虎面板</h3> <h3 class="text-lg font-semibold mb-1">白虎面板 (Baihu Panel)</h3>
<p class="text-sm text-muted-foreground">一个轻量级的定时任务管理系统支持脚本管理定时执行和日志追踪</p> <p class="text-sm text-muted-foreground">极致轻量高性能的自动化任务调度平台深度集成 Mise 运行时管理支持多语言环境动态切换与全自动依赖管理</p>
</div> </div>
<div class="grid sm:grid-cols-2 gap-x-8 gap-y-5"> <div class="grid sm:grid-cols-2 gap-x-8 gap-y-5">
@@ -32,14 +32,16 @@ onMounted(loadAbout)
<div> <div>
<h4 class="text-sm font-medium mb-2">技术栈</h4> <h4 class="text-sm font-medium mb-2">技术栈</h4>
<div class="flex flex-wrap gap-1.5"> <div class="flex flex-wrap gap-1.5">
<Badge v-for="tech in techStack" :key="tech" class="text-xs bg-primary/15 text-primary border-0">{{ tech }}</Badge> <Badge v-for="tech in techStack" :key="tech" class="text-xs bg-primary/15 text-primary border-0">{{ tech }}
</Badge>
</div> </div>
</div> </div>
<div> <div>
<h4 class="text-sm font-medium mb-2">功能特性</h4> <h4 class="text-sm font-medium mb-2">功能特性</h4>
<div class="flex flex-wrap gap-1.5"> <div class="flex flex-wrap gap-1.5">
<Badge v-for="feature in features" :key="feature" class="text-xs bg-accent text-accent-foreground">{{ feature }}</Badge> <Badge v-for="feature in features" :key="feature" class="text-xs bg-accent text-accent-foreground">{{
feature }}</Badge>
</div> </div>
</div> </div>
</div> </div>
@@ -75,7 +77,8 @@ onMounted(loadAbout)
<!-- 底部版权和链接 --> <!-- 底部版权和链接 -->
<div class="mt-6 pt-4 border-t flex items-center justify-center gap-2 text-sm text-muted-foreground"> <div class="mt-6 pt-4 border-t flex items-center justify-center gap-2 text-sm text-muted-foreground">
<span>© {{ new Date().getFullYear() }} 保留所有权利</span> <span>© {{ new Date().getFullYear() }} 保留所有权利</span>
<a href="https://github.com/engigu/baihu-panel/" target="_blank" class="inline-flex items-center gap-1 text-primary hover:underline"> <a href="https://github.com/engigu/baihu-panel/" target="_blank"
class="inline-flex items-center gap-1 text-primary hover:underline">
<ExternalLink class="h-3.5 w-3.5" /> <ExternalLink class="h-3.5 w-3.5" />
GitHub 仓库 GitHub 仓库
</a> </a>