北邮爱乐统一后端平台

模块化单体架构 · 支持多应用共享

为你的爱乐应用提供统一的认证、数据存储和文件管理服务,快速构建现代化的应用。

服务状态监控

实时监控各服务运行状态

Backend API

http://localhost:9000

检查中...
🔐

Casdoor SSO

http://localhost:8000

检查中...
🗄️

Mongo Express

http://localhost:8081

检查中...
📁

MinIO Console

http://localhost:9101

检查中...

核心特性

🔑

统一认证

集成 Casdoor SSO,实现多应用单点登录,JWT Token 自动验证,基于角色的权限控制。

📊

灵活数据模型

通过 UnifiedRecord 的 payload 字段支持任意 JSON 结构,一套 API 适应所有业务场景。

批量操作

支持批量创建、更新、删除记录,最多 100 条,详细的错误报告和事务控制。

📁

文件管理

MinIO S3 兼容存储,支持图片、视频、PDF 等多种文件类型,直接上传和预签名两种模式。

🔄

完整 CRUD

RESTful API 设计,分页、排序、搜索功能齐全,软删除、版本控制、查看计数等企业级特性。

🐳

容器化部署

Docker Compose 一键部署,包含 MongoDB、Redis、PostgreSQL、MinIO 完整技术栈。

API 文档

完整的 RESTful API,自动生成的交互式文档

API 端点

http://localhost:9000/api/v1

认证方式

Bearer Token (从 Casdoor 获取)

核心功能

  • 用户认证与授权
  • 记录 CRUD 操作
  • 批量操作 API
  • 文件上传下载

创建记录示例

fetch('/api/v1/records', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + token,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    app_identifier: 'blog-app',
    collection_type: 'post',
    payload: { title: 'Hello World' },
    is_published: true
  })
}).then(res => res.json());

快速开始

5 步完成应用接入

1

创建 Casdoor 应用

访问 Casdoor 管理后台,创建新应用,获取 Client ID 和 Secret。

2

集成用户登录

使用 OAuth 2.0 协议集成 Casdoor,获取 JWT Token 进行后续 API 调用。

3

创建数据记录

通过 API 创建 UnifiedRecord,在 payload 字段存储任意业务数据。

4

上传文件

使用文件上传 API,将图片、视频等文件存储到 MinIO 对象存储。

5

部署应用

完成开发和测试后,部署应用并配置 CORS 和域名。

文档中心

完整的开发指南和 API 参考

常见问题

如何获取 Client ID 和 Client Secret?

访问 Casdoor 管理后台 (http://localhost:8000),创建应用后可在应用详情页面查看 Client ID 和 Client Secret。

payload 字段可以存储什么类型的数据?

payload 字段可以存储任何有效的 JSON 数据,包括对象、数组、字符串、数字等。理论上没有大小限制,但建议控制在合理范围内。

如何实现用户数据隔离?

使用 app_identifier 和 collection_type 组合实现数据隔离。查询时使用 owner_id: 'current' 可以自动过滤当前用户的数据。

文件上传的大小限制是多少?

图片最大 50MB,视频和文档最大 500MB。如需上传更大文件,可以使用预签名 URL 直接上传到 MinIO。

如何配置跨域访问?

在 .env 文件中配置 CORS_ORIGINS 环境变量,使用逗号分隔允许的前端域名。重启 backend 服务后生效。