創(chuàng)絡(luò)商城網(wǎng)站系統(tǒng)已經(jīng)非常成熟的運(yùn)營(yíng)在多位客戶的經(jīng)營(yíng)活動(dòng)中,但隨著時(shí)間的流逝,不可避免的會(huì)出現(xiàn)一些我們未能預(yù)見(jiàn)的問(wèn)題,這個(gè)時(shí)候我們就會(huì)加緊修復(fù)處理。而在最近的一次程序更新中,石巖做網(wǎng)站的公司創(chuàng)絡(luò)科技解決了公眾號(hào)商城微信登陸成功后但不跳轉(zhuǎn)的問(wèn)題,我們發(fā)現(xiàn)在某些極端測(cè)試情況下會(huì)出現(xiàn)這種問(wèn)題:當(dāng)用戶通過(guò)微信訪問(wèn)商城時(shí),在用戶登錄界面點(diǎn)擊微信一鍵登錄的時(shí)候,微信會(huì)提示登錄成功,但是接下來(lái)不是跳轉(zhuǎn)到預(yù)期的頁(yè)面,而是出現(xiàn)一個(gè)空白頁(yè),關(guān)閉網(wǎng)頁(yè)后重新打開(kāi)卻已經(jīng)是登錄狀態(tài)了。
預(yù)期頁(yè)面:登錄前所訪問(wèn)的頁(yè)面(如商品詳情頁(yè)),如果不存在(用戶直接從微信菜單進(jìn)入用戶登錄頁(yè)面),則默認(rèn)為首頁(yè)。
問(wèn)題定位:通過(guò)微信提示登錄成功的線索可以排除微信長(zhǎng)鏈接出錯(cuò)的可能性,且關(guān)閉網(wǎng)頁(yè)后重新打開(kāi)卻已經(jīng)是登錄狀態(tài),說(shuō)明問(wèn)題出在程序本身。而以往使用一直沒(méi)有問(wèn)題,也沒(méi)有其他客戶反饋過(guò)相關(guān)問(wèn)題。于是對(duì)程序打點(diǎn),進(jìn)行斷點(diǎn)測(cè)試,最終成功將問(wèn)題定位在訂單積分的問(wèn)題上面:出現(xiàn)了訂單負(fù)數(shù)積分的情況。
錯(cuò)誤分析:在實(shí)際的運(yùn)營(yíng)中極難出現(xiàn)這種問(wèn)題,但是剛好這個(gè)項(xiàng)目進(jìn)行了一個(gè)極端測(cè)試:設(shè)置商品價(jià)格為0.01元,又可以使用無(wú)門檻的優(yōu)惠券10元,運(yùn)費(fèi)10元。那么實(shí)際支付金額為:0.01-10+10=0.01元。而用戶支付的10元運(yùn)費(fèi)是不計(jì)入積分的,因此本單積分為0.01-10=-9.99分,取整后為-9分。當(dāng)用戶登錄時(shí)自動(dòng)收貨獲取該訂單積分時(shí)則出現(xiàn)程序上的運(yùn)算邏輯錯(cuò)誤:原積分+訂單積分=新積分,實(shí)例化為本文中的數(shù)據(jù)為:99+-9=?,此時(shí)出現(xiàn)程序錯(cuò)誤,導(dǎo)致出現(xiàn)空白頁(yè)。
問(wèn)題解決:?jiǎn)栴}分析清楚后,解決問(wèn)題就十分簡(jiǎn)單了,在計(jì)算訂單實(shí)際獲得積分的時(shí)候,對(duì)計(jì)算結(jié)果進(jìn)行多一次判斷,當(dāng)積分為負(fù)數(shù)時(shí),重新定義積分等于0分即可。