【 我的AI网站 】架构与功能报告

跳转链接:https://aether.mingder.space/

1. 平台概述与功能定位

本平台是一个集成了多种 AI 模型的内容生成服务系统,旨在为用户提供便捷的移动端与桌面端 AI 创作体验。平台打通了从用户注册、积分充值、AI 任务调度到最终资源交付的全链路流程。

核心功能矩阵:

功能模块 详细说明
AI 创作工具集 集成多种生成式模型,包括Nano BananaQwen Image(通义万相)、Tongyi(通义千问)、Doubao(豆包/火山引擎) 以及图片转提示词 (ImageToPrompt) 等工具。
用户账户体系 支持邮箱注册/登录,包含详细的用户画像 (Profile) 管理。设有会员体系(月卡、年卡)及免费额度机制。
资产与支付系统 内置积分 (Credits) 钱包,支持在线充值。接入ZPay支付网关,支持支付宝/微信免签或低价接入。记录详细的积分流水与交易订单。
多端适配 基于响应式设计,提供专门的**Mobile (移动端)独立视图与Desktop (桌面端)**视图,覆盖不同设备场景。
管理后台 (Admin) 提供可视化仪表盘,用于管理用户 (Users)、任务 (Tasks)、资产 (Assets) 及交易 (Transactions),支持系统级监控。

2. 基础设施架构

平台采用轻量化、高性价比的分布式架构,利用云服务商的免费额度与低价套餐构建了生产级环境。

层级 服务/组件 选型/供应商 说明
计算层 应用服务器 雨云 (Rainyun) 2核 2G (Debian) 实例,托管后端 API、数据库与 Redis。
运维层 面板工具 1Panel 提供容器化部署、可视化运维与监控能力。
存储层 对象存储 (OSS) ClawCloud (S3) 兼容 S3 协议,$5/月低成本方案,用于持久化存储用户生成的图片资源。
网络层 CDN 加速 腾讯云 CDN 利用免费流量包加速静态资源分发,同时隐藏源站 IP,提升安全性。
模型层 AI 模型聚合 魔搭 (ModelScope) / API易 聚合主流 LLM 与绘图模型,通过 API 形式调用,降低显卡成本。
模型层 专有模型 火山引擎 (Volces) 接入豆包 (Doubao) 等特定大模型能力。
开发层 辅助编程 Antigravity (Gemini 3) AI 辅助编码工具,加速开发迭代。

3. 技术栈概览

领域 核心技术 关键库/工具
前端 (Frontend) Vue 3(TypeScript) Vite, Pinia, Vue Router, TailwindCSS (推测), Axios
后端 (Backend) Python 3.11+ FastAPI, SQLAlchemy (Async), Pydantic, Uvicorn
数据库 (Database) MySQL 8.0 关系型数据存储 (用户、订单、任务)
缓存/队列 (Cache) Redis 任务队列 (Celery/Rq)、缓存、限流
部署 (DevOps) Docker 1Panel 容器化管理

4. 后端架构详解

后端采用 FastAPI 框架构建,遵循 RESTful API 规范,注重高性能与异步处理能力。

4.1 核心模块划分

根据 app/main.py 与路由配置,后端业务逻辑被拆分为以下微模块:

  • Auth (认证模块): 处理注册、登录、JWT 令牌签发与刷新。
  • User (用户模块): 管理用户基础信息、会员状态与个性化设置。
  • Generation (生图模块): 核心业务,接收前端 AI 任务请求,调度模型接口(Gemini, ModelScope, Volces),并将结果异步回调。
  • Payment (支付模块): 集成 ZPay 接口,处理 /payment/create (创建订单) 与 /payment/notify (异步回调),保障资金安全。
  • Transaction (流水模块): 记录每一次积分变动(充值增加、生图扣减)。
  • Upload (上传模块): 处理图片上传至 S3 兼容存储 (ClawCloud) 的逻辑,并对接新图床 API。
  • Admin (管理模块): 提供超级管理员权限的 API,用于数据统计与全站管理。

4.2 数据模型设计 (Schema)

基于 app/db/models.py,核心实体关系如下:

  1. User (用户表): 存储账号、密码哈希、状态、最后登录信息。
  2. UserProfile (用户资产表): 1:1 关联 User,存储积分 (credits)、会员过期时间、免费额度。引入了乐观锁 (version) 防止并发扣费异常。
  3. ImageTask (任务表): 存储 AI 生成任务详情(Prompt、模型参数、执行状态 PENDING/SUCCESS/FAIL、成本耗时),关联至 User。
  4. PaymentOrder (订单表): 存储支付流水号、金额、支付方式及支付二维码链接 (qrcode_url)。
  5. CreditTransaction (积分流水表): 记录每一次积分变更的来源 (source) 和变动后余额,确保账目可追溯。

4.3 关键中间件与机制

  • CORS 策略: 严格配置了 allow_origins,仅允许生产域名 (*.mingder.space) 及开发环境 (localhost) 跨域访问。
  • 统一日志系统: 自定义 log_requests 中间件,记录每个请求的耗时、状态码。
  • 异常监控: 集成了 飞书 (Feishu) 报警 机制。当发生 500 错误时,自动捕获堆栈并通过飞书机器人推送到开发群。
  • 统一异常处理: 覆盖 RequestValidationErrorStarletteHTTPException,将默认的英文报错(如 "Field required")转化为中文友好提示返回给前端。
  • 启动/关闭钩子: 在应用启动时自动检查 MySQL 与 Redis 连接,并启动后台调度器 (scheduler)。

5. 前端架构详解

前端采用 Vue 3 + TypeScript + Vite 的现代化技术栈,实现了 SPA (单页应用) 架构。

5.1 路由与页面结构

根据 src/router/index.ts,前端路由设计具有明显的端侧分离特征:

  • 通用页面: Login, Home, NotFound.
  • Tools (工具页):
    • /nano-banana: 特定风格生图工具。
    • /qwen-image: 通义万相生图。
    • /tongyi & /doubao: 接入通义千问与豆包的大语言模型/生图界面。
  • Mobile 专属视图: /mobile/create, /mobile/profile, /mobile/task/:id 等,针对移动端触摸操作优化。
  • Admin 后台: 包含 /admin (桌面) 与 /mobile/admin/* (移动端管理后台),涵盖用户、任务、资金、交易四大管理板块。

5.2 状态管理 (Pinia)

  • AuthStore: 封装用户登录状态、JWT Token 存储与刷新逻辑。
  • ModalStore: 控制全局弹窗(如登录框、支付框)的显示与隐藏。
  • 路由守卫 (Guards):
    • requiresAuth: 拦截未登录访问,自动弹出登录框。
    • requiresAdmin: 校验用户 ID (如 id===1),确保仅管理员可访问后台路由。

5.3 样式与资源

  • 引入了 admin.cssmain.css 分离管理前台与后台样式。
  • 构建时通过 Vite 进行代码分割与打包优化。