单登录页(只有一个登陆页面)
1,登录采用页面回退
2,必要onshow页面(onload获取页面传参)–>套公共方法检测是否登录–>未登录则登陆–>login返回onshow刷新
3,不必要onshow页面(即用onload)–>套公共方法检测是否登录–>未登录则登录–>login返回使用页面栈刷新
多登录页(登录需要多个页面间跳转)
1,登录采用多级页面回退
1,缓存记录登录前的页面,登录成功后使用页面栈多级回退,返回到缓存记录的页面(保持页面栈的完整性)
2,所有页面统一登陆后onload刷新页面
let pages = getCurrentPages();//当前页面栈
pages.forEach((val, index) => {
if (wx.getStorageSync('url') == val.route) {
let page = pages.length - 1 - index;
pages[index].onLoad();
wx.navigateBack({
delta: page
})
wx.removeStorageSync('url')
return;
}
})