乾隆青玉
业务场景:针对大学金融相关学子的在线教投平台,包含了学生端,教师端,管理端为一套的生态体系;帮助大学金融教师做自动化教学的平台;
学生端:由 三个子项目和一个主项目组成的多项目前端项目;
难点:
1、统一的 路由权限和菜单权限,控制到具体的每一步操作上,以及动态路由的配置上;
2、lowcode 形势的表单引擎用于学生投教动态生成对应的表单题型用于答题;
3、多人协作答题的一致性处理;
教师端:单体项目,用于老师配置实训以及课程相关的主要入口;
管理端:由 三个子项目和一个 主项目组成的多项目前端项目;
难点:
1、配置表单引擎模板中,对于 codemirror 实现自定义运算语法,以及对于跨表单数据联动以及计算的相关实现;
2、多个子项目之间对于 tagViews 以及相互通信的代码实现;
3、多个子项目中之间对于 路由之间的协调问题的处理,对于重定向以及权限的配合处理
人员投入:8
表单引擎:独立于 项目的相关插件的搭建,并发布到对应的私有 npm上,用于三端共同使用;
技术栈:vue 3以及全家桶,codemirror,qiankun ,以及相关富文本处理等三方组件;
设计模式:权限上树的深度优先遍历,基本的发布订阅模式用于项目间的通信等等;
多项目管理模式:使用 lerna 和 yarn 进行 多项目的管理;有实践经验
1、 在 vue 3刚出来发布稳定版本后,就介于尝鲜并运用到复杂的大型项目上;
2、 深入理解并了解 vue 3的响应式原理,并熟读 reactivity 包的实现,同时也通过此了解 lerna 相关多项目管理的方式(当然在此后,又多了 cnpm 这个新的管理以及优化的解决方案);
3、 充分理解 qiankun 作为微前端框架,在解决引入资源过程中踩坑过程时,对于 qiankun 实际运行机制的理解;
4、 目前项目已经正式上线,并在多个高等院校中经过实践的检验,得到一致好评,解决了老师从线下授课和打分转移到上线,实现了教课的线上化和自动化;