diff --git a/src/components/cloud/ImageDetailModal.vue b/src/components/cloud/ImageDetailModal.vue index 6d9bedb..43ce071 100644 --- a/src/components/cloud/ImageDetailModal.vue +++ b/src/components/cloud/ImageDetailModal.vue @@ -1,4 +1,6 @@ + + diff --git a/src/components/cloud/QuickUploadModal.vue b/src/components/cloud/QuickUploadModal.vue new file mode 100644 index 0000000..a2d1ffa --- /dev/null +++ b/src/components/cloud/QuickUploadModal.vue @@ -0,0 +1,402 @@ + + + + + diff --git a/src/types/amap.d.ts b/src/types/amap.d.ts index 1fbfcb6..6f3031e 100644 --- a/src/types/amap.d.ts +++ b/src/types/amap.d.ts @@ -29,6 +29,11 @@ declare namespace AMap { features?: string[] layers?: unknown[] resizeEnable?: boolean + dragEnable?: boolean + zoomEnable?: boolean + keyboardEnable?: boolean + doubleClickZoom?: boolean + scrollWheel?: boolean } class Marker { @@ -104,6 +109,10 @@ declare function AMapLoader_load(opts: { plugins?: string[] }): Promise +declare namespace AMap { + function getConfig(): { appname?: string } +} + declare module '@amap/amap-jsapi-loader' { const AMapLoader: { load: typeof AMapLoader_load diff --git a/src/views/admin/AdminView.vue b/src/views/admin/AdminView.vue index 38c9ec2..06068a2 100644 --- a/src/views/admin/AdminView.vue +++ b/src/views/admin/AdminView.vue @@ -3,6 +3,7 @@ import { computed, onMounted, ref } from 'vue' import { NAlert, NButton, NEmpty, NIcon, NSkeleton, NTag, useMessage } from 'naive-ui' import { Check, Eye, EyeOff, Refresh, Trash, X } from '@vicons/tabler' import ImageDetailModal from '@/components/cloud/ImageDetailModal.vue' +import MiniLocationMap from '@/components/cloud/MiniLocationMap.vue' import { supabase } from '@/lib/supabase' import { useAuthStore } from '@/stores/auth' import { useProfileStore } from '@/stores/profile' @@ -792,6 +793,11 @@ onMounted(loadAdminData) {{ selectedImage.description || '上传者没有留下额外说明。' }}

+ diff --git a/src/views/encyclopedia/CloudTypeView.vue b/src/views/encyclopedia/CloudTypeView.vue index db56989..c12a966 100644 --- a/src/views/encyclopedia/CloudTypeView.vue +++ b/src/views/encyclopedia/CloudTypeView.vue @@ -3,6 +3,7 @@ import { computed, onMounted, ref, watch } from 'vue' import { NAlert, NButton, NCard, NEmpty, NSkeleton, NTag } from 'naive-ui' import { RouterLink, useRoute } from 'vue-router' import ImageDetailModal from '@/components/cloud/ImageDetailModal.vue' +import MiniLocationMap from '@/components/cloud/MiniLocationMap.vue' import { supabase } from '@/lib/supabase' import { useAuthStore } from '@/stores/auth' import { useEncyclopediaStore } from '@/stores/encyclopedia' @@ -334,6 +335,11 @@ watch(() => route.params.id, () => { {{ selectedGalleryItem.description || '上传者没有留下额外说明。' }}

+ diff --git a/src/views/gallery/GalleryView.vue b/src/views/gallery/GalleryView.vue index 1a465f3..c125275 100644 --- a/src/views/gallery/GalleryView.vue +++ b/src/views/gallery/GalleryView.vue @@ -4,6 +4,7 @@ import { NAlert, NButton, NDropdown, NEmpty, NIcon, NSkeleton, NTag, useMessage import { Clock, Location, Settings, User } from '@vicons/tabler' import CloudEditModal, { type CloudEditFormValue } from '@/components/cloud/CloudEditModal.vue' import ImageDetailModal from '@/components/cloud/ImageDetailModal.vue' +import MiniLocationMap from '@/components/cloud/MiniLocationMap.vue' import { supabase } from '@/lib/supabase' import { useAuthStore } from '@/stores/auth' import { useCloudsStore } from '@/stores/clouds' @@ -524,6 +525,11 @@ onUnmounted(() => { {{ selectedCloud.description || '上传者没有留下额外说明。' }}

+