Skip to content

项目介绍

项目概述

AstrNest 是一个现代化的全栈图床与内容治理平台,基于 Spring Boot 3.4.1 和 Vue 3 构建,为企业提供完整的图片管理解决方案。

vueelement-plusspring-bootlicense

📸 什么是图床?

图床,简单来说,就是专门用来在网络上存储和分享图片的服务器。它的核心功能是提供图片的存储服务,并为你生成一个唯一的图片外链地址。当你把这个链接放到你的网站、论坛帖子、博客文章或者社交媒体中时,其他人就可以通过这个链接直接访问到你的图片。

图床的核心价值

节省存储与带宽

对于个人用户或小型网站,尤其是使用低配置服务器的用户,将图片存放在图床可以有效节省本地服务器的存储空间和带宽,从而提升网站的整体运行速度和流畅度。

提升访问速度

很多图床服务会使用CDN(内容分发网络)加速,将你的图片复制到全球多个节点。当用户访问时,可以从离他们最近的服务器加载图片,从而大幅提升图片的加载速度。

便捷的分享与管理

你无需担心图片占用本地空间,可以随时随地通过链接分享图片。此外,图床通常提供图片管理功能,如按类别、标签或时间进行组织,方便你查找和使用。

图床如何管理图片

图片上传

  • 支持通过网页拖拽、直接选择文件、甚至直接粘贴来自剪贴板的图片进行上传
  • 部分图床还提供API接口,方便开发者集成到其他应用或工具中(例如与Typora等Markdown编辑器搭配)

图片存储

  • 存储方案多样,包括本地服务器存储、第三方对象存储(如阿里云OSS、腾讯云COS、S3协议存储桶等)
  • 为了数据安全和访问速度,可能会采用分布式存储或跨多个地理位置部署服务器

图片处理与分发

  • 许多图床提供内置的图片处理功能,如裁剪、缩放、压缩、添加水印以及格式转换(例如将图片转换为WebP格式以减小体积)
  • 通过CDN加速,确保全球用户都能快速访问图片

管理与安全

  • 用户与权限管理:对于自建或高级图床,可以设置多用户管理、分组,并控制不同用户对图片的上传、删除和查看权限
  • 安全措施:包括设置访问权限(公开/私有)、防盗链技术、域名过滤白名单,甚至集成图像审查(如鉴黄、鉴暴)功能,防止违规内容传播
  • 操作日志:记录用户的所有操作,方便事件溯源和系统维护

🎯 核心特性

完整的API生态

  • RESTful API + API密钥认证 + Web管理界面
  • 支持用户门户、安全管理、API密钥管理、系统配置等完整接口

多云存储支持

  • 内置 Local、阿里云 OSS、腾讯 COS、七牛 Kodo、华为 OBS、金山 KS3、又拍云 USS、OneDrive/SharePoint 以及通用 S3 驱动
  • 可在配置中一键切换存储策略
  • S3 兼容驱动默认 5GB 阈值触发 25MB 分片上传
  • 支持 CDN/CNAME、加速域、PathStyle 以及预签名直传凭证

智能内容审查

  • 接入腾讯云数据万象(COS CI)图片审核与标签服务
  • 自动回填 AI 决策/标签/RequestId
  • 结合错误码文档输出友好提示
  • 配合人工复核双重保障

成员治理与配额

  • 管理端"成员列表"支持查看头像/配额/点赞总数
  • 可一键调整每日上传与总存储额度
  • 支持切换管理员/用户/游客角色

访客互动能力

  • 公共图库可配置访客点赞
  • 支持访客token与最近点赞展示
  • 可随时禁用访客互动功能

实时监控与邮件服务

  • 系统运行状态监控与操作日志审计
  • 集成邮件模板与验证码发送功能
  • 默认预置阿里云邮局SMTP

📦 技术栈

后端技术

  • 框架: Spring Boot 3.4.1
  • 语言: Java 21
  • 数据库: MySQL 5.7+/8.0
  • 安全: Spring Security 6
  • 文档: SpringDoc OpenAPI 3
  • AI 审核 SDK: Tencent Cloud COS CI
  • 构建: Maven Wrapper

前端技术

  • 框架: Vue 3.5.24
  • 构建: Vite 5.4.10
  • 路由: Vue Router 4
  • 状态管理: Pinia 3
  • UI组件: Element Plus 2.8.6
  • 样式: Tailwind CSS 3
  • 图标: Lucide Vue, Element Plus Icons

📁 项目结构

astrnest/
├─ backend/      # Spring Boot 服务:REST API、鉴权、内容审查、API密钥管理
├─ frontend/     # Vue 3 + Vite 单页应用:仪表盘、上传中心、安全控制台、API集成
├─ storage/      # (运行时生成)本地存储目录,可通过配置改为OSS/COS
└─ AstrNest-docs/ # 项目文档(VitePress构建)

💡 为什么选择 AstrNest?

AstrNest 不仅仅是一个图床系统,更是一个完整的内容治理平台:

  • 企业级安全:从认证授权到内容审查,全方位保障数据安全
  • 高度可扩展:支持多云存储,轻松应对业务增长
  • 现代化体验:基于最新技术栈,提供流畅的用户体验
  • 开源免费:GPL v3许可证,可自由使用和定制(需遵守开源协议)
  • 活跃社区:持续更新,及时响应问题和需求

🌟 AstrNest与腾讯云SaaS生态深度融合

企业级SaaS平台定位

AstrNest是一个现代化的全栈图床与内容治理平台,采用SaaS(软件即服务)模式,为企业提供完整的图片管理解决方案。项目深度集成腾讯云SaaS生态,充分利用腾讯云在云计算、AI、存储等方面的技术优势。

与腾讯云SaaS的核心结合点

1. 腾讯云对象存储(COS)深度集成

  • 原生COS驱动支持:AstrNest内置腾讯云COS存储驱动,支持一键切换存储策略
  • 分片上传优化:针对大文件上传,默认5GB阈值触发25MB分片上传,提升上传稳定性
  • CDN加速集成:支持腾讯云CDN加速域配置,实现全球内容分发
  • 预签名直传:支持预签名直传凭证,减轻服务器压力,提升上传效率

2. 智能内容审查与腾讯云数据万象(COS CI)

  • AI审核集成:深度集成腾讯云数据万象图片审核服务
  • 多场景检测:支持鉴黄、鉴暴、广告识别、政治敏感内容等多维度审核
  • 智能标签:自动识别图片内容并生成AI标签,便于内容管理
  • 双重保障:AI自动审核 + 人工复核机制,确保内容安全

3. 腾讯云基础设施无缝对接

  • 数据库兼容:支持腾讯云MySQL数据库服务,确保数据高可用
  • 容器化部署:原生支持腾讯云容器服务(TKE)部署
  • 监控集成:可与腾讯云监控服务对接,实现系统运行状态实时监控

核心竞争优势

技术架构先进性

  • 现代化技术栈:Spring Boot 3.4.1 + Vue 3 + Vite 5全栈技术
  • 微服务友好:前后端分离架构,便于微服务化改造
  • API生态完善:完整的RESTful API体系,支持第三方集成

企业级功能特性

  • 多租户支持:完善的用户权限管理体系,支持多组织使用
  • 配额管理:灵活的存储配额和上传限制配置
  • 操作审计:完整的操作日志记录,满足合规要求

多云存储策略

  • 存储灵活性:支持本地存储 + 多种云存储服务商
  • 一键切换:存储策略可动态切换,降低供应商锁定风险
  • 成本优化:可根据业务需求选择最优存储方案

目标客户群体

  • 中小企业:需要专业图片管理但预算有限的企业
  • 内容平台:博客、论坛、社交媒体等需要图片托管服务
  • 电商企业:商品图片管理和CDN加速需求
  • 开发者:需要API集成的应用开发者

未来发展潜力

  • AI能力增强:进一步集成腾讯云AI服务,如图像识别、内容生成等
  • 边缘计算:结合腾讯云边缘计算,提升图片处理效率
  • Serverless架构:向无服务器架构演进,降低运维成本

📦 技术架构

后端架构

Spring Boot 3.4.1
├── Spring Security 6 (认证授权)
├── Spring Data JPA (数据持久化)
├── SpringDoc OpenAPI 3 (API文档)
├── MySQL 5.7+/8.0 (数据库)
└── Maven Wrapper (构建工具)

前端架构

Vue 3.5.24
├── Vite 5.4.10 (构建工具)
├── Vue Router 4 (路由管理)
├── Pinia 3 (状态管理)
├── Element Plus 2.8.6 (UI组件)
├── Tailwind CSS 3 (样式框架)
└── Lucide Vue (图标库)

🎯 核心功能模块

1. 用户管理模块

  • 用户注册与登录:支持用户名密码登录
  • 个人资料管理:用户可以查看和修改个人信息
  • 密码安全:支持密码修改和安全设置
  • 登录历史:记录用户登录 IP 和时间信息
  • 成员列表:管理后台提供暗色玻璃风"directory"视图

2. 图片上传与存储模块

  • 多格式支持:支持常见图片格式(JPG、PNG、GIF、WEBP等)
  • 批量上传:支持多文件同时上传
  • 存储策略:可配置本地存储或云对象存储
  • 上传限制:支持文件大小、类型、数量限制(默认20MB)

3. 内容管理模块

  • 图片管理:用户可查看、删除、修改可见性
  • 批量操作:支持批量删除图片
  • 点赞功能:用户可对图片进行点赞
  • 可见性控制:支持公开/私有图片设置

4. 安全管理模块

  • 权限控制:基于角色的权限管理系统
  • 内容审查:腾讯云AI自动检测和人工审核违规内容
  • 域名白名单:控制图片引用域名
  • API 密钥管理:支持 API 调用认证和配额管理

5. 系统管理模块

  • 用户管理:管理员可管理用户角色和限制
  • 系统配置:动态配置系统参数
  • 监控统计:实时监控系统运行状态
  • 操作日志:记录所有关键操作

6. 邮件服务模块

  • 邮件模板:支持自定义邮件模板
  • 验证码发送:集成邮件验证码功能
  • 配置管理:灵活的邮件服务器配置

7. 公共图库模块

  • 公共展示:支持公开图片的展示和浏览
  • 点赞互动:会员/访客皆可点赞
  • 实时反馈:弹窗展示最近点赞信息
  • 分页浏览:支持大量图片的分页展示

🔌 API 接口概览

AstrNest 提供完整的 RESTful API 接口,涵盖以下主要功能:

用户门户接口 (User Portal)

  • 用户概览信息获取
  • 上传记录管理
  • 个人资料管理
  • 安全设置

安全管理员接口 (Security Admin)

  • 内容安全策略管理
  • 域名白名单管理
  • 安全配置信息

API 密钥管理接口 (API Key)

  • API 密钥创建和管理
  • 配额设置和状态控制
  • 密钥重置和删除

管理员接口 (Admin)

  • 用户管理
  • 上传记录管理
  • 系统配置
  • 邮件模板管理

上传接口 (Upload)

  • 文件上传
  • 文件获取
  • 上传限制查询
  • 公共图片浏览
  • 点赞功能
  • 用户信息展示

🛠️ 部署方式

开发环境部署

  • 支持 Docker Compose 一键部署
  • 提供传统部署方式
  • 支持多种数据库配置

生产环境部署

  • Docker 容器化部署
  • 传统服务器部署
  • 云平台部署支持

配置管理

  • 环境变量配置
  • 配置文件管理
  • 动态配置更新

📊 性能指标

  • 响应时间:平均响应时间 < 100ms
  • 并发支持:支持 1000+ 并发用户
  • 存储扩展:支持 TB 级别存储扩展
  • 可用性:99.9% 服务可用性

🔄 版本更新

AstrNest 采用语义化版本控制,定期发布新版本:

  • 主要版本:包含不兼容的 API 变更
  • 次要版本:新增功能,向下兼容
  • 修订版本:bug 修复,向下兼容

📄 许可证

AstrNest 采用 GNU General Public License v3 (GPL v3) 开源。

重要提示

  • 任何使用、修改、分发本代码的行为都必须遵守 GPL v3 协议
  • 基于本项目的衍生作品必须同样以 GPL v3 协议开源
  • 禁止将本代码用于闭源商业项目
  • 禁止移除版权信息和许可声明

🚀 未来发展

  • 图片压缩和格式转换功能
  • 图片水印添加功能
  • 图片批量处理工具
  • 移动端应用开发
  • 第三方登录集成

AstrNest - 现代化图床与内容治理平台

唯有青春与梦想不可辜负~!