EXIF Gallery Nuxt 是一款基于边缘计算构建的全栈相册解决方案。它将 AI 图像处理、浏览器端高效压缩与云端存储深度集成,为开发者提供了一个高性能、易部署且具备现代化视觉体验的图片管理平台。
核心技术架构
该项目在技术选型上追求极致的性能与开发效率,整体采用 TypeScript 编写并遵循严格的代码规范。其核心能力由以下技术栈支撑:
- 存储与部署: 依托 NuxtHub 的 Blob 存储(底层基于 Cloudflare R2),实现高效的数据管理与全球分发。
- 图像处理: 集成 JSQuash 库,在浏览器端即可完成 JPEG、WebP 和 AVIF 等多种格式的高质量压缩。
- UI 视觉: 使用 shadcn-vue 和 inspira-ui 构建现代化界面,并利用 视图过渡 API (View Transitions API) 实现流畅的 DOM 状态动画切换。
- 效率工具: 引入 UnoCSS 和 VueUse 提升开发速度,通过 Nuxt Auth Utils 快速实现轻量级的身份验证。
功能特性
- 智能图像处理: 原生集成 OpenAI 与 Gemini,赋予相册 AI 智能分析能力。
- 全链路存储: 支持通过
hubBlob()快速实现图片的上传与展示。 - 端侧压缩: 在上传前进行格式优化与体积压缩,降低带宽压力并提升加载速度。
- 极简鉴权: 提供基于 Vue 组合式 API 的服务端身份验证模块,确保数据安全。
快速上手
开发者可以通过以下步骤快速部署该项目:
- 克隆项目仓库至本地。
- 执行
pnpm install安装项目依赖。 - 运行
pnpm dev启动开发环境。
提示:若系统中尚未安装 pnpm,请先运行
corepack enable pnpm进行启用。
相关链接:
GitHub 仓库:github.com/wiidede/exif-gallery-nuxt
在线演示:https://photo.wiidede.space/
正文完

