admin/README.md
2026-03-20 15:15:43 +08:00

181 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SimpleAdmin API
基于 Fake 框架的简单管理系统后端 API。
## 技术栈
- **.NET 8.0** - 最新的 .NET 平台
- **Fake Framework** - 模块化应用框架
- **Entity Framework Core** - ORM 框架
- **SQL Server** - 数据库
- **JWT** - 身份认证
- **Swagger** - API 文档
## 功能特性
- ✅ 模块化架构
- ✅ 自动 API 生成(ApplicationService 自动转换为 Controller)
- ✅ RBAC 权限管理
- ✅ JWT 认证
- ✅ Swagger 文档
- ✅ 依赖注入
- ✅ 工作单元
- ✅ 审计日志
## 开始使用
### 前置要求
- .NET 8.0 SDK
- SQL Server (LocalDB 或完整版)
### 配置数据库
修改 `appsettings.json` 中的连接字符串:
```json
{
"ConnectionStrings": {
"Default": "Server=(localdb)\\mssqllocaldb;Database=SimpleAdminDb;Trusted_Connection=true;MultipleActiveResultSets=true"
}
}
```
### 数据库迁移
```bash
# 添加迁移
dotnet ef migrations add InitialCreate --project ../modules/rbac/Fake.Rbac.Infrastructure
# 更新数据库
dotnet ef database update --project ../modules/rbac/Fake.Rbac.Infrastructure
```
### 运行项目
```bash
dotnet run
```
访问 http://localhost:5000 查看 Swagger 文档。
## 默认账号
系统会自动创建默认管理员账号:
- 账号:admin
- 密码:123456
- 角色:超级管理员
**⚠️ 重要:请在生产环境中立即修改默认密码!**
## API 端点
### 认证 API
- `POST /api/auth/login` - 用户登录
- `GET /api/auth/current` - 获取当前用户信息
- `PUT /api/auth/password` - 修改密码
### 用户管理 API
- `GET /api/rbac/user/list` - 获取用户列表
- `GET /api/rbac/user/{id}` - 获取用户详情
- `POST /api/rbac/user` - 创建用户
- `PUT /api/rbac/user/{id}` - 更新用户
- `DELETE /api/rbac/user/{id}` - 删除用户
- `PUT /api/rbac/user/{id}/roles` - 分配角色
- `GET /api/rbac/user/{id}/permissions` - 获取用户权限
### 角色管理 API
- `GET /api/rbac/role/list` - 获取角色列表
- `GET /api/rbac/role/all` - 获取所有角色
- `GET /api/rbac/role/{id}` - 获取角色详情
- `POST /api/rbac/role` - 创建角色
- `PUT /api/rbac/role/{id}` - 更新角色
- `DELETE /api/rbac/role/{id}` - 删除角色
- `PUT /api/rbac/role/{id}/permissions` - 分配权限
### 菜单管理 API
- `GET /api/rbac/menu/tree` - 获取菜单树
- `GET /api/rbac/menu/user/{userId}` - 获取用户菜单
- `GET /api/rbac/menu/{id}` - 获取菜单详情
- `POST /api/rbac/menu` - 创建菜单
- `PUT /api/rbac/menu/{id}` - 更新菜单
- `DELETE /api/rbac/menu/{id}` - 删除菜单
### 权限管理 API
- `GET /api/rbac/permission/all` - 获取所有权限
- `GET /api/rbac/permission/tree` - 获取权限树
## 项目结构
```
SimpleAdmin.Api/
├── Controllers/ # 控制器(手动创建的)
├── Program.cs # 程序入口
├── SimpleAdminApiModule.cs # 主模块配置
├── appsettings.json # 配置文件
└── README.md
```
## Fake 框架特性
### 自动 API 生成
所有继承自 `ApplicationService` 的服务会自动生成对应的 API 端点,无需手动创建 Controller。
### 模块化
通过 `[DependsOn]` 特性声明模块依赖:
```csharp
[DependsOn(
typeof(FakeAspNetCoreModule),
typeof(FakeRbacApplicationModule)
)]
public class SimpleAdminApiModule : FakeModule
{
// ...
}
```
### 依赖注入
框架自动注册服务,支持:
- `ITransientDependency` - 瞬时
- `IScopedDependency` - 作用域
- `ISingletonDependency` - 单例
### 工作单元
应用服务方法自动包装在工作单元中,支持事务管理。
## JWT 配置
JWT 配置在 `appsettings.json` 中:
```json
{
"JwtSettings": {
"SecretKey": "your-secret-key-here",
"ExpiryInMinutes": 60
}
}
```
## CORS 配置
默认允许的前端地址:
- http://localhost:3000
- http://localhost:5173
可在 `SimpleAdminApiModule.cs` 中修改。
## 许可证
MIT