现在要做一套答题系统,整体的业务逻辑是:
(1)用户购买了某套试题,试题有答题时长,比如2小时。
(2)用户开始做题,从用户第一次打开试题开始计时,用户答题五分钟以后关闭试题页面,该套试题的剩余时间为:(2小时-5分钟)。
想问下,有没有比较好的计时方法?
刚开始的思路是在用户点开试题的时候,前端开始计时,比如5秒钟向后端回传一次数据,或者等用户关闭试题页面的时候,将学习时间一次提交到后端。但是,这里有个问题,如果用户抓包拦截了请求,那么后端就不能正确统计时间。
现在要做一套答题系统,整体的业务逻辑是:
(1)用户购买了某套试题,试题有答题时长,比如2小时。
(2)用户开始做题,从用户第一次打开试题开始计时,用户答题五分钟以后关闭试题页面,该套试题的剩余时间为:(2小时-5分钟)。
想问下,有没有比较好的计时方法?
刚开始的思路是在用户点开试题的时候,前端开始计时,比如5秒钟向后端回传一次数据,或者等用户关闭试题页面的时候,将学习时间一次提交到后端。但是,这里有个问题,如果用户抓包拦截了请求,那么后端就不能正确统计时间。
答题应该是一直答吧。。难道还可以关闭继续答?如果是这样那这个意义就不大了吧,看完题目后面再答。。这个计时就是伪需求。。。如果一直答的话,后端计时就可以了,前段搞个提示性的就行,以后端为主
开始答题后端记录时间,然后前端那这个时间进行倒计时。用户关闭答题画面,记录这个关闭时间。下次再答题,画面就跟据最开始记录的时候与上次关闭的时间计算出剩余时间进行倒计时。为防止时间不一致,可以不每隔几分钟再做一遍时间校验以纠正时间。
2 回答2.5k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
1 回答837 阅读✓ 已解决
913 阅读
1 回答670 阅读
1 回答667 阅读
可以参考下牛客网,在开始试题触发一次后端请求,每次点击下一题也触发一次,在页面停留每几秒触发一次。在这几次触发中可以收集时间。