泳道图
sequenceDiagram
participant 考生
participant 报名客户端
participant 机构审核员
participant 审核客户端
participant 考试机构管理员
participant 机构管理客户端
participant 服务器端
participant 数据库
participant 支付系统
participant 短信/邮件服务
%% 创建考试科目
考试机构管理员->>机构管理客户端: 创建招考项目,填写招考信息
机构管理客户端->>服务器端: 新增招考项目
服务器端->>数据库: 新增招考条目
数据库-->>服务器端: 返回新增条目
服务器端-->>机构管理客户端: 返回新增招考项目信息
机构管理客户端-->>机构管理客户端: 更新招考项目目录
%% 调整考位
考试机构管理员->>机构管理客户端: 修改招考信息,如:考位数量等
机构管理客户端->>服务器端: 提交调整请求
服务器端->>数据库: 更新招考数据
数据库-->>服务器端: 返回修改结果
服务器端-->>机构管理客户端: 同步更新结果
机构管理客户端-->>机构管理客户端: 显示更新结果
%% 考生报名流程
考生->>报名客户端: 选择考试项目(如XX入职考试)
报名客户端->>服务器端: GET /api/exams?type=PMP
服务器端->>数据库: 同步考试目录
数据库-->>服务器端: 返回考试时间/费用/名额
服务器端-->>报名客户端: 渲染可报名列表
报名客户端-->>报名客户端: 显示考试详情页
考生->>报名客户端: 填写报名表(含证件上传)
报名客户端->>服务器端: POST /api/applications (表单+文件哈希)
服务器端->>数据库: 记录考生报名信息(如学历要求)
数据库-->>服务器端: 返回报名状态
服务器端-->>报名客户端: 返回待支付状态
考生->>报名客户端: 确认支付
报名客户端->>支付系统: 发起支付请求(订单号+金额)
支付系统-->>服务器端: 支付结果回调
服务器端->>数据库: 记录考生支付状态
服务器端->>短信/邮件服务: 发送支付成功通知
服务器端->>审核客户端: WebSocket实时推送新报名
%% 机构审核流程
机构审核员->>审核客户端: 查看待审列表
审核客户端->>服务器端: GET /api/pending-applications
服务器端-->>审核客户端: 返回考生信息+支付凭证
机构审核员->>审核客户端: 人工复核证件
审核客户端->>服务器端: PUT /api/audit (审核结果+备注)
服务器端->>数据库: 同步最终报名数据
数据库-->>服务器端: 返回考号分配结果
服务器端->>短信/邮件服务: 发送准考证(含考号/考场)
服务器端->>报名客户端: 更新报名状态为「已通过」
%% 异常处理流程
考生->>报名客户端: 申请退款
报名客户端->>服务器端: POST /api/refund-request
服务器端->>审核客户端: 高亮显示退款申请
机构审核员->>审核客户端: 处理退款
审核客户端->>支付系统: 触发退款原路返回
支付系统-->>服务器端: 退款状态更新
服务器端->>报名客户端: 通知退款结果
招考报名流程

————————————————————————————————————————————————————————————————————————————————————————————————————
培训流程

sequenceDiagram
participant 学员
participant 学员客户端
participant 教学管理员
participant 教学管理员客户端
participant 服务器端
participant 数据库
participant 监考服务
participant 评分服务
%% 课程学习模块
学员->>学员客户端: 进入课程目录页
学员客户端->>服务器端: GET /api/courses?category=课程
服务器端->>数据库: 查询可用课程
数据库-->>服务器端: 返回课程列表
服务器端-->>学员客户端: 返回JSON数据(含学习进度)
学员客户端-->>学员客户端: 渲染课程卡片+进度条
学员->>学员客户端: 点击开始学习
学员客户端->>服务器端: POST /api/study-log (记录学习行为)
服务器端->>数据库: 更新学习进度
数据库-->>服务器端: 确认更新
%% 考试模块
教学管理员->>教学管理员客户端: 创建试卷(选择题+主观题)
教学管理员客户端->>服务器端: POST /api/exams (题目+答案+分值)
服务器端->>数据库: 存储试卷元数据
服务器端->>数据库: 存储题目内容(NoSQL)
服务器端-->>教学管理员客户端: 返回exam_id
学员->>学员客户端: 请求参加考试
学员客户端->>服务器端: GET /api/exams/123/start
服务器端->>监考服务: 启动人脸验证
监考服务-->>服务器端: 验证结果
服务器端->>数据库: 生成考试会话
数据库-->>服务器端: 获取试题
服务器端-->>学员客户端: 返回加密试题数据
学员客户端-->>学员客户端: 加载考试界面(倒计时)
%% 答题过程
学员->>学员客户端: 提交选择题答案
学员客户端->>服务器端: PATCH /api/answers (实时保存)
服务器端->>数据库: 增量存储答案
%% 自动阅卷
学员->>学员客户端: 点击交卷
学员客户端->>服务器端: POST /api/exams/123/submit
服务器端->>数据库: 锁定最终答案
服务器端->>评分服务: 启动自动批改
评分服务->>数据库: 获取标准答案
数据库-->>评分服务: 对比答卷答案
评分服务-->>服务器端: 返回得分
服务器端->>教学管理员客户端: WebSocket通知新答卷
服务器端-->>学员客户端: 返回成绩(客观题)
%% 人工复核
教学管理员->>教学管理员客户端: 查看主观题答卷
教学管理员客户端->>服务器端: GET /api/grading/12345
服务器端->>评分服务: 启动AI辅助批改
评分服务-->>服务器端: 返回AI批改参考结果
服务器端-->>教学管理员客户端: 返回主观题答案+参考批改结果
教学管理员->>教学管理员客户端: 调整分数+评语
教学管理员客户端->>服务器端: PUT /api/grading (最终成绩)
服务器端->>数据库: 更新成绩状态
服务器端-->>学员客户端: 通知考试成绩+生成证书
——————————————————————————————————————————————————————————————————————————————————————————————————————
招聘求职系统

sequenceDiagram
participant 求职者
participant 求职者客户端
participant 企业HR
participant 企业HR客户端
participant 服务器端
participant 数据库
%% 用户注册流程
求职者->>求职者客户端: 填写注册信息(邮箱/手机号、密码)
求职者客户端->>服务器端: POST /api/register (JSON数据)
服务器端->>数据库: 校验并存储用户信息
数据库-->>服务器端: 操作结果
服务器端-->>求职者客户端: 返回成功/失败响应
求职者客户端-->>求职者: 显示注册结果
%% 职位搜索流程
企业HR->>企业HR客户端: 发布职位(标题/描述/薪资)
企业HR客户端->>服务器端: POST /api/jobs (认证Token+表单数据)
服务器端->>数据库: 存储职位信息
数据库-->>服务器端: 新职位ID
服务器端-->>企业HR客户端: 返回发布成功状态
企业HR客户端-->>企业HR: 显示发布成功通知
求职者->>求职者客户端: 输入搜索条件(地点/薪资)
求职者客户端->>服务器端: GET /api/jobs?location=XX&salary=XX
服务器端->>数据库: 查询匹配职位
数据库-->>服务器端: 返回职位列表
服务器端-->>求职者客户端: 返回JSON格式结果
求职者客户端-->>求职者: 渲染职位卡片列表
%% 简历投递流程
求职者->>求职者客户端: 点击"立即申请"
求职者客户端->>服务器端: POST /api/applications (用户ID+职位ID)
服务器端->>数据库: 创建申请记录
数据库-->>服务器端: 操作状态
服务器端->>企业HR客户端: WebSocket推送新申请通知
服务器端-->>求职者客户端: 返回申请成功响应
求职者客户端-->>求职者: 显示申请成功提示
%% 面试安排流程
企业HR->>企业HR客户端: 选择申请记录→安排面试
企业HR客户端->>服务器端: PUT /api/interviews (时间/会议链接)
服务器端->>数据库: 更新面试安排
数据库-->>服务器端: 更新结果
服务器端->>求职者客户端: 邮件+站内信通知
服务器端-->>企业HR客户端: 操作确认
浙公网安备 33010602011771号