type
status
date
slug
summary
category
tags
create_time
Sep 1, 2025 09:37 PM
icon
password
my_create_time

📝 背景介绍

在日常写作、产品文档、博客和团队协作中,图片存储与管理是高频需求。
但公共图床存在以下问题:
  • 外链可能失效,影响内容长期可用性
  • 管理能力有限,不便于团队协作
  • 存储与访问安全性无法保障
  • 免费图床服务不够稳定,可能随时跑路
如果还需要运营公众号,还会遇到外部图片链接无法正常显示的问题。
青萍图床 是一款专为内容创作者设计的专业图片托管服务,聚焦解决公众号写作、团队协作及跨平台内容创作中的图片管理痛点。
通过稳定的存储架构、无缝的生态集成和安全可控的访问机制,为用户提供高性能、高可用的专业图床解决方案。

🔍 使用场景

  • 公众号写作
    • 作者在青萍编辑器中插入图片时,图片自动上传到青萍图床
    • 编辑器返回的图片链接可直接在公众号后台使用,无需二次上传
  • 团队写作协作
    • 多人共用一个统一的图床,确保图片地址稳定、长期有效
    • 支持基于 OAuth2 的用户隔离与管理
  • 个人笔记与知识库
    • 写 Markdown 或 Notion 文档时,快速生成可外链的图片 URL
    • 提升写作效率,避免外链失效
  • 跨平台内容创作
    • 不仅支持公众号,还能应用于博客、知识库、产品文档等场景
    • 一次上传,多端复用

📌 最终目标

  • 提供 安全、稳定、高性能 的图床服务。
  • 支持 公众号内图片正常显示,解决外链兼容性问题。
  • 用户无需单独注册,直接使用 青萍统一认证 即可。
  • 青萍编辑器无缝集成,实现一键插入与图床管理。
  • 与 青萍AI 集成,支持 AI 生图,AI 调图。

🖼️ 产品架构图

notion image

🏗 技术架构

整体架构分为三部分:
1、前端
  • 框架:React + Next.js
  • 功能:图片上传(直传 OSS)、图片管理、生成多种外链
  • 与青萍统一认证集成
2、后端
  • 框架:Python Flask
  • 功能:签发 OSS 上传凭证、存储图片元信息、提供 API 接口
  • 认证:集成青萍统一认证,无需单独账号体系
  • 依赖管理:使用 uv 进行依赖版本管理和环境隔离
3、存储 & 数据库
  • 对象存储:阿里云 OSS
  • 数据库:MySQL(存储图片元信息:文件名、URL、上传时间等)

⚙️ 功能模块

1️⃣ 图片上传

上传流程说明:
  • 前端调用后端 API 获取 OSS 临时上传凭证
  • 用户在前端将图片直传至 OSS
  • 上传完成后,后端存储图片的元数据信息,并自动将外链复制到剪切板
notion image
上传方式支持:
  • 拖拽上传:支持直接拖拽文件到上传区域
  • 点击上传:传统文件选择对话框
  • 粘贴上传:支持从剪贴板直接粘贴图片
上传大小和格式限制:
  • 单个文件最大不超过 10M
  • 单次批量上传不超过 10张
  • 不能超出用户当前套餐额度
  • 支持上传格式:JPG/JPEG, PNG, GIF, WEBP, BMP, SVG
上传体验优化:
  • 实时上传进度条显示
  • 预估剩余时间计算
  • 网络异常自动重试(最多3次)

2️⃣ 图片管理

  • 图片列表展示(缩略图 + 上传时间 + 文件名)
  • 支持搜索、过滤、批量删除
  • 自动生成 Markdown 链接HTML <img> 标签

3️⃣ 用户认证

  • 使用青萍统一认证,无需单独注册/登录
  • 后端基于 Token 验证请求权限
  • 支持与青萍生态中的其他服务共享认证体系

4️⃣ 与青萍编辑器集成

  • 编辑器内置「上传图片」功能直接调用青萍图床 API
  • 插入图片时自动生成公众号兼容的图片链接
  • 后续支持图片裁剪、压缩、批量上传

🔐 安全设计

  • 通过后端 API 签发 临时 OSS 上传凭证,避免泄露永久密钥
  • 所有 API 请求均需携带青萍统一认证的 Access Token
  • 上传的图片路径按用户区分,避免越权访问

🚀 未来规划

  • 增加图片统计功能(访问量、带宽消耗等)
  • 图片分类与标签管理
  • 支持图片压缩与水印
  • 更深度地与 青萍编辑器 集成,实现完整的写作闭环
  • 团队管理,支持团队账号、权限分级与资源隔离
  • 集成青萍AI,通过 AI 自动生图
  • 提供 OpenAPI,支持外部系统调用
💡
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
 
上一篇
第四部分:Deployment 资源对象介绍
下一篇
第四部分:资源对象详解 Pod 最小运行资源

评论
Loading...