123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- abp文档:https://github.com/ABPFrameWorkGroup/AbpDocument2Chinese
- Hangfire文档:https://docs.hangfire.io/en/latest/
- abp框架版本5.13
- -------------------------------------------------
- YGNT.Exam.Web.Host web宿主项目
- 主要关注:
- ->SwaggerSetup.cs Swagger配置设置
- ->Startup.cs web的启动设置
- -----------------------
- YGNT.Exam.Web.Core web基础核心
- ->ExamWebCoreModule.cs 模块配置,这里是对abp web核心模块的各种配置,初始化
- ->TokenAuthController.cs 和登录相关接口
- -------------------------
- YGNT.Exam.Application abp的基础应用层,包含框架自带的用户管理
- ->AccountAppService.cs 租户验证,用户注册
- ->IUserMessageAppService.cs 用户消息
- ->ITenantAppService.cs 租户管理
- ->IRoleAppService.cs 角色管理
- ->IUserAppService.cs,IUserManagerAppService.cs 用户管理
- --------------------------
- YGNT.Exam.Core 框架生成的用户管理等领域层
- Messages->用户信息
- ->Event下有TaskHandler.cs 用于发送试题解析,试卷生成任务信息
- ---------------------
- YGNT.Exam.EntityFrameworkCore 框架生成的数据层
- 注意Seed文件夹下的内容为数据初始化,
- HostRoleAndUserCreator.cs->CreateRole()-> PermissionFinder.GetAllPermissions()这个方法将获取系统设置的权限,如果有修改或者添加新的权限提供商(AuthorizationProvider)要记得在这个修改
- --------------------------------------------------------------------
- YGNT.QuestionLibrary 题库模块
- YGNT.QuestionLibrary.Application 题库模块应用层,webapi接口
- ->IQuestionBaseDataAppService.cs 基础数据管理
- ->IChapterAppService.cs 章节管理
- ->ICognitiveAbilityAppService.cs 认知能力
- ->IDisciplineAppService.cs 学科管理
- ->IEducationCategoryAppService.cs 教育类别管理
- ->IEnumDocAppService.cs 枚举文档,一些动态的数据格式在对应的接口可能无法生成文档,放在这里单独展示
- ->IKnowledgePointAppService.cs 知识点
- ->IPaperAppService.cs 试卷管理
- ->IPaperQuestionAppService.cs 试卷试题管理
- ->IPaperSettingAppService.cs 试卷设置
- ->IQuestionAppService.cs 试题管理
- ->IDisciplineQuestionTypeAppService.cs 学科细分题型
- ->IQuestionTypeAppService.cs 系统试题类型管理
- ->IPaperProduceTaskAppService.cs 试卷生成任务
- ->IQuestionResolveTaskAppService.cs 试题解析任务管理
- ->ITextbookAppService.cs 教材管理
- ------------------------------
- YGNT.QuestionLibrary.Core 题库模块领域层 大部分的业务流程是放在这里面的
- BaseData 基础数据
- PaperStructureSetting.cs->试卷结构设置
- ->Param 是用的PaperStructureSettingParam下的结构序列化为json
- IQuestionTypeManager.cs->题型(大)管理
- Chapters,KnowledgePoints为树结构 两者都有一张闭包表用于记录节点数据
- 在Event中有ChapterAutoTreePathFill.cs,KnowledgePointAutoTreePathFill.cs 用于自动创建,删除闭包路径,使用的abp 领域事件,关于领域事件具体查看abp文档
- Papers 试卷管理
- Event中有PaperDisciplineQtSortSettingHandler.cs 用于修改排序设置后更新试题排序
- Permissions 题库模块权限
- 在QuestionLibraryAuthorizationProvider中设置权限内容.
- displayName 接受的是一个本地化的字符串,本地化字符串需要在Localization->SourceFiles->QuestionLibrary-zh-Hans.json 中配置
- Tasks 任务
- Domain->Jobs 中为定义的各种后台任务
- ITaskManager.cs->任务管理(执行,进入任务队列)
- IRepositories 定义的包含数据过滤的仓储接口,在YGNT.QuestionLibrary.EntityFrameworkCore->EntityFrameworkCore->Repositories 进行实现
- 使用本文件夹下的接口代表使用数据过滤
- ------------------------------
- YGNT.QuestionLibrary.EntityFrameworkCore 题库模块数据层
- Repositories->对数据过滤的仓储接口的实现
- Seed->数据初始化
- ------------------------------
- YGNT.File 文件上传接口,很简单看代码就行了
|