2019年度个人工作总结
2019年已近尾声,现将本人这一年工作与学习情况总结如下。
# 年初
年初的工作重心在智慧展示项目的功能开发,以及无人机项目及比价系统调研。
# 智慧展示
智慧展示项目的主要功能是通过拖拽形式快速搭建前端页面,绑定数据并展示给用户,此项目开发贯穿整个2019年,目前已进入收尾阶段。
以下是本项目今年的主要工作完成情况:重新设计并开发了基于栅格系统的网页设计器,包括模版导入/导出、复制/粘贴、撤销/清空、预览等交互功能;开发了多个可拖拽组件(CesiumGis整合,3D图表,Avue数据展示);设计实现了页面级自定义脚本事件功能,完善了脚本和样式代码编辑器;优化了绑定数据功能。
开发智慧展示项目至今,对这种设计思路已经有了一些理解:目前的智慧展示系统还未形成实际使用的场景模式,若以快速搭建项目为需求设计,可优化为一套提供给开发者用户与需求方用户使用的网站搭建与使用平台。 此方案最终的产出包括两个前端项目:一是为开发者提供的快速搭建网站项目,二是为使用者提供的通用模版项目。二者之间以数据传递,开发者所见即为用户所得。开发者搭建的网站以数据的方式传递给使用者,使用者通过通用模版导入开发者提供的数据即可得到搭建好的网站。这种方式会大大提高开发效率,降低成本,适合于轻量级的后台管理系统开发。
经过一年半的开发,从半成品做到如今功能完善的版本,期间做了不少的学习和研究。个人认为后续如果继续顺这个产品的方向发展下去还需要走很长的路,很多不够完善的逻辑和交互还需要优化,距离真正呈现给用户还需要一些时间。
# 无人机项目&比价系统
无人机项目是使用 SpringBoot + ThymeLeaf 开发的项目,主要功能包括用户管理、系统构建、效能管理、费用管理、效费管理等模块,用于对无人机的系统组成、零部件效能、费用进行全方位评估。另外还对比价系统进行了预研,主要针对无人机的零部件进行查询与比价,可管理系统组成、零部件、供应商信息等。
这两个项目由于时间紧任务较重,开发过程中只是对 ThymeLeaf 有了初步了解,对 SpringBoot 也只是稍作了解,未能获得更多的技术知识。
# 年中
年中主要工作包括Vue通用模版项目的整合,Vue前端设计器的重构以及智慧太湖门户大屏展示中Gis相关需求的调研与开发。
# Vue-Cli 通用模版
根据以往的项目总结出的基于Vue-Cli的项目原型模版。此项目由vue-element-admin修改而来,可作为一般vue后台管理项目的原型直接使用。整合项目的同时,对前端工程化、代码风格做了一些了解,确定了之后项目要使用的编码规范。
项目地址:GitHub
# vue-designer 设计器
基于智慧展示项目的设计思路,设计实现了一套新的前端页面设计器。此项目包含了响应式栅格系统,可实时调整查看效果的响应式设计器框体,以及全新的页面渲染逻辑和数据存储结构,可以实现通过拖拽快速搭建响应式页面的功能。
在线地址:vue-designer
# 智慧太湖门户
为水利部太湖局开发的大屏展示门户网站。 项目主要包括门户首页、水工程监管、水生态保护、水灾害防御、水资源管理五大模块,每个模块分别包括不同类型的数据展示,以及与地图的联动控制。由于客户方数据保密需求以及工期较紧,于7月底到8月中旬随同事一行5人前往上海出差进行现场开发调试。
经过前期的多方调研学习,以及半个月的开发实践,对 ArcGis 有了一定了解,能熟练创建地图实例,控制各类图层,绘制标记、区块、等值面等。对使用 ArcGis 展示地理信息也进行了相应学习(地理数据可视化也是数据可视化中一个重要分支),有了一定知识积累。
# 年末
年末的重点在于 ArcGis 的深入研发,CAS认证调研,以及服务集市前端的设计开发。
# ArcGis 飞航监视器
对通航飞行器监视器做的一次预研。项目主要围绕地图展示数据,将包括飞行器、警告信息、机场、航线、航路点等信息在地图上直观展示出来,可查看指定飞行器状态,以及飞行器三维监控模拟。
此项目难点在于飞行器三维飞行监控模拟的实现(由于处在预研阶段,只能自行模拟飞行数据,造成了一些不便)。目前的设计是利用定时器定时修改飞行器位置,以实现飞行器位置、高程、航向等信息的实时监控。
项目地址:GitHub
# 基于 CAS 的前后端分离单点登录调研
由于业务需要,需要进行基于前后端分离的SSO单点登录调研。经过与同事讨论确定,选择了 CAS 作为单点登录的认证协议,并由此开发了前端 Demo 和后端 CAS 客户端 Demo。
项目难点在于对 CAS 认证的理解和改造。传统的 CAS 是基于会话的认证,而前后端分离后增加了一层浏览器与前端的交互,无法直接创建会话,同时前端的Ajax请求也无法处理后台重定向操作,造成原有 CAS 框架无法直接使用。 由此重新设计了认证逻辑:CAS Client 进行改造,将返回重定向改为返回 Json 数据,前端拦截并处理进行页面重定向,登录成功后通过 CAS Client 返回指定的前端页面,同时写入会话,至此即可实现单点登录认证。
经过这个项目,了解了 CAS 认证流程,对单点登录的相关知识也有了一定了解,开发过程中填坑若干,后续会单独整理一篇记录。
# API Manager Store 服务集市
设计并开发基于 wso2 API Manager Store 的服务集市前端,利用现有的restful接口实现了应用管理和服务订阅功能。应用管理模块可创建、编辑、删除应用基本信息,管理应用订阅情况;服务管理模块可查看服务信息、新增订阅、通过控制台模拟发送请求、查阅服务文档、下载SDK等。
通过这个项目掌握了一些服务集成管理系统的设计思路,了解了服务管理的常用功能和操作方法,实践了基于 OAuth2 认证的开发模式,并且结合之前的单点登录认证设计了一套综合服务管理系统的认证方案。
# 总结
忙碌的一年。
经过了众多不同类型的项目实践,不但对Vue有了更深入的理解,也对如ArcGis类库、SpringBoot架构、Nginx配置、CAS、OAuth认证等不同领域的技术有了一定知识储备,作为积累的一年,今年是成功的。
同时,由于项目众多而有些杂乱,今年并没有对某一领域进行深入研究的机会。希望在今后的工作中可以确定一个方向进行深入的研发工作,毕竟在这个前端百花齐放的时代,不但需要知识的广度,更需要深度。
Initializing...