创络商城网站系统已经非常成熟的运营在多位客户的经营活动中,但随着时间的流逝,不可避免的会出现一些我们未能预见的问题,这个时候我们就会加紧修复处理。而在最近的一次程序更新中,石岩做网站的公司创络科技解决了公众号商城微信登陆成功后但不跳转的问题,我们发现在某些极端测试情况下会出现这种问题:当用户通过微信访问商城时,在用户登录界面点击微信一键登录的时候,微信会提示登录成功,但是接下来不是跳转到预期的页面,而是出现一个空白页,关闭网页后重新打开却已经是登录状态了。
预期页面:登录前所访问的页面(如商品详情页),如果不存在(用户直接从微信菜单进入用户登录页面),则默认为首页。
问题定位:通过微信提示登录成功的线索可以排除微信长链接出错的可能性,且关闭网页后重新打开却已经是登录状态,说明问题出在程序本身。而以往使用一直没有问题,也没有其他客户反馈过相关问题。于是对程序打点,进行断点测试,最终成功将问题定位在订单积分的问题上面:出现了订单负数积分的情况。
错误分析:在实际的运营中极难出现这种问题,但是刚好这个项目进行了一个极端测试:设置商品价格为0.01元,又可以使用无门槛的优惠券10元,运费10元。那么实际支付金额为:0.01-10+10=0.01元。而用户支付的10元运费是不计入积分的,因此本单积分为0.01-10=-9.99分,取整后为-9分。当用户登录时自动收货获取该订单积分时则出现程序上的运算逻辑错误:原积分+订单积分=新积分,实例化为本文中的数据为:99+-9=?,此时出现程序错误,导致出现空白页。
问题解决:问题分析清楚后,解决问题就十分简单了,在计算订单实际获得积分的时候,对计算结果进行多一次判断,当积分为负数时,重新定义积分等于0分即可。