feat: add login ip desc request

This commit is contained in:
engigu
2025-10-01 08:27:18 +08:00
parent c95f283290
commit de48b5aaf2
2 changed files with 11 additions and 27 deletions
+2 -18
View File
@@ -380,24 +380,8 @@ const siteTitle = computed(() => {
</div>
<!-- 移动端主题切换入口 -->
<button @click="toggleTheme" class="md:hidden w-full text-left px-4 py-2 text-sm hover:bg-muted dark:hover:bg-white/5 flex items-center justify-between">
<span>外观{{ themeLabel }}</span>
<span class="inline-flex items-center gap-2">
<svg v-if="theme === 'dark'" class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>
</svg>
<svg v-else class="w-4 h-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/>
<line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/>
<line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
<span class="text-xs text-muted-foreground">{{ themeLabel }}</span>
</span>
<span class="truncate">外观</span>
<span class="text-xs text-muted-foreground flex-shrink-0">{{ themeLabel }}</span>
</button>
<button @click="logout" class="w-full text-left px-4 py-2 text-sm text-destructive hover:bg-muted dark:hover:bg-white/5 transition-colors">
<div class="flex items-center space-x-2">
@@ -67,15 +67,15 @@ const openIpInfo = async (ip: string) => {
</button>
</CardHeader>
<CardContent>
<div class="overflow-x-auto">
<div class="min-w-full rounded-md border border-border">
<table class="w-full text-sm">
<div class="overflow-x-auto" style="will-change: transform;">
<div class="min-w-full">
<table class="w-full text-sm border-separate border-spacing-0">
<thead>
<tr class="bg-muted">
<th class="px-3 py-2 text-left">用户名</th>
<th class="px-3 py-2 text-left">IP</th>
<th class="px-3 py-2 text-left">UA</th>
<th class="px-3 py-2 text-left">登录时间</th>
<tr>
<th class="px-3 py-2 text-left border-b border-border">用户名</th>
<th class="px-3 py-2 text-left border-b border-border">IP</th>
<th class="px-3 py-2 text-left border-b border-border">UA</th>
<th class="px-3 py-2 text-left border-b border-border">登录时间</th>
</tr>
</thead>
<tbody>
@@ -86,7 +86,7 @@ const openIpInfo = async (ip: string) => {
</div>
</td>
</tr>
<tr v-for="item in logs" :key="item.id" class="border-t border-border">
<tr v-for="item in logs" :key="item.id" class="border-b border-border">
<td class="px-3 py-2">{{ item.username }}</td>
<td class="px-3 py-2">
<button class="text-blue-600 dark:text-blue-400 hover:underline" @click="openIpInfo(item.ip)">{{ item.ip }}</button>