针对场景:
前端请求接口根据约定的一个错误值,跳到登录界面,授权再进行回跳;
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实现....
主要呈现一个思路,代码比较初级...