- 更新 changelog.md: v0.2.0 记录 M2-M8 全部完成,路线图更新 - 新增 5 篇指南: RBAC、组织管理、审计日志、通知模块、质量横切 - 新增 5 篇 API 文档: RBAC(11)、Org(5)、Audit(1)、Settings(7)、Notification(7) - 更新 api/overview.md: 完整 37 端点列表 - 更新 config.ts: 侧边栏分组 + 11 页 SEO 元数据
2.5 KiB
2.5 KiB
| title |
|---|
| 组织管理 | 多租户 CRUD 与状态管理 - MengStack官方文档 |
组织管理
组织管理模块提供租户(Tenant)的完整生命周期管理,是多租户系统的基础。
数据模型
type Tenant struct {
ID string // UUID 主键
Name string // 组织名称
Slug string // 唯一标识符(用于 URL 友好展示)
Status int // 1=启用, 0=禁用
Settings string // JSON 扩展配置
CreatedAt time.Time
UpdatedAt time.Time
}
核心能力
| 能力 | 说明 |
|---|---|
| 创建租户 | 自动生成 UUID,需提供 name 和 slug |
| 查询租户 | 支持列表查询和单条详情查询 |
| 更新租户 | 可修改名称、slug、状态 |
| 删除租户 | 级联清理关联数据 |
| 状态管理 | 启用 / 禁用租户,禁用后该租户用户无法登录 |
使用方式
创建租户
curl -X POST http://localhost:2222/api/v1/org/tenants \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "示例科技有限公司",
"slug": "example-tech"
}'
响应:
{
"code": 0,
"message": "success",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "示例科技有限公司",
"slug": "example-tech",
"status": 1,
"created_at": "2026-10-03T10:00:00+08:00",
"updated_at": "2026-10-03T10:00:00+08:00"
}
}
禁用租户
curl -X PUT http://localhost:2222/api/v1/org/tenants/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"status": 0}'
与多租户中间件的关系
组织管理模块负责租户数据的 CRUD,而多租户中间件(X-Tenant-ID header)负责在请求级别隔离数据。两者配合实现完整的多租户能力:
- 通过 组织管理 API 创建租户
- 用户登录时通过 X-Tenant-ID 指定所属租户
- 中间件自动验证租户状态并注入上下文
- 后续所有数据库操作自动按
tenant_id过滤
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/v1/org/tenants |
创建租户 |
| GET | /api/v1/org/tenants |
列出所有租户 |
| GET | /api/v1/org/tenants/:id |
获取租户详情 |
| PUT | /api/v1/org/tenants/:id |
更新租户 |
| DELETE | /api/v1/org/tenants/:id |
删除租户 |
详细接口参数见 组织管理 API 参考。