Skip to content

国网实训平台(2023.05 – 2023.09)

项目简介

面向电力作业培训的数字孪生实训系统,由配置端、练习端和考试端组成。通过三维场景、虚拟设备、作业流程和交互工具模拟真实电力作业,支持课程配置、流程练习和实操考试。

本人主要负责运行时:将配置端生成的场景、流程步骤和蓝图加载到三维场景,并按业务模式驱动实训、练习和考试。

技术栈

Vue 3 / TypeScript / ThingJS / Pinia / Vite / Ant Design Vue / UnoCSS / ECharts / Howler / Colyseus / Blueprint / GLTF

个人职责

负责运行时整体开发;配置端流程、场景和运行时蓝图的解析与加载;三维场景初始化、切换、销毁和资源清理;步骤执行器(挂载、执行、完成、销毁);学习 / 练习 / 考试三种模式;考试校验、提交、扣分、成绩和过程记录;设备、工具、人员、机器人及作业对象交互;工具箱、两票、语音、点位、引导机器人;蓝图节点注册与执行;步骤进度、场景、弹窗和三维状态同步;实训记录本地保存和服务端同步。

技术亮点

  • 配置驱动运行时:用 processId 取流程、场景和蓝图,同一套运行时支持不同课程、作业和考试。
  • 场景动态切换:先销毁步骤实例、停记录、关 UI、清点位和事件,再销毁场景并加载新场景、新步骤和蓝图。
  • 步骤执行器:按步骤名映射步骤类;生命周期 mounted / beforeComplete / uiComplete / submit / destroyed
  • 三种模式:学习可回退和引导;练习校验并提示;考试按序、记错扣分。步骤基类提供 isStudyMode / isPracticeMode / isExamMode
  • 蓝图运行时:蓝图驱动模型、弹窗、状态、语音、点位、工器具、人员检查、故障点、跳转和条件;与步骤代码解耦。
  • 考试记录与步骤校验:结构化记录日志、扣分和成绩;每步独立 submit 判工器具、顺序、防护、围栏警示、两票和设备状态。
  • 生命周期与有效时长:步骤或场景销毁时统一清事件和状态;按活跃 / 空闲统计有效操作时长。

项目成果

  • 配置端流程在运行时动态加载执行
  • 学习、练习、考试三种模式差异化交互
  • 三维场景、作业步骤、蓝图和业务组件联动
  • 支持设备操作、工器具、人员检查和票据填写
  • 考试步骤校验、错误扣分、成绩计算和操作记录
  • 实训记录本地保存并同步服务端
  • 场景、步骤、工具、事件统一生命周期
  • 配置驱动和模块化运行时,支持不同课程和作业流程复用

可能会问的问题

换一门课为什么不用改运行时代码?

processId 取配置端的流程、场景和运行时蓝图:解析步骤树、加载工具 / 作业场景、注册蓝图节点再执行。同一套运行时跑不同课程、作业和考试。

切步骤后旧场景的点位、弹窗、监听还在吗?

先销毁步骤实例、停记录、关 UI、清点位和模型样式、人员状态和工具事件,再销毁三维场景,最后加载新场景、新步骤和蓝图。

学习、练习、考试三种模式差在哪?

学习可回退、自由查看和引导;练习校验关键操作并提示;考试限制跳转、按序完成、记错扣分。步骤基类提供 isStudyMode / isPracticeMode / isExamMode

考试分数是页面里写死一套规则吗?

每步独立 submit:工器具是否领全、顺序、防护、围栏警示、两票、设备状态。记录管理器记日志、扣分和成绩,完成后本地保存并同步服务端。

配置端蓝图能驱动哪些事?

模型操作、弹窗、设备状态、语音、点位拾取、工器具、人员检查、故障点、步骤跳转、条件判断和事件。通用流程走蓝图,具体三维业务仍在步骤代码里。

有效操作时长怎么算,会把挂机算进去吗?

听用户活跃 / 空闲:持续操作开始计时,空闲暂停,有效时长写入课程实训记录。