某app頁面
很多場景都會(huì)用到icon配備紅點(diǎn)提示的功能介陶,其優(yōu)點(diǎn)在于能夠從入口處引導(dǎo)用戶點(diǎn)擊查看赫段,對于強(qiáng)迫癥用戶來說更加能夠引導(dǎo)曝光率力试。
在“賺錢”頁面中苏携,每一個(gè)宮格中的icon都會(huì)配有一個(gè)紅點(diǎn)毛仪。
簡單說搁嗓,紅點(diǎn)的展示內(nèi)容和展示時(shí)機(jī),由server控制箱靴;紅點(diǎn)消失的時(shí)機(jī)腺逛,由點(diǎn)擊控制。
對于一個(gè)完整的宮格數(shù)據(jù)衡怀,包含以下信息:
menu_id;//一個(gè)宮格的標(biāo)識棍矛,全場唯一
name;// 名稱安疗,圖標(biāo)下面的文字信息
icon;// icon url 圖標(biāo)url
icon_remind;//右上角的角標(biāo)文案
skip_url;//點(diǎn)擊跳轉(zhuǎn)的url
is_tp_url;//是否第三方url
tp_declare;//免責(zé)聲明文案內(nèi)容
remind_new_id;//標(biāo)記icon_remind是否變化,本地存儲
在判斷是否展示紅點(diǎn)的邏輯中,只需要判斷兩個(gè)東西:isClick(是否點(diǎn)擊)和(icon_remind.equals(lastRemindNewId)).
判斷流程圖如下:
image.png
remind_new_id字段歸根結(jié)底就是個(gè)md5够委。
通過上述機(jī)制茂契,即保證了點(diǎn)擊紅點(diǎn)所在的宮格能夠使得紅點(diǎn)消失,也可以保證server在需要展示新的內(nèi)容的時(shí)候慨绳,即便在點(diǎn)擊過該宮格之后掉冶,依然能夠重新喚起紅點(diǎn)邏輯展示新的內(nèi)容。