Laya 首日红点逻辑

@author ixenos 2019-08-26 10:50:27

1.原理:显然,首日红点意味着包含进程销毁的情况,那么就要持久化存储信息,这里我们使用LocalStorage存储时间点,

    存入时,进行时间判断来决定是否销毁标志,然后在每次登陆时进行非值刷新,时间未达到不销毁标标志

 /**
* 设置每日首次显示红点
* @param id
* @param showRed
* @forceFlush
*/
public function setDailyFirstRed(id:String, showRed:Boolean, forceFlush:Boolean=false):void{
var key:String = "DAILY_FIRST_RED_"+id;
var lastTime:int = Number(LocalStorageManager.ins.getItem(key));
var curTime:int = TimeManager.ins.getCurTime();
if(showRed){
LocalStorageManager.ins.setItem(key, curTime+"");
}else{
if(lastTime){
if(forceFlush){
LocalStorageManager.ins.removeItem(key);
}else{
var nextDayTime:int = TimeManager.ins.getNextDayTime(lastTime);
if(curTime>nextDayTime){
LocalStorageManager.ins.removeItem(key);
}
}
}
}
}
 public function getDailyFirstRed(id:String):Boolean{
return LocalStorageManager.ins.getItem("DAILY_FIRST_RED_"+id)!=null;
}

2.当然,LocalStoregeManager中对key肯定要加上用户ID处理,不然切账号就乱了

 

最新文章

  1. iOS代码签名理解
  2. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
  3. 《精通MVC5.0》笔记Razor
  4. 小型资源管理器,IO操作,读取和写入文件和目录的常用操作
  5. Android的ADB配置环境和adb指令使用
  6. 纯代码TableView自适应高度(很老的使用方法)
  7. MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理
  8. VC 对话框背景颜色、控件颜色(三种方法)
  9. Windows中APACHE开启fastcgi后无法连接数据库
  10. 使用SourceTree Push 出现 POST git-receive-pack (chunked) 的解决方法
  11. (中等) POJ 1191 棋盘分割,DP。
  12. Linux五种IO模型性能分析
  13. 基于Redis的分布式锁的简单实现
  14. linux中操作java进程
  15. Python——IPython和NumPy
  16. matlab 小波工具箱
  17. git clone git@github.com:xxx.git Permission denied (publickey) 问题解决办法
  18. Atitit 纯java项目的提升进度大法---通用json dsl接口
  19. UVa 10970 Big Chocolate (想一下就AC了)
  20. 高可用OpenStack(Queen版)集群-7.Neutron控制/网络节点集群

热门文章

  1. Go语言入门篇-使用Beego构建完整web应用
  2. (ROT-13解密)Flare-On4: Challenge1 login.html
  3. android app开发中的常用组件
  4. C++中的class和struct区别
  5. .net 与directX
  6. 为何单片机程序不用加载到RAM
  7. 原生ajax与伪ajax
  8. GridView做加
  9. Linux基础命令四
  10. 关于原型链,原来这么简单?—————终结__proto__和prototype的那些事