需求
当用户点击其他用户分享的小程序时,首先需要授权注册,保存分享页的路径(带参数),以便于之后跳回
具体实现
需要用到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方法中删除本地储存的路径及参数