# 23级全栈2班demo-admin
**Repository Path**: myhfw003/grade23-fullstack-class2-demo-admin
## Basic Information
- **Project Name**: 23级全栈2班demo-admin
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-07-01
- **Last Updated**: 2025-07-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 23级全栈2班-通用管理项目
课程视频:https://www.alipan.com/s/xx8Rso25JCE
```mermaid
classDiagram
class AppUser {
+Guid Id
+string Username
+string Password
+string Salt
+List~AppRole~ Roles
+AssignRole(role: AppRole) void
+RemoveRole(role: AppRole) void
+HasPermission(permissionCode: string): bool
}
class AppRole {
+Guid Id
+string Name
+string Description
+List~AppPermission~ Permissions
+AssignPermission(permission: AppPermission) void
+RemovePermission(permission: AppPermission) void
+HasPermission(permissionCode: string): bool
}
class AppPermission {
+Guid Id
+string Code
+string Name
+string Description
+List~AppResource~ Resources
}
class AppResource {
+Guid Id
+string Name
+string Type
+string Path
}
AppUser "1" -- "0..*" AppRole : has
AppRole "1" -- "0..*" AppPermission : has
AppPermission "1" -- "0..*" AppResource : controls
```
```mermaid
flowchart TD
A[用户注册/登录] --> B{获取用户角色}
B --> C{获取角色权限}
C --> D{获取权限资源}
D --> E[生成权限点列表]
E --> F[前端渲染菜单/按钮]
E --> G[后端接口权限校验]
```
```mermaid
graph TD
A[资源] -->|操作| B[权限点]
A1[用户] --> B1[User.Create]
A1 --> B2[User.Delete]
A2[订单] --> B3[Order.Approve]
A2 --> B4[Order.Cancel]
```
## 1.0 2025-07-03的后续任务
1. 完成用户管理、角色管理、部门管理、权限管理的api接口
比如用户管理中有:新增用户(注册(已经在auth api中了所以不在用户管理服务中不再出现)、管理员分配账号)、删除用户、禁用用户、修改用户基本信息、分配角色、移除角色等等
2. 使用Dapper这个ORM工具,重新实现一个仓储接口,并在后续的使用中,总是使用Dapper
```mermaid
flowchart TD
subgraph Domain.Shared
A[Domain.Shared
(通用常量、枚举、接口、DTO、基础类型)]
end
subgraph Domain
B[Domain
(领域实体、聚合根、仓储接口、领域服务)]
end
subgraph Application.Contracts
C[Application.Contracts
(应用DTO、服务接口、权限定义)]
end
subgraph Application
D[Application
(应用服务、业务编排、DTO映射)]
end
subgraph HttpApi
E[HttpApi
(API控制器、DTO、API模型)]
end
subgraph HttpApi.Host
F[HttpApi.Host
(Web主机、启动配置、依赖注入、Swagger等)]
end
subgraph EntityFrameworkCore
G[EntityFrameworkCore
(仓储实现、DbContext、迁移)]
end
%% 依赖关系
F --> E
E --> D
D --> C
D --> B
C --> B
B --> A
D --> A
C --> A
E --> C
G --> B
G --> A
%% 说明
classDef shared fill:#f1c40f,stroke:#b7950b,color:#222;
classDef domain fill:#2ecc71,stroke:#27ae60,color:#fff;
classDef contracts fill:#5dade2,stroke:#21618c,color:#fff;
classDef app fill:#48c9b0,stroke:#148f77,color:#fff;
classDef api fill:#f1948a,stroke:#922b21,color:#fff;
classDef host fill:#a569bd,stroke:#512e5f,color:#fff;
classDef ef fill:#b2babb,stroke:#626567,color:#222;
class A shared;
class B domain;
class C contracts;
class D app;
class E api;
class F host;
class G ef;
```
分页数据
作业:最终返回数据需要如下所示:
{
code:1000,
msg:"成功",
data:{
totalCount:18,
totalPage:1,
pageIndex:1,
pageSize:20,
items:[
{
}
]
}
}
## 作业
### 2025-07-11
1. 尝试理解今天的领域事件
- 先尝试着使用:比如通过领域事件给角色创建分配一个默认权限,给角色的删除清楚这个角色对应的权限关系
- 再尝试理解MediatR组件的使用以及DDD设计模式下领域事件的设计架构
2. 尝试为我们的DDD应用集成Serilog日志组件,要求简单明了
### 2025-07-16
1. 打通前后端一些必备要素
- 一个库,一个有一些封装的库(axios)
- 安全需要,需要token保护控制器和其中的方法
- 配置JWT的验证机制
- 使用认证和授权中间件
- 跨域