北京国际机场T3行李运维平台开发记录

说明

该项目是一个后台管理型网站项目,供北京国际机场T3航站楼行李调度运维部门使用,开发时间一个半月,我负责所有的前端开发、后端开发、API接口文档设计与编写、服务部署和交付。

整个网站具备的功能有:

  • 员工管理
  • 员工审批权限管理
  • 部门管理
  • 部门浏览权限管理
  • 五种《申请单》在线申请
  • 《申请单》多流程及复杂流程审批
  • 设备管理,可详细配置检查时间、频率
  • 根据后端发来的设备数据,自动生成六种《设备巡视检查单》,员工可根据巡视结果修改数据
  • 交接班记录、行李查询记录、异常行李记录等记录表格
  • 排班表,可详细配置每天的值班班组
  • 平台公告与文件分享
  • 值班员工列表与设备状态可视化

项目技术栈使用nodejs + webpack + react + ice + koa2。

项目截图

首页

排班表

行李查询单、破损行李记录单等

《设备巡视检查单》列表

《每日设备巡视检查单》

《每周设备巡视检查单》

申请书列表

审批申请书列表

批复流程中申请单页面(不同权限用户所见内容不同)

设备管理页面(设备详情)

部门管理页面(浏览权限设置)

个人管理页面(审批权限设置)

项目要点记录

这个项目做的时候,能够记忆尤新的难点有

  • 六种《设备巡视检查单》的表格的行和列,都是根据用户后台配置的设备数据自动生成的,有些检查单还需要二级列头,当时花了很多时间去Debug。Bug排除完成后,《设备巡视检查单》可以跟随设备数据的改变而改变,这个功能客户还是很满意的。
  • 五种《申请单》的审批流程都不同,有些申请单比如《变更申请单》还需要二次回顾申请。最初做的“申请单页面详情React组件”是通用的,后期发现有很多场景需要特殊处理,情况复杂,就向通用模块里加了很多特殊情况判断与处理代码。组件完成后,无论是用户见到的“申请单详情页面”,还是审批员见到的“申请单详情页面”,用的都是同一个React组件,只不过传入的json配置数据不同,这一点我作为开发者是很满意的,因为这让我后期维护非常方便。

自我感觉做的比较好的地方有:

  • 将六种《设备巡视检查单》的表单结构json化,传入json数据不同,页面显示内容不同,React组件不需要改变
  • 将《五种申请单》的表单结构和审批流程json化,传入json数据不同,页面显示内容不同,不需要更改React组件代码
  • 将《交接班记录》、《行李查询记录》、《异常行李记录》、《破损记录》四种记录表的结构json化,四种记录表共用一套React组件
  • 后端的申请单的审批流程设计还是比较靠谱的,能够适应特殊情况,没有出现很多Bug

可以改进之处有:

  • 很多页面的结构是相同的,可以使用同一套布局,但是我一开始就太懒,不愿意动脑子,选择了直接将layout组件复制给每一个页面。后期客户要求更换页面UI的时候,发现最初设计的DOM结构需要改变,就每个页面都改了一遍,事倍功半。所以,项目刚开始的时候该提取layout的就提取layout,该做通用组件就做通用组件,开发时偷的懒,到项目后期全都要还回来!
  • 整套网站加载js和css是一次性的,而js文件和css文件很大,能达到5MB的大小,这样的网站架构适合内网小网站,对于互联网网站和大型网站来说,显然是不适用的!

原文地址:https://www.cnblogs.com/bbman/p/12079197.html

时间: 2024-10-07 01:59:26

北京国际机场T3行李运维平台开发记录的相关文章

python运维平台开发第一步:登录接口程序V2.0

一.功能要求 登录接口小程序(需实现的功能如下) 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 二.逻辑思路分析: 定义一个文件用于存储用户名和密码:passwd.db 定义一个文件用于记录输入3次错误后的用户名,以判断文件里的用户名来决定用户是否为锁定状态 lock_user.db 定一个变量为3,用于输错密码最多次数 count = 3 定一个变量为0,用于输错一次自动增加1 inter=0 定义一个变量login_status作为标志位,默认值为login_stat

用友iuap云运维平台支持基于K8s的微服务架构

什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设.微服务架构的本质,是用一些功能比较明确.业务比较精练的服务去解决更大.更实际的问题.该架构强调的一些准则:单一职责.协议轻量.进程隔离.数据分离.独立部署.按需伸缩. 什么是Kubernetes? Kubernetes是Google开源的容器集群管理系统,其提供应用部署.维护. 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能:

使用google authenticator打造运维平台的动态口令

前沿: 在腾讯,百度,阿里,360运维人员登录堡垒机,或者是单点登录引导的各种运维平台,好多都需要用动态口令令牌的,用rsa的多点,这栋系价格不便宜,国内也有些便宜的,一些游戏公司的将军令就是从国内x厂商定制买的,有兴趣的可以搜搜,价格还算可以,给你提供服务端的一些源码,让你方便的使用. 当然了,并不是每个公司都会这玩意感兴趣的,咋办?  不知道大家有没有用过 支付宝.dnspod.yy的电子口令,每30s换一次密码.dnspod.yy手机令牌貌似用的是google的token方案. 下图就是各

自动化运维平台之系统自动化安装Cobbler系统使用详解

一.简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP.DNS.以及yum仓库.构造系统ISO镜像. Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用. Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷. 二.cobbler提供的功能 使用

授之以渔-运维平台发布模块二(Jenkins篇)

接上篇<授之以渔-运维平台发布模块一(Jenkins篇)>,今天介绍下结合着Saltstack的MasterEven,用来做发布系统的结果监控. 一.Event介绍 SaltStack 0.10版本中, 新增了Event系统, 官方在 Release Notes 对其描述如下: The Salt Master now comes equipped with a new event system. This event system has replaced some of the back e

《开源安全运维平台--OSSIM最佳实践》当当自营店 双十二期间 仅售 4.9 折!

<开源安全运维平台--OSSIM最佳实践>当当自营店双十二仅售 4.9 折! http://product.dangdang.com/23903741.html

国内信息安全畅销书《开源安全运维平台--OSSIM最佳实践》年终 五折 优惠活动开始啦!

国内信息安全畅销书<开源安全运维平台--OSSIM最佳实践>年终五折优惠活动开始啦! 地址: http://product.dangdang.com/23903741.html

[转载] 运维平台规划体系全介绍

原文: http://www.infoq.com/cn/articles/operation-platform-planning-introduction 很多观点我都比较赞同, 特别是工作流引擎+运维可视化的观点 识别运维平台的边界在哪儿,才能更好地构建平台,从而协助运维的日常工作. 在之前的文章中,谈到过“运维的本质——可视化”,在可视化的篇幅中,着重介绍自动化的可视化和数据的可视化:在后续的篇章中又介绍了“互联网运维的价值体系”,里面分解了几个维度:质量.成本.效率.安全等.以上都是为了清

运维平台相关开发

最近在做一些运维平台的东东 原文链接:http://www.cnblogs.com/caoguo/p/6003150.html 1.支持查看ucloud主机统计及主机分布情况2.支持ucloud主机及数据库资产信息3.支持针对单台主机执行命令4.支持针对单台主机部署服务5.支持对主机业务分组,并关联联系人6.支持代码发布7.支持权限管理 现在上一些图,图片如果看不清,可以右键打开大图查询 a).ucloud平台查询 b).Saltstack 相关部署接口的开发 c).发布系统rsync+ssh