接口使用情况查询工具
这周还算清闲,做了一个【接口使用情况】的查询工具,主要是应对后端和测试总时不时来问“这个接口前端用到了吗”“那个接口在哪里调用的啊”……忙到飞起的时候真的会顾不过来😒
页面很简单,列表页主要负责基础查询,可以了解指定接口是否有被前端调用,以及是在哪些系统里被调用的;详情弹窗则负责更进一步的查询,可以详细看到使用该接口的菜单,方便用户前往核查。
后端是用 node 搭建的,对接代码仓库的 API,实时读取前端各项目的源码文件,进而借助正则匹配和 AST 解析来提取接口信息,并查找使用接口的文件,根据文件路径匹配到菜单信息,返回给前端。
实现这个工具主要的难点在于源代码的精准解析,前置的工作很多,几个系统有关接口调用的部分我几乎都重构了一遍,就是为了保证代码格式尽可能的统一;还有的系统因为各种历史原因,存在大量的未使用但也未移除的代码,导致我不得不又写了几个脚本文件,检测未被引用的接口、类型和常量,删除干净以后整个人都神清气爽了。即便如此,解析源代码也需要额外兼容很多的情况,比如微信小程序和 web 项目工程结构的差异、动态路由的拼接、不同后端服务的分辨,以及花了好大力气才排查出来并发读取源文件时可能有丢包的情况(我一直当是自己解析文件的代码哪里写错了😓😓)
总之,这个工具已经运转起来了,满足了同事们简单场景下的查询需求,稍微复杂点的场景肯定还是远远不够用的啦!静待同事的随时召唤🙇
评论
发表评论