云盘点击热点图

📅
1 分钟阅读

云盘实现了点击热点上报系统,供 UED 根据页面点击分布调整设计。结果如下: image.png

实现

采集上报

云盘使用 React,常规业务事件由 React 合成事件代理。热点 SDK 在 document 上监听点击事件,读取坐标后按设计稿尺寸 1200 * 800 归一化并上报。伪代码如下:

// 监听页面的点击事件
document.addEventListener('click', function(e) {
    // 获取点击的原始坐标
    var x = e.pageX;
    var y = e.pageY;

    // 获取页面的实际尺寸
    var pageWidth = document.documentElement.scrollWidth;
    var pageHeight = document.documentElement.scrollHeight;

    // 将坐标值缩放到 1200 * 800 的设计稿坐标
    var scaledX = Math.round(x / pageWidth * 1200);
    var scaledY = Math.round(y / pageHeight * 800);

    // 打包成对象
    var reportData = {
        x: scaledX,
        y: scaledY,
    };

    // 将数据上报到服务器(这里假设你有一个名为 report 的函数来完成数据上报)
    report(reportData);
});

数据清洗

上报数据写入 Kafka,由 Java 任务消费,并按分钟写入 MySQL。写入时按版本、AB 等维度分组。

数据展示

后台上传不同版本的设计稿(1200 * 800),再根据版本从数据库查询对应时间段的点位数据,并通过 ECharts 热力图展示。

当前限制

  1. 滚动

云盘当前没有整页滚动,因此未实现滚动场景下的点击坐标校准。


41 字 · 11 段落
ximing

Follow onGitHub

相关文章