场景
产品设计中经常会涉及到有些页面是具有访问条件的,如果直接进入是错误的或者会导致业务异常。本文就梳理下经常遇到的一些页面或者说场景是如何处理这些细节的,
案例一:订单付款页(订单付款)
我们在选择下单之后,在订单确认页会进行付款, 然后付款之后进入付款结果页,可能成功或者失败。那如果我直接通过链接进入订单确认页呢?会有什么可能?
首先我们分析订单数据,订单里包括了基本的商品信息,订单信息,以及用户信息,其中订单信息一般会暴露一个订单id,一般是包括商品信息,用户信息以及此订单信息。
当我们直接访问时,
第一步肯定是拿到用户信息,因为没有用户信息作为鉴权,我们的订单信息暴露给其他用户是不安全的。这一步在微信里会是一次web 2.0的网页鉴权以及重定向;在app里是拦截到登录页然后定向跳转拦截页;
第二步,是针对用户以及订单号做一次信息匹配,正确的情况下,做对应的处理,如果还未付款,可以是两种,一种停留在该页付款,也可以新开页面付款,总之不会新生成订单造成垃圾数据;如果已经付款, 那么会进行一次页面重定向到付款成功页。
案例二:仅可单次操作的订单(付费课程)
比如某商品具有特殊属性,不允许重复购买,比如某某教育课程,理论情况下一个用户只允许购买一次,那么当用户通过其他途径进入课程页面时。
1 用户鉴权,如果不是我们的产品用户,可以忽略后续逻辑
2 如果已经是我们的用户,可以有2种设计逻辑
2。1 在购买的按钮位置提示已购买,然后提供查看订单的入口,这种比较常规常用
2。2 当发现用户已经购买时,进行重定向到购买成功页或者订单列表页,然后在这个页面里用户可以通过课程的缩略图或者链接重新查看课程内容。
案例三:扣除有效机会的场景(抽奖,知识竞赛)
在一些运营活动中,我们经常会有类似的抽奖或者知识竞赛的产品,然后每参加一次扣除一次机会。
然而,如果页面设计的不合理,每次进入页面就扣除机会的话,那用户使用系统或者手势,或者就是复制链接进入这个页面,就会导致机会不可控的减少,这不是我们想要的。
所以为了避免类似的问题,我们一定要把扣除机会的这个操作交给用户,而不是页面载入,这样就可以解决类似的问题。
设计如下:在用户点击开始抽奖或者开始答题时,提示,这将扣除一次机会,用户点击确定然后再扣除。
备注:在针对有关页面数据敏感型的页面,比如知识竞赛类的题目,为了防止用户通过这个间隙来反复查看题目信息,可以针对页面的信息做遮罩以及毛玻璃效果。
案例四:流程中间页(选择支付方式)
某个流程中,用户流程的中断,然后通过中断页直接访问,那么也会因为数据不完整导致这个页面的不可正常访问,这种情况下需要做的处理是:
1 判断页面需要信息完整性的逻辑
2 如果不完整,对应的方案是如何的
2。1 回到该页面的上一个流程页
2。2 回到该流程的初始页
2。3 回到产品的主页
2。4 回到个人中心
小结
因为web页面具有相关的不可控性,因此我们每个核心的可能会影响业务的页面都要考虑到一些非常规的访问,并作出相应的处理或者跳转,来保证整体产品访问的有效性,业务数据的正常性。