Welcome everyone

运营tab接口设计

java 汪明鑫 328浏览 0评论

一个功能页面有好几个tab

每一个tab的展示顺序及是否展示,由服务端接口下发,我们就叫他tab接口吧

/xxx/tab

response:

[{

“tabId” : “xxx”,

“tabName” : “tab1”,

// …

}]


tab相关的文案、颜色、背景图等及tab顺序都应该由接口下发控制,更灵活

此时产品提需求,其他tab正常,但我们要新接入一个运营tab,作为一些运营的定制化内容展示,并且要接入用户端AB实验

于是乎,我是这样写的代码,tab列表每个tab都依次过一个开关,在开关里做AB判断,为了不影响线上已有tab,这个开关的默认值是true。 但是创建开关的时候,一个开关默认值都是false,如果忘记修改为true,会导致一个问题,所有的tab不展示,即都被开关拦截了,页面就会展示一个黑屏,不要开这个小问题很简单,确实是一个线上发生的血的教训,幸亏提前灰度,发现问题并扼杀在摇篮里,不然得提桶走人了。。。

开关设计为默认true是一个很危险的事情,需要谨记,一个新功能或新页面的开关的默认值就应该为false,随着放量变为true。

然后tab接口下发的tab个数我们应该要打点监控,小于等于2时要报警,如果tab下发空时,要有兜底tab列表,除非你想让用户看到tab为空的页面。

除此之外,针对核心功能,如果tab接口下发为空,或者超时或异常,端上也应该做一个兜底保护,保证页面的展示

转载请注明:汪明鑫的个人博客 » 运营tab接口设计

喜欢 (0)

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz