当前位置: 首页 > news >正文

采用轮询的方式实现在线人数

轮询主要通过定时器来实现

1.获取设备id

这里需要像后端传入正在观看视频的设备Id号,区分不同的用户设备,确保每个设备在进行视频播放时能被唯一识别。通过设备ID,你可以追踪每个设备的观看状态(例如,记录每个设备的播放情况,获取每个设备是否正在观看视频等)。

使用@fingerprintjs/fingerprintjs": "^4.4.3"和cookies:获取浏览器的唯一标识,具体代码如下:

import FingerprintJS from "@fingerprintjs/fingerprintjs";
// 获取设备Id
const getDeviceId = async () => {let deviceId = VueCookies.get("deviceId");if (!deviceId) {// 通过@fingerprintjs/fingerprintjs插件获取浏览器设备const fpPromise = await FingerprintJS.load();const result = await fpPromise.get();deviceId = result.visitorId;// 过期时间,单位为天(-1 表示会话级 Cookie,浏览器关闭就删除)即永久保存VueCookies.set("deviceId", deviceId, -1);}loginStore.saveDeviceId(deviceId);
};

2.确定要轮询的事件

const onlineCount = ref(1);
const reportVideoPlayOnline = async () => {if (!fileId.value) {return;}let result = await proxy.Request({url: proxy.Api.reportVideoPlayOnline,params: {fileId: fileId.value,deviceId: loginStore.deviceId,},//  这是一个自定义配置项,// 用于控制 是否在请求出错时弹出错误提示(或进行错误处理)。showError: false,});if (!result) {return;}onlineCount.value = result.data;
};

3.使用定时器进行轮询

let timer = ref(null);
const startTimer = () => {timer.value = setInterval(() => {reportVideoPlayOnline();}, 5000);
};

4.在组件销毁之前,清空定时器

onBeforeUnmount(() => {cleanTimer()
});
const cleanTimer=()=>{if(timer.value!==null){clearInterval(timer.value)timer.value=null}
}

相关文章:

  • PC端直接打印功能(包括两张图片合并功能)
  • NodeJS Koa 后端用户会话管理,JWT, Session,长短Token,本文一次性讲明白
  • evo precision evaluation
  • 【分治法 容斥原理 矩阵快速幂】P6692 出生点|普及+
  • virtualbox 如何虚拟机ip固定
  • DFT测试之TAP/SIB/TDR
  • AudioRelay 0.27.5 手机充当电脑音响
  • Python: 操作 Excel折叠
  • VTK如何让部分单位不可见
  • js树形菜单功能总结
  • excel数据对比找不同:6种方法核对两列数据差异
  • 三十四、面向对象底层逻辑-SpringMVC九大组件之FlashMapManager接口设计哲学
  • 一文学会《使用Auto CAD2020绘制Allegro PCB板框》
  • Excel 表格内批量添加前缀与后缀的实用方法
  • RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
  • cnn卷积神经变体
  • 若依添加添加监听容器配置(删除键,键过期)
  • 什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
  • [BJDCTF2020]Easy MD5 1
  • Excel 模拟分析之单变量求解简单应用
  • 网站登录界面图片用什么软件做/ueeshop建站费用
  • 微信网站怎么做/帮收款的接单平台
  • 大宗商品一览表/seo的工作内容
  • 我国经济总量/郑州百度关键词seo
  • 高端定制服装/搜索引擎技术优化
  • 基于vue的个人网站开发/制作网页的工具软件