vianvio / FE-Companions

山虽高,我心已决要攀登, 路再难,绊不住我的脚跟; 因为我看到生命之路就在这里。 -- 《天路历程》
447 stars 34 forks source link

20200620 - 寒枫尘 #73

Open vianvio opened 4 years ago

vianvio commented 4 years ago

问题列表:

  1. 基于业务埋点与abTest,通过数据分析调整页面,具体系统落地如何做的?以架构图配合文字的形式描述一下。
  2. 同一套方案如何在新的页面复用?能否做到代码无侵入?
  3. 上传附件的改造,如何确定改造是有效的?如果业务方不来反馈,怎么知道这里出问题了?
  4. 用户发现当前页面某个按钮看不到,如何判断出来是因为代码报错导致,还是权限控制导致?
TanWorldThreeGold commented 4 years ago

1.基于业务埋点与abTest,通过数据分析调整页面,具体系统落地如何做的?以架构图配合文字的形式描述一下。 image 这一块架构对我来说还是黑盒,不太清除传递数据给后台后的一系列流程。 我们在前端的事件或者生命周期中加入埋点。然后通过灰度发布以及AI组的策略来让用户分为AB两个组,通过对PV、UV以及点击次数的统计来判断哪种样式的页面更能诱导用户去进行购买。 比如说我做的大搜页面,当时有两种样式的热搜榜、还有搜索详情页在上方和下方均有按钮可以跳转到物品详情页,通过abTest,在两个迭代后选择全量发布某一种样式的页面。

TanWorldThreeGold commented 4 years ago

2.同一套方案如何在新的页面复用?能否做到代码无侵入? 答:以农险为例,投保、核保、批改三种情况下,保单页面大同小异,可将公共部分提取出来封装成公共组件common.vue。然后在不同场景下的页面分别引入common.vue,并将保单数据通过props传入,不同的功能则在组件标签外编写或者通过slot标签插入。这样做的好处是可以多处复用,公共组件只会根据不同的数据来做对应处理,并且能保证引入之后不会被改变。

TanWorldThreeGold commented 4 years ago

3.上传附件的改造,如何确定改造是有效的?如果业务方不来反馈,怎么知道这里出问题了? 答:首先是自测,从进入页面->一千张图片上传->滚动加载图片->关闭页面后重新进入->再次上传附件(随机数量)->查看页面。在此期间任意阶段有卡顿、白屏、权限失效、上传失败、上传后展示不正确的问题,都需要再次定位并解决对应问题。 之后会在测试环境重复测试。如果没有问题可以确定改造有效。 造成本次业务反馈问题的原因有如下两点:

  1. 产品以及开发测试并未预计到上传大批量附件的场景,导致开发与测试都未对该场景进行处理
  2. 开发未能通过监控手段及时获取项目在生产环境出现的异常 解决方案:针对可能存在高并发或者需要考虑边界的地方要加上告警。比如在axios的拦截器中加上对接口错误异常的上传处理,针对可能造成的卡顿现象,在node层加上心跳机制来做判断。
TanWorldThreeGold commented 4 years ago

4.用户发现当前页面某个按钮看不到,如何判断出来是因为代码报错导致,还是权限控制导致? 答:这个问题不是很理解,好像没遇到过类似的情况。js执行报错会上传错误信息,其余的都可以认为是权限控制导致看不到某按钮。

vianvio commented 4 years ago

2.同一套方案如何在新的页面复用?能否做到代码无侵入? 答:以农险为例,投保、核保、批改三种情况下,保单页面大同小异,可将公共部分提取出来封装成公共组件common.vue。然后在不同场景下的页面分别引入common.vue,并将保单数据通过props传入,不同的功能则在组件标签外编写或者通过slot标签插入。这样做的好处是可以多处复用,公共组件只会根据不同的数据来做对应处理,并且能保证引入之后不会被改变。

这里的问题是上面的abtest能否无侵入的复用哈

vianvio commented 4 years ago

4.用户发现当前页面某个按钮看不到,如何判断出来是因为代码报错导致,还是权限控制导致? 答:这个问题不是很理解,好像没遇到过类似的情况。js执行报错会上传错误信息,其余的都可以认为是权限控制导致看不到某按钮。

比如权限叠加的算法出现问题,这时候如何判断是配错了,还是代码出问题了?另外,核心是用户只会反馈说按钮看不到了,如何基于有限的信息输入,来定位看不见按钮的原因?