針對場景:
前端請求接口根據約定的一個錯誤值,跳到登錄界面,授權再進行回跳;
1.購物車頁面(請求結算接口)--登錄--預下單頁面;
步驟如下:
a.購物車頁面緩存數據;
// 緩存購物車數據 wx.setStorageSync('cartData',params);
b.登錄頁面對來自購物車的頁面做特殊處理;
// 回跳 const prevUrl = utils.getPrevPageUrl(); if (prevUrl == 'pages/cart/cart') { wx.navigateTo({ url: '/pages/prepare-order/prepare-order' }); }else{ wx.navigateBack(); }
c. 預下單頁面二次拿到緩存數據,重新請求結算接口;
onLoad: function (options) { const prevUrl = utils.getPrevPageUrl(); if(prevUrl == 'pages/login/login'){ const cartData = wx.getStorageSync('cartData'); this.getInfoData(cartData); } }
2.user頁面--訂單列表頁面(此時訂單列表接口報錯被攔截)--登錄,此時用戶不想授權,回跳user頁面;
const prevUrl = utils.getPrevPageUrl(); if(prevUrl=='pages/order-list/order-list'){ // 給上一個頁面變量賦值 currentPage.setData({ needRequest: false }) wx.reLaunch({ url: '/pages/user/user' }) return }
訂單列表頁面是否請求接口,通過needRequest來進行判斷;
此處也可以用globalData實現....
主要呈現一個思路,代碼比較初級...