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