pageSpy 远程调试工具

34 阅读2分钟

什么是 pageSpy

官方解释如下:

PageSpy 是一款兼容 Web / 小程序 / React Native / 鸿蒙 App 等多平台的开源远程调试工具。

它基于对原生 API 的封装,将调用原生方法时的参数进行过滤、转化,整理成标准格式传输给调试端;调试端收到数据后,通过类似本地控制台的界面直观呈现出来。

意味着当程序运行时,我们可以在调试端通过类似本地控制台的界面,直观查看程序运行情况。这对已上线项目,需要复现用户 bug 的场景,较为实用

下面我以小程序接入为例,介绍 pageSpy 的使用

小程序接入

参考官方小程序接入文档,我使用的是 uniapp,因此安装@huolala-tech/page-spy-uniapp@latest

除开发环境外,小程序强制要求使用 https 和 wss,经过之前服务器和域名配置,我们就可以申请免费的 ssl 证书,可以参考下篇 ssl 证书申请,这里假设我们已经配置 https

在小程序白名单设置完成后,需要在 uniapp 入口配置 pageSpy

服务端部署

pageSpy 服务端负责收集、展示日志信息,我这里选择Docker一键部署

docker run -d --restart=always -v ./log:/app/log -v ./data:/app/data -p 6752:6752 --name="pageSpy" ghcr.io/huolalatech/page-spy-web:latest

部署完成,可以配置子域名通过 nginx 重定向到该服务,具体操作可参考下篇文章,最后配置完成地址:pagespy.ankkaya.top

打开网站,选择开始调试/在线实时

启动小程序,在线实时页面就会显示当前运行设备

点击设备,显示当前设备运行状态,可查看控制台日志打印,网络请求,storage

离线日志

在线实时要求客户和检测页面同时在线,这让调试存在一定不便。离线日志允许客户手动上传运行日志,我们可以在后台日志回放查看已经上传的日志记录

小程序引入

添加安装包@huolala-tech/page-spy-plugin-mp-data-harbor,在 uniapp 入口注册插件

页面添加按钮,按钮点击后调用$pageSpy.showPanel()显示调试菜单

点击上传日志,提交操作记录

上传成功后,即可在服务端界面查看日志记录

DOM 操作记录

官方还提供了操作实时记录的插件page-spy-plugin-rrweb,不过只支持 web 端,有需要的可以尝试一下