[uniapp]保存当前页面路径的方法

2024年11月7日 11:06 by wst

小程序

问题

在页面操作中,经常碰到需要登录操作,登录后需要调回原来的页面的情况。

解决方法

跳转之前保存当前页面的路径和参数,登录后再跳转回来。

保存当前参数:

function set_page(){
  const pages = getCurrentPages();
  const page = pages[pages.length - 1].$page.fullPath; //完整路由地址
  console.log("page:", page)
  uni.setStorageSync("current", decodeURIComponent(page))
  uni.setStorageSync("current_type", 0)   // 0普通页面,1Tab页面
  uni.navigateTo({
    url:'/pages/login/login',
  })
}

登录后,调回原来的页面:

/**返回我的页面 */
function return_page(){
    var url = '/pages/index/index';
    var current = uni.getStorageSync('current') || ''
    var current_type = uni.getStorageSync('current_type') || 0
    console.log("current:", current)
    if(current){
        if(current_type == 1){
            uni.switchTab({
                url:current,
            })
        } else {
            uni.navigateTo({
                url: current,
            })
        }

    } else {
        uni.switchTab({
            url:url,
        })
    }
}

说明

1.在保存当前页面的路径的时候,还要保存页面类型:是普通页还是tab页。

2.返回的时候,需要根据页面类型决定跳转到普通页还是tab页。


Comments(0) Add Your Comment

Not Comment!