# 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的验证机制 - 使用认证和授权中间件 - 跨域