H5阅读文章时长

214 阅读1分钟

方案一:简单方案

sequenceDiagram
H5->>后端: 进入文章,发送数据
后端-->>后端: 处理数据保存,及业务逻辑
H5->>后端: 离开文章,发送数据
后端-->>后端: 处理数据保存,及业务逻辑

流程设计

H5

  1. 点开文章
  2. 发送数据到后台

后台

  1. 接收数据
  2. 处理业务逻辑,保存数据

遇到问题

微信内不能监测文章退出事件func??????

找了好多事件func尝试,发现不生效。(可能方案没找全.....用时太久,切方案)

方案二: 模仿心跳机制

sequenceDiagram
H5->>后端: 进入文章,发送数据
后端-->>后端: 处理数据保存,及业务逻辑
H5->>后端: 定时心跳
后端-->>后端: 更新数据心跳时间

定时任务-->>定时任务: 巡查N时间前的心跳数据
定时任务-->>定时任务: 更新数据状态
定时任务-->>定时任务: 处理业务逻辑

流程设计

H5

  1. 点开文章
  2. 发送数据到后台
  3. -- 定时请求后端

后台

  1. 接收数据
  2. 处理业务逻辑,保存数据
  3. -- 接收定时请求,处理心跳逻辑

遇到问题

有误差,x秒左右(允许......)

  1. 用户查看文章(离开),未到心跳时间,数据状态INIT 《默认阅读x秒》
  2. 用户查看文章(离开),心跳,数据 PROCESS《可计算时长》