小程序关于登录授权回跳页面的两个问题记录


针对场景:

前端请求接口根据约定的一个错误值,跳到登录界面,授权再进行回跳;

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实现....

 

主要呈现一个思路,代码比较初级...

 

posted @ 2019-03-18 16:23  Vonson  阅读(2281)  评论(0编辑  收藏  举报