微信小程序内页跳转登录,登录完成后携带参数重新回到之前页面实现方法

这篇具有很好参考价值的文章主要介绍了微信小程序内页跳转登录,登录完成后携带参数重新回到之前页面实现方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一步:在app.js或utils.js中添加以下两个方法:

// 拿到需要返回的页面路径和参数并保存 (跳转之前调用此方法)
setCallbackUrl: function(mode) {
    return new Promise((resolve,reject) => {
        let pages = getCurrentPages(); //获取历史页面记录
        let currentPage = pages[pages.length - 1]; //获取当前页面
        let urlPage = ''; 
        let url = currentPage.route; //拿到当前页面url
        let argumentsStr = '';
        let options = currentPage.options; //拿到参数对象
        for (let key in options) {
                let value = options[key];
                argumentsStr += key + '=' + value + '&';
        }
        if(argumentsStr) {
             argumentsStr = argumentsStr.substring(0, argumentsStr.length - 1);
             urlPage = url + '?' + argumentsStr;
        } else {
            urlPage = url;
        }
        let callbackObj = {
            callbackUrl: `/${urlPage}`,
            mode: mode || 'redirectTo'
        }
         wx.setStorageSync('callbackObj', JSON.stringify(callbackObj));
         resolve();
    })
},

// 提取本地存储的要返回的页面地址和参数,并返回之前的页面(登录完成后调用此方法)
getCallBackUrl: function() {
    return new Promise((resolve,reject) => {
        const callbackObj = wx.getStorageSync('callbackObj');
        if(callbackObj) {
            let resultObj = JSON.parse(callbackObj);
            let callbackUrl = resultObj.callbackUrl;
            let mode = resultObj.mode;
            mode == 'redirectTo' && wx.redirectTo({url: callbackUrl});
            mode == 'switchTab' && wx.switchTab({url: callbackUrl});
            mode == 'reLaunch' && wx.reLaunch({url: callbackUrl});
            mode == 'navigateTo' && wx.navigateTo({url: callbackUrl});
        } else {
            reject();
        }
    })
},

第二步:在跳转到登录页面跳转前调用setCallbackUrl方法(获当前页面的路径和参数存本地),登录页面登录成功后调用getCallBackUrl方法(提取之前存的路径和参数返回),如果没有就在catch中执行登录后的正常逻辑,比如跳转到默认userInfo页面。文章来源地址https://www.toymoban.com/news/detail-785238.html

app.getCallBackUrl().catch(() => {
    // 不需要跳转到原来页面时,给个默认页面
    wx.redirectTo({
        url: '/pages/userInfo/userInfo'
    })
})

到了这里,关于微信小程序内页跳转登录,登录完成后携带参数重新回到之前页面实现方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序如何跳转到tabBar页面、如何携带参数过去

    微信底部如果用的是系统自动的 tabbar ,也就是在 app.json 中配置的底部路由: 需要注意以下两个问题: 比如,个人中心是 tabBar ,使用 navigator url=\\\"/pages/me/me\\\"个人中心/navigator 跳转时,无法跳转,也不会给任何提示。 如果在普通标签上使用 wx.navigateTo 跳转到任意 tabBar 页面,则

    2024年02月05日
    浏览(55)
  • 短信跳转打开微信小程序的指定页面,可以携带参数

    本项目具体需求是短信跳转同一个小程序的不同页面,可以带参数。使用云函数和h5页面,开发时使用静态网站调试,后期h5页面后端另外部署的。 不属于原创,只是在使用的过程中参考以下教程,最终达到效果。现在记录下自己的实施过程。 微信小程序云函数使用教程【超

    2024年04月16日
    浏览(42)
  • 【微信小程序】扫描外部二维码、小程序码进入并获得携带参数,使用参数跳转到指定页面

    您需要使用微信提供的跳转链接和相关参数。以下是实现的步骤: 生成跳转链接:使用以下链接格式生成跳转链接,其中 APPID 是您的小程序的 AppID, PATH 是您要跳转的页面路径, QUERY 是您要传递的参数。 生成二维码:使用生成的跳转链接生成二维码。您可以使用在线的二维

    2024年02月08日
    浏览(45)
  • unapp微信小程序转发分享、携带参数

    这里有个uni官方文档的bug,uni官方文档并没有说明uni.showShareMenu有menus配置项,但是微信官方文档是有的。所以加上也是会生效的。 注意:配置了此项,此种方式优先级要比第二种方式要高,所以采用第二种方式就不能配置第一种方式。 下面是uni的文档配置项:官方文档 微信

    2024年02月01日
    浏览(38)
  • 微信小程序生成携带参数的二维码

    当对需求的时候发现 要完成一个永久二维码直接进入微信小程序的对应页面+对应IID参数 不要慌 这篇文章解决 满足生成需要 微信官方提供生成微信二维码 可满足大部分功能 获取不限制的小程序码 | 微信开放文档 可以看到官方文档有3种二维码的样式 我们这里以第一种的小

    2024年02月09日
    浏览(37)
  • 微信小程序码生成,扫码携带参数进入指定页面

    一、准备工作 (1)微信小程序后台获取小程序的 appId 和 secret 小程序后台管理(开发管理➡开发设置) (2)扫码跳转的页面在 app.json 中已经注册 注册的路径与传过去的路径一致 (3)小程序已经有已发布的线上版本,否则会找不到页面报错 体验版的不行,找不到相应的页

    2024年02月15日
    浏览(39)
  • 微信小程序 wx.navigateBack() 携带参数返回(刷新上页参数信息)

    页A 通过wx.navigateTo跳转到页B,页B wx.navigateBack返回页A前,可以通过利用getCurrentPages去传递参数,来刷新页A的值  let pages = getCurrentPages(); //获取当前页面pages里的所有信息。  let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面

    2024年02月16日
    浏览(41)
  • uniapp微信小程序 获取从二维码进入小程序所携带的参数

    在app.vue  onLaunch中调用获取场景值的方法即可 (建议在onShow中调用,避免扫码冷启动)

    2024年02月15日
    浏览(31)
  • 【微信小程序】使用 wx.request 方法来发送POST网络请求,携带RequestBody参数

    在微信小程序中,你可以使用 wx.request 方法来发送网络请求。以下是将上述 Java 代码转换为微信小程序版本的示例: 在上述代码中,我们使用 wx.request 方法发送 POST 请求,并将请求的 URL、请求体数据、请求头等信息进行相应的设置。请求成功后,会在回调函数的 success 中处

    2024年02月15日
    浏览(36)
  • uniapp(HBuilder X)实现微信小程序转发好友和分享朋友圈(携带多个参数)

    1.转发好友 2.分享朋友圈 需要注意的一些地方: 分享和转发内部不得有嵌套方法返回,也就是不可异步,否则在执行的时候,只会执行当前页面,自定义标题等都不会生效 转发代码块的存放级别与生命周期同级,分享代码块需要放进方法中(methods),不然不会生效 分享的参数携

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包