游客发表
上周三凌晨两点,我蹲在机房角落改一个边缘节点的统官散热策略。手机突然弹出一条告警——官网的技术“技术员实时状态”面板挂了。点进去一看,员系37个在线技术员头像全灰了。统官那一刻我意识到,这破官网早就不只是几张静态页面,它成了我们调度、排障、甚至互相调侃的入口。
你可能以为“技术员系统官网”就是那种放几个表格、挂几篇文档的CMS。错了。我们把它拆成了三块:/field 是现场技术员用的移动端轻界面,/console 是调度台的全屏监控,/archive 是故障复盘的知识库。每个入口的权限模型都不一样,但共用一套状态机。
一个技术员从“空闲”到“奔赴现场”再到“挂起等配件”,中间有11个状态迁移。最早我们用枚举硬编码,结果每次加新状态都得改前端。现在状态定义全部从 /api/v1/technician/states 拉取,前端动态渲染。上周刚加了一个“远程协助中”的状态,只改了后端配置,前端自动适配。
有个细节挺有意思:每个状态都绑定了颜色和图标,调度台的大屏上,几十个技术员头像会随状态变色。蓝色是空闲,橙色是忙碌,红色是求助。上周五下午,大屏突然红了一大片——三个区的技术员同时点了“需要支援”。值班的老王说,那感觉像看急诊室的监护仪。
我们做过统计,移动端访问量最高的三个页面:扫码签到、备件库存查询、一键生成故障简报。尤其是故障简报,技术员在现场拍两张照片,选几个标签,系统自动拼成一段带时间戳和地理位置的文本,直接推到企业微信群里。以前他们得手打两百字,现在十秒搞定。
备件库存查询有个坑。最开始只显示“有货/无货”,结果技术员到了现场才发现型号不对。现在改成按设备型号模糊匹配,还加了“附近仓库”的推荐——用浏览器定位算直线距离,虽然粗糙,但比没有强。有个技术员在山区修基站,靠这个功能发现五公里外的乡镇仓库有兼容模块,省了来回两小时。
调度台的大屏不是给领导参观用的。左边是实时地图,每个技术员是一个带方向的小箭头——方向来自手机陀螺仪,虽然偶尔抽风,但比静止的点强。中间是任务队列,按紧急程度和技能匹配度排序。右边是聊天频道,按区域分房间,技术员可以发语音、传图片、甚至发起屏幕共享。
屏幕共享这个功能差点被砍掉。最初用WebRTC,但现场网络太差,十次有六次连不上。后来改成“截图+标注”的异步模式:技术员截屏,画个圈,写几个字,调度端秒收。延迟从平均8秒降到0.5秒。有时候最简单的方案反而最管用。
公开页面只有三个:首页、技术员名录、服务范围。但登录后,根据角色不同,能看到的东西天差地别。普通技术员看不到调度台的实时热力图,调度员看不到备件仓库的采购价格,管理员能看到所有操作日志。权限用RBAC加ABAC混合控制,每个API请求都要过一遍策略引擎。
有一次一个技术员误点了“模拟调度”按钮,系统以为他要接管整个区域的派单,差点把三十多个任务重新分配。幸好策略引擎里有一条“模拟操作需二次确认”的规则,弹窗救了他。后来我们把所有危险按钮都加上了“输入设备编号后四位”的确认步骤。
现在这个官网每天处理约1.2万次状态变更,300多次故障简报生成,还有数不清的定位心跳。代码仓库里最老的提交是四年前,一个已经离职的哥们写的。他在注释里留了一句话:“别让技术员在客户面前掏手机查文档。” 我们一直记着。
友情链接