优化密码找回流程、管理后台批量操作和上传体验 (#2)

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-05-31 17:00:16 +08:00
parent e087dd46e2
commit 217b81c506
15 changed files with 736 additions and 158 deletions
+7 -3
View File
@@ -5,6 +5,7 @@ import MiniLocationMap from '@/components/cloud/MiniLocationMap.vue'
import QuickUploadModal from '@/components/cloud/QuickUploadModal.vue'
import { supabase } from '@/lib/supabase'
import { loadAMap } from '@/lib/amap'
import { useAuthStore } from '@/stores/auth'
import { NIcon } from 'naive-ui'
import { Adjustments, Calendar, CloudUpload, Refresh, Map, Satellite, X } from '@vicons/tabler'
@@ -24,6 +25,7 @@ interface CloudMarkerData {
}
const mapEl = ref<HTMLDivElement>()
const authStore = useAuthStore()
const previewCloud = ref<CloudMarkerData | null>(null)
const satelliteOn = ref(false)
const statusText = ref('加载中...')
@@ -70,7 +72,6 @@ const archiveTitle = computed(() => {
if (mapMode.value === 'realtime') return '实时'
return archiveKind.value === 'day' ? archiveDay.value : archiveMonth.value
})
function getMinuteOfDay(date: Date) {
return date.getHours() * 60 + date.getMinutes()
}
@@ -344,6 +345,7 @@ function toggleSat() {
}
function openQuickUpload() {
if (authStore.loading || !authStore.isLoggedIn) return
quickUploadOpen.value = true
}
@@ -446,9 +448,11 @@ onUnmounted(() => {
<div class="absolute bottom-6 right-7 z-20 flex w-10 flex-col items-center gap-2">
<button
type="button"
class="w-10 h-10 bg-white rounded-lg shadow-md flex items-center justify-center hover:bg-gray-50"
title="快速上传图片"
class="w-10 h-10 rounded-lg shadow-md flex items-center justify-center"
:class="authStore.loading || !authStore.isLoggedIn ? 'cursor-not-allowed bg-slate-100 text-slate-300 shadow-none' : 'bg-white hover:bg-gray-50'"
:title="authStore.isLoggedIn ? '快速上传图片' : '请先登录后上传图片'"
aria-label="快速上传图片"
:disabled="authStore.loading || !authStore.isLoggedIn"
@click="openQuickUpload"
>
<NIcon size="20" style="display: inline-flex; vertical-align: middle;">