考试系统 Vue3 升级:PC 与移动端全栈换代(v9.0)
本次版本要解决的问题:前端技术栈落后,二次开发和维护都在付利息
私有化部署项目有一个绕不开的特点:交付之后还要长期改。客户会提定制需求、会要求换主题、会在几年后升级环境。如果前端还停在 Vue2 生态,就会持续遇到三类问题——新招的前端不熟老写法、第三方库逐步停止维护、定制开发时要反复解释老代码的组织方式。
v9.0 是一次底层架构迭代,把 PC 学员端、管理后台、Uni-App 移动端三端一起搬到 Vue3 生态,同时补齐了批量运维与组织同步能力。
PC 学员端与管理端:Vue3 全栈换代
不是简单升级一个依赖版本,而是把编译、状态管理、代码书写模式整体重构:
- 框架升级:Vue2.0 升级为 Vue3.0;UI 框架由 Element-UI 升级为 ElementPlus;
- 编译构建:构建工具从 Webpack 更换为 Vite,提升项目编译启动速度;
- 状态管理:Vuex 替换为 Pinia,优化全局状态管理逻辑;
- 代码规范:引入 ESLint + Prettier,统一代码格式化标准;
- 样式增强:新增 UNO-CSS 样式组件,简化页面样式开发;
- 语法重构:全部代码由选项式 API 重写为组合式 API;
- 大规模代码重构:统一业务组件、优化路由配置、梳理样式资源、封装公共 hooks、重写 store 模块,全项目代码风格统一;
- 业务功能新增:支持自定义主题颜色选择;管理后台新增临时锁屏功能,离开工位保护后台操作安全。
移动端 Uni-App:同步升级 + 小程序分包
- Vue 版本由 2.0 升级为 3.0,状态管理 Vuex 更换为 Pinia,编译工具 Webpack 更换为 Vite;
- 代码语法重构:选项式 API 改为组合式 API;整体代码重写,统一移动端编码风格;
- 优化视频播放组件,改善学员视频课程播放体验;
- 富文本组件替换:由 u-parse 更换为 mp-html,提升富文本内容兼容性;
- 实现微信小程序分包功能,规避二次开发后包体积超出微信上传限制的问题。
"小程序分包"这条对做定制的项目方很关键。微信小程序主包有体积上限,二开加上新功能后很容易触顶、导致代码包超限无法上传。分包之后,这部分限制被显著放宽,私有化二开的小程序端不再动不动就卡在上传环节。
批量运维与组织同步
- 批量操作能力:支持批量添加部门、批量添加知识点、批量添加分类;
- 优化分类字典分类值生成策略,更好适配上下级层级数据查询;
- 新增企业微信、钉钉部门同步,通过定时任务自动拉取双方部门架构;
- 企业微信、钉钉账号登录系统时,自动挂载已同步的部门信息;
- 支持批量设置考试分类、课程分类,简化大量课程、考试归类管理工作。
组织架构同步解决的是初始化配置的痛点:几百人的单位,如果靠手工逐个建部门、逐个归位,是一整天的工作量,而且人员变动后还要持续手工维护。定时同步之后,组织架构由上游办公平台统一维护,系统侧自动跟随。
兼容性修复与细节优化
- 修复 JDK17 特定环境下学员试卷导出异常问题;
- 优化 AI 异步出题功能,试题创建人、所属部门自动挂载至当前操作人;
- 多项其他细节功能优化,提升私有化部署环境兼容性。
对私有化项目与二次开发意味着什么
- 编译启动更快:Vite 相比 Webpack 在开发与构建环节的启动速度有量级差异,二开时的等待时间明显缩短;
- 代码更好接手:统一的目录结构、组合式 API、公共 hooks 封装,让新加入的开发不需要先反向理解一套历史写法;
- 生态不再掉队:Vue2 生态的第三方组件逐步停止维护,迁移到 Vue3 后可选组件与长期支持都更稳;
- 定制上限更高:组合式 API 与公共 hooks 的组合方式,让"按客户需求改一处逻辑"不必牵动整页代码。
常见问题
升级后老的定制代码还能用吗?本次是完整重构而非兼容层过渡,此前的定制改动需要在 Vue3 版本上重新适配。已在运行且定制量大的项目,建议评估后再决定升级节奏。
部门定时同步的频率可以设置吗?同步通过定时任务执行,具体周期可在部署时按单位组织变动频率配置。
临时锁屏和系统锁屏有什么区别?临时锁屏是管理后台内的一个操作保护:离开工位时锁定后台界面,回来输入密码继续,不需要退出登录,避免重新登录打断正在进行的配置。


本版本相关:
飞书组织同步、CDN 文件鉴权与课程复制(v9.1)
培训计划模块上线与简答题手机拍照上传(v8.6)
查看《云帆培训考试系统 2026 年更新日志|v8.8–v9.2 版本明细存档》,核对本年度全部版本