﻿---
url: 'https://docs.soybeanjs.cn/zh/recommend/page-spy.md'
---
# PageSpy

## 相关链接

* [GitHub](https://github.com/HuolalaTech/page-spy-web)
* [官方文档](https://pagespy.org)
* [Bilibili 视频](https://space.bilibili.com/3493272492181886/)

## 介绍

### 背景

控制台在日常开发中是必不可少的效率工具，项目问题总是第一时间通过它排查。但有些时候无法使用控制，因此而导致排查问题需要花费很多时间和人力，这就是 PageSpy 想去解决的问题。

看看下面的场景你是否遇到过：

* **真机调试 H5**：以往有些产品提供了可以在 H5 上查看信息的面板，但真机屏幕太小操作不便、显示不友好，以及数据会被截断；

* **远程办公、异地协同**：传统沟通方式如邮件、电话、视频会议等，沟通问题的周期长、效率不高、故障信息不全面，容易误解误判；

* **用户设备白屏**：除了需要提前获知出现问题的用户信息，定位问题的方式包括查看数据监控、日志分析，甚至还要跑到客户现场等，这些方式依赖排障人员要理解业务场景、技术实现；

* **全局的 "问题反馈" 组件**：大多注重用户体验的网站，为了在产品出现故障后能收到反馈并及时解决，会在产品端为用户提供反馈问题的表单组件。从用户的角度这确实会提升好感，但用户提交的内容可能对于排查问题的帮助并不大，根本原因是：用户提交的基本上是文字概述和截图，或许还包含用户信息，但开发者更希望看到的是：

  * 用户的操作轨迹；
  * 伴随着操作，程序的运行时行为数据。例如：打印的日志、发出的网络请求以及响应数据等内容；

  正如本地开发我们就是这样使用控制台的，不是吗？

### 能力

PageSpy 按使用场景分为 **在线实时调试** 和 **离线日志回放** 两种模式，提供了 Console、Network、Page、Storage 以及 System 信息面板，还可以发送代码到项目端上执行；能够让开发者们提升排障的效率，同时也能减少沟通的时间。

目前 PageSpy 在 Web / 小程序 / ReactNative / OpenHarmony 平台上都已经有稳定的 SDK。
