Files
TaskPool/web/src/views/settings/AboutSettings.vue
T
2026-03-19 11:06:45 +08:00

121 lines
5.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script setup lang="ts">
import { ref, onMounted } from 'vue'
import { Badge } from '@/components/ui/badge'
import { ExternalLink, TriangleAlert, History } from 'lucide-vue-next'
import { api, type AboutInfo } from '@/api'
const aboutInfo = ref<AboutInfo | null>(null)
const techStack = ['Golang', 'Vue 3', 'TypeScript', 'Vite', 'Tailwind CSS', 'Shadcn/ui']
const features = ['脚本管理', '定时任务', '在线终端', '执行日志', '环境变量', 'Docker部署']
async function loadAbout() {
try {
aboutInfo.value = await api.settings.getAbout()
} catch { }
}
onMounted(loadAbout)
</script>
<template>
<div>
<!-- 站点关于 -->
<div class="mb-8 flex flex-col sm:flex-row justify-between items-start gap-4">
<div class="flex-1 min-w-0">
<h3 class="text-xl font-bold mb-1.5">白虎面板 (Baihu Panel)</h3>
<p class="text-sm text-muted-foreground leading-relaxed">极致轻量高性能的自动化任务调度平台深度集成 Mise 运行时管理支持多语言环境动态切换与全自动依赖管理</p>
</div>
<a href="https://engigu.github.io/baihu-panel/guide/changelog.html" target="_blank"
class="inline-flex items-center gap-1.5 h-9 px-4 rounded-full border border-primary/20 bg-primary/5 text-primary text-xs font-semibold hover:bg-primary/10 transition-all whitespace-nowrap shadow-sm shadow-primary/5">
<History class="h-3.5 w-3.5" />
查看更新日志
</a>
</div>
<div class="grid sm:grid-cols-2 gap-x-8 gap-y-5">
<!-- 左侧技术栈和功能特性 -->
<div class="space-y-5">
<div>
<h4 class="text-sm font-medium mb-2">技术栈</h4>
<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>
</div>
</div>
<div>
<h4 class="text-sm font-medium mb-2">功能特性</h4>
<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>
</div>
</div>
</div>
<!-- 右侧系统信息 -->
<div>
<h4 class="text-sm font-medium mb-2">系统信息</h4>
<div class="space-y-2">
<div class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">当前版本:</span>
<div class="flex items-center gap-1.5">
<Badge variant="outline" class="font-mono text-xs">{{ aboutInfo?.version || 'dev' }}</Badge>
<Badge v-if="aboutInfo?.remote_version && aboutInfo.remote_version === aboutInfo.version" variant="secondary"
class="text-[10px] h-4 px-1 bg-green-500/10 text-green-600 border-green-500/20">
最新版本
</Badge>
</div>
</div>
<div v-if="aboutInfo?.remote_version && aboutInfo.remote_version !== aboutInfo.version"
class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">最新版本:</span>
<Badge variant="secondary" class="font-mono text-xs bg-primary/10 text-primary border-primary/20">
{{ aboutInfo.remote_version }}
</Badge>
</div>
<div class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">构建时间:</span>
<span class="text-sm">{{ aboutInfo?.build_time || '-' }}</span>
</div>
<div class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">内存使用:</span>
<span class="text-sm">{{ aboutInfo?.mem_usage || '-' }}</span>
</div>
<div class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">协程数量:</span>
<span class="text-sm">{{ aboutInfo?.goroutines || '-' }}</span>
</div>
<div class="flex justify-between items-center">
<span class="text-muted-foreground text-sm">运行时间:</span>
<span class="text-sm">{{ aboutInfo?.uptime || '-' }}</span>
</div>
</div>
</div>
</div>
<div class="mt-8 p-4 bg-muted/40 rounded-lg border border-yellow-500/20">
<h4 class="text-sm font-semibold text-yellow-600 dark:text-yellow-500 mb-2 flex items-center gap-1.5">
<TriangleAlert class="h-4 w-4" />
免责声明
</h4>
<div class="space-y-1.5 text-xs text-muted-foreground">
<p>本项目不提供不内置任何具有实际业务逻辑的第三方脚本</p>
<p><strong>请勿轻易执行任何来源不明或不可信的外部脚本</strong></p>
<p>所有脚本及代码均需由用户自行添加或配置用户须自行审核以确保其安全性本项目仅作为基础调度工具<strong class="text-foreground/70">无法且不保证任何被执行任务的安全性</strong></p>
<p>本项目为业余开源开发原样提供不保证不存在 Bug 或漏洞开发者不对因使用本项目运行不安全脚本带来的数据泄露系统损坏及法律责任等后果负责</p>
</div>
</div>
<!-- 底部版权和链接 -->
<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>
<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" />
GitHub 仓库
</a>
</div>
</div>
</template>