个人开发所遇-微信小程序-记录当前页url及router

173 阅读1分钟

需求

当用户点击其他用户分享的小程序时,首先需要授权注册,保存分享页的路径(带参数),以便于之后跳回

具体实现

需要用到getCurrentPages()方法 在util.js中创建两个方法

/*获取当前页带参数的url*/
function getUrl() {
  var pages = getCurrentPages() //获取加载的页面
  var currentPage = pages[pages.length - 1] //获取当前页面的对象
  var url = currentPage.route //当前页面url
  wx.setStorageSync('Router', `/${url}`)
  var options = currentPage.options //如果要获取url中所带的参数可以查看options

  //参数多时通过&拼接url的参数
  var urlWithArgs = url + '?'
  for (var key in options) {
    var value = options[key]
    urlWithArgs += key + '=' + value + '&'
  }
  urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1)
  wx.setStorageSync('Url', `/${urlWithArgs}`)
}

// 获取当前页面路由
function getRouter() { //此方法跟上面一个方法前四行一致,只是这里是获取路由不是拼接参数的
  var pages = getCurrentPages() //获取加载的页面
  var currentPage = pages[pages.length - 1] //获取当前页面的对象
  var router = currentPage.route //当前页面url
  wx.setStorageSync('Router', `/${router}`)
}

然后在用户进入的分享页中调用,在Storage中存储当前分享页的路径及参数 当用户跳授权并注册再跳回分享页

注意

在小程序隐藏的生命周期里即app.js里的onHide方法中删除本地储存的路径及参数

引用

> blog.csdn.net/qq_43156398…