README.md 3.9 KB

145教材系统技术文档

一、技术语言和框架

数据库和数据表

  • 数据库:PostgreSQL
  • 数据表
    • _User【用户】
    • Profile 【用户角色】
    • Department 【单位部门】
    • EduTextbook 【教材】
    • EduTextbookVolume 【分册】
    • Activity 【评审活动】
    • Company 【公司】
    • EduProcess 【流程】
    • EduReview 【评审记录】
    • ExpertGroup 【评审组】

后端语言及框架

  • 编写语言:JavaScript
  • 技术框架:Node.jsParse Server

    前端语言及框架

  • 编写语言:TypeScript、HTML、SCSS

  • 技术框架:Angular18、Vite、NG-ZORRO

二、客户端前端

用户操作逻辑介绍

graph TB

Start(开始) --> User[用户登录页]
User --> Register[注册]
User --> Login[用户登录]
Register --> Regcomplete[注册成功]
Regcomplete --> User
Login --> Manage[登录成功进入后台]
Manage --> LogOut[退出登录]
LogOut --> End(结束)

身份权限

  • 登录成功时存储本地缓存profile;
  • 通过profile.identity身份判断角色验证
  • 全局采用路由守卫 auth.guard.ts

    页面路由

  • 入口路由文件:projects\textbook\src\app\app.routes.ts

  • 各个身份子路由

    • user/login //默认路由
    • nav-admin //国家级管理员管理平台
    • nav-province-contact //工作联系人:中央部门所属高校联系人、部省合建高校联系人、出版单位联系人、省属高校流程管理员
    • nav-province-school-contact //高校联系人
    • nav-review //教材评审组成员
    • nav-author //作者 / 教师 / 主编

      主组件

  • app-comp-manage【全局组件】:登录成功后跳转后页面显示;包括左侧menu,通过optionsMap身份对应显示身份功能栏

    • 附件下载功能函数:openFile、downloadFile
  • app-comp-nav 【个人信息组件】:页面左下角个人信息,包括退出登录功能

  • app-comp-upload 【文件上传组件】

    • provider-oss-aliyun 引入阿里OSS处理函数等,含公开转私有、私有转公开、临时链接等
    • 重点传入参数
    • @files:回显文件
    • @acl 上传类型,是否加密
    • 上传成功、失败、删除文件触发回调
    • 函数change,返回fileList
  • app-textbook 【教材列表组件】

    • 重点传入参数
    • @filterObj 相关权限配置
    • @uid 对应用户
    • @eduProcess 流程id,verify存在时需要
    • @discard 是否删除
    • @recommend 是否推荐
    • 重要函数解释
    • getTextbook:获取教材列表重要函数,利用Parse.Query.fromJSON多条件查询,通过设定参数传入接口查询获取教材,满足全平台90%以上页面教材列表管理
    • getDepartment:获取所有单位部门
    • reject: 退回教材
    • del:删除教材
    • updateStatus:加入/移除推荐
    • submit:提交教材
    • beforSubmit:高校联系人提交教材至工作联系人
    • restore:恢复教材
    • exportProcess:导出教材;功能业务:导出推荐汇总表
    • submitted:提交报送跳转,非直接请求报送教材接口

      各身份模块

      用户登录
  • parse-authing.ts 【登录服务类】 应用authing登录回调,返回获取登录结果

    • initLoginModal 初始化登录模块
  • app-login 登录页

    • new ParseAuthing实例化authing登录服务,通过login成功后回调调用AuthServr服务类,profileVerify处理登录成功后函数

      作者/教师/主编
  • 路由模块:NavAuthorRoutingModule

  • 个人空间:app-space

    • 调用组件:app-textbook
    • 主要函数:getEduProcess 获取教师所属单位的流程