一、前端js限制
比如抽奖:
点击抽奖按钮后,在抽奖方法前设置一个变量(animating: false,//是否正在抽奖),执行抽奖方法时将这个变量设置为true(animating: true),待抽奖完毕,再将这个变量改为false。
二、php限制
①抽奖:
设置一个数据库字段(is_lottery),当执行抽奖方法时, 查询该变量是否存在 。如果存在该字段值,则不继续执行抽奖方法,返回结果即可;如果该字段值不存在,更新该字段值(is_lottery=1),并执行抽奖。抽奖完毕,将该字段值删除。
②用户端定时每隔一段时间请求一个接口更新数据,防止多个用户重复请求。(假如这个请求需要1分钟)
每次请求时生成“变量+请求时间”的数据,请求时判断对应“变量相对应的时间”,如果这个时间和当前时间相比大于1分钟,那重新请求。 如果时间小于一分钟,就返回不继续请求。