组卷系统交接文档.txt 3.8 KB

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