2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-05 12:54:19 +00:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00
2026-01-06 23:49:23 +08:00

SatoNano

云服务综合管理平台

功能特性

  • 用户注册、登录、退出
  • JWT 令牌认证Access + Refresh Token
  • 密码修改
  • 用户信息管理
  • 🔜 邀请码注册
  • 🔜 OAuth2 第三方登录

技术栈

  • Web 框架: FastAPI
  • ORM: SQLAlchemy 2.0 (异步)
  • 密码哈希: Argon2
  • 认证: JWT (PyJWT)
  • 数据验证: Pydantic v2

快速开始

环境要求

  • Python 3.12+
  • uv (推荐)

安装

# 克隆项目
git clone <repo-url>
cd SatoNano

# 安装依赖
uv sync

# 配置环境变量(可选)
cp .env.example .env
# 编辑 .env 文件设置 SECRET_KEY 等配置

启动服务

# 开发模式(自动重载)
uv run python main.py

# 或使用 uvicorn
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

访问 API

API 接口

接口 方法 描述
/api/v1/auth/register POST 用户注册
/api/v1/auth/login POST 用户登录
/api/v1/auth/logout POST 用户退出
/api/v1/auth/refresh POST 刷新令牌
/api/v1/auth/change-password POST 修改密码
/api/v1/users/me GET 获取当前用户
/api/v1/users/me PATCH 更新用户信息

详细文档请查看 docs/auth-api.md

项目结构

app/
├── api/           # API 路由层
├── core/          # 核心功能(配置、安全、异常)
├── models/        # 数据库模型
├── repositories/  # 数据访问层
├── schemas/       # 数据验证模式
├── services/      # 业务逻辑层
├── database.py    # 数据库连接
└── main.py        # 应用入口

详细架构说明请查看 docs/architecture.md

开发

# 安装开发依赖
uv sync --dev

# 代码格式化
uv run ruff format .

# 代码检查
uv run ruff check .

# 运行测试
uv run pytest

配置说明

支持通过环境变量或 .env 文件配置:

变量 默认值 说明
SECRET_KEY - JWT 签名密钥(生产必改)
DEBUG false 调试模式
DATABASE_URL sqlite+aiosqlite:///./satonano.db 数据库连接
ACCESS_TOKEN_EXPIRE_MINUTES 30 访问令牌有效期
REFRESH_TOKEN_EXPIRE_DAYS 7 刷新令牌有效期

License

MIT

Description
No description provided
Readme Apache-2.0 188 KiB
Languages
Python 72.2%
TypeScript 25.7%
CSS 2.1%