Skip to content

AuthImage 认证图片

带认证的图片组件。支持 fileId/文件路径/URL 等多种来源,内置懒加载、加载失败重试、回退占位图和点击大图预览。

基本用法

vue
<template>
  <!-- fileId 模式 -->
  <AuthImage src="file_abc123" alt="用户头像" />

  <!-- 普通 URL -->
  <AuthImage src="https://example.com/photo.jpg" />

  <!-- 带预览和回退 -->
  <AuthImage
    src="file_abc123"
    fallback="/default-avatar.png"
    preview
    @error="handleError"
  />
</template>

<script setup>
import { AuthImage } from '@/components/common'

const handleError = (err) => console.error('图片加载失败:', err)
</script>

Props

属性类型默认值说明
srcString''图片来源:fileId、文件路径、或 http(s)/data/blob URL
fallbackString''加载失败时显示的回退图片 URL
altString''图片的 alt 属性
imgClassString | Array | Object''应用于 <img> 元素的自定义 CSS 类
imgStyleString | Object''应用于 <img> 元素的自定义内联样式
lazyBooleantrue启用基于 IntersectionObserver 的懒加载(200px rootMargin)
previewBooleanfalse启用点击打开大图模态框预览
expiresNumber43200访问地址缓存 TTL(秒),默认 12 小时

Events

事件名参数说明
load图片加载成功时触发
errorError重试后仍然加载失败时触发

内部机制

  • 通过 resolveRenderableFileUrl 将 fileId/文件路径解析为可渲染 URL
  • 加载失败自动重试
  • 懒加载基于 IntersectionObserver,rootMargin = 200px
  • 预览模式点开后以 NModal 展示原图

Forge Admin — 基于 Vue3 + Spring Boot 的企业级后台管理框架