Insua
5年前

统计页面的用户在线时间,有什么好办法吗?

讨论数量: 6
Summer
  1. 弄清楚什么是 会话时间 ,还有 这里,开发时记得设置为可配置;
  2. 使用 Redis 来记录时间;
  3. 没十秒钟发送 HTTP 请求到服务器端记录时间;
  4. 反作弊 —— 太久没有动静时,就取消请求(酌情处理,也要写成可配置),防止学生挂着窗口一整天的现象;
  5. 写个 Artisan 命令,对收集到的数据进行计算和整理,并更新到数据库用户表里;

可以参考 实战课程的用户最后登录时间一节

弄出来以后记得写个文章分享下哈。

5年前 评论
幽弥狂

Redis 去做吧。。登录时间是开始,每操作一次结束时间更新一下。。

5年前 评论
Summer

目的是什么?不同的目标,对精确度要求不一样,实现方式不一样。例如:给产品经理看,辅助他做产品决策,这个优先考虑 Google Analytics 。

5年前 评论

不是给产品经理看的,是客户要求做的这个功能,因为是学习型应用,需要统计用户的学习在线时间, GA肯定用不了

5年前 评论
Summer
  1. 弄清楚什么是 会话时间 ,还有 这里,开发时记得设置为可配置;
  2. 使用 Redis 来记录时间;
  3. 没十秒钟发送 HTTP 请求到服务器端记录时间;
  4. 反作弊 —— 太久没有动静时,就取消请求(酌情处理,也要写成可配置),防止学生挂着窗口一整天的现象;
  5. 写个 Artisan 命令,对收集到的数据进行计算和整理,并更新到数据库用户表里;

可以参考 实战课程的用户最后登录时间一节

弄出来以后记得写个文章分享下哈。

5年前 评论

现在基本做完了,用localstorage做的,在线时间满一个小时后向服务器post数据,其他逻辑都在前端
遵从 @Summer 的命令 ,分享一下代码

file

5年前 评论
nff93

@Insua 看了代码,写得很不错,可惜缺少一些必要的上下文 :sweat_smile:

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
热门动弹
暂无内容~