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