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