feat: udpate desc docs
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||

|

|
||||||

|

|
||||||
|
|
||||||
白虎面板是一个轻量级定时任务管理系统,基于`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/)
|
||||||
|
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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">
|
||||||
<!-- 左侧登录表单 -->
|
<!-- 左侧登录表单 -->
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user