在app.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; //如果要获取url中所带的参数可以查看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中执行登录后的正常逻辑,比如跳转到我的模块页面。代码如下:

app.getCallBackUrl().catch(() => {
// catch中执行默认的操作
wx.redirectTo({
url: '/pages/my/mycenter/mycenter'
})
})

小tips:微信小程序登录后返回登录前的页面继续操作(保留参数)的更多相关文章

  1. struts2登录后返回登录前的页面

    在Action中添加 String getUrl() { return ServletActionContext.getRequest().getHeader("referer") ...

  2. 关于WordPress登录后跳转到指定页面

    前面在写模版的时候,有朋友要求网站登录后要跳转的到指定的页面.这个从前还真没遇到过.于是就用万能的搜索(很少百度)找了下,方法基本上就是一个,代码如下: <?php    // Fields f ...

  3. php弹出式登录窗口并获得登录后返回值

    一款bootstrap样式结合php制作的弹出式登录窗口,输入用户名和密码后,ajax传参给后台,并获得登录后返回值. hwLayer+ajax弹出登录框 $(function() { $('#for ...

  4. WPF:验证登录后关闭登录窗口,显示主窗口的解决方法

    http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...

  5. 全栈项目|小书架|微信小程序-登录及token鉴权

    小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方 ...

  6. 全栈项目|小书架|微信小程序-登录回调及获取点赞列表功能

    效果图 这一节介绍,登录回调 以及 喜欢列表 的实现. 登录回调:这里是指在获取登录完成之后,再进行下一步的操作. 比如效果图中我的页面,默认是未登录状态,积分和喜欢列表的数量都没有获取到. 而登录成 ...

  7. 全栈项目|小书架|微信小程序-点赞功能实现

    微信小程序端的点赞功能其实没什么好介绍的,无非就是调用接口改变点赞状态和点赞数量.需要注意的是取消点赞时的处理,我这里为了减少服务器接口的调用,直接本地存一个变量,修改这里的变量值即可. 由于源码都相 ...

  8. 全栈项目|小书架|微信小程序-首页水平轮播实现

    首页效果 首页功能主要有 搜索(下篇文章介绍) 图书列表 图书列表 分析一波: 列表是水平滑动 点击列表会有按压效果:布局整体缩小 每个布局的信息从上到下排列分别是:图片.书名.作者.出版社 每个布局 ...

  9. 全栈项目|小书架|微信小程序-项目结构设计分包

    前面的文章 介绍了服务端的基础搭建以及用户模块的设计,接下来就是在服务端和客户端实现具体的业务了. 本篇文章先来介绍微信小程序开发的项目结构设计,也就是项目分包情况. 由于项目是在<极客时间-9 ...

  10. 小北微信小程序之小白教程系列之 -- 样式(WXSS)

    为了适应广大的前端开发者,WXSS 具有 CSS 大部分 特性.同时为了更适合开发微信小程序,WXSS 对 CSS 进行了扩充以及修改.与 CSS 相比,WXSS 扩展的特性有:尺寸单位和样式导入. ...

随机推荐

  1. .NET周刊【7月第2期 2024-07-14】

    国内文章 开源GTKSystem.Windows.Forms框架让C# winform支持跨平台运行 https://www.cnblogs.com/easywebfactory/p/18289178 ...

  2. TypeScript 学习笔记 — 泛型的使用(七)

    目录 一.指定函数参数类型 单个泛型 多个泛型 二.函数标注的方式 类型别名 type 接口 interface *案例分析: 三.默认泛型 四.泛型约束 五.泛型接口使用 六.类中的泛型 泛型(Ge ...

  3. elementplus弹窗可拖拽draggable,点击空白处不消失close-on-click-modal,modal是否去掉遮罩层

    <el-dialog :modal="false" v-model="dialogVisible" title="" width=&q ...

  4. MViTv2:Facebook出品,进一步优化的多尺度ViT | CVPR 2022

    论文将Multiscale Vision Transformers (MViTv2) 作为图像和视频分类以及对象检测的统一架构进行研究,结合分解的相对位置编码和残差池化连接提出了MViT的改进版本 来 ...

  5. 使用 useLazyFetch 进行异步数据获取

    title: 使用 useLazyFetch 进行异步数据获取 date: 2024/7/20 updated: 2024/7/20 author: cmdragon excerpt: 摘要:&quo ...

  6. Jmeter函数助手21-evalVar

    evalVar函数用于执行变量表达式. 变量的名称:填入变量的名称name.注意不是引用变量${name} 1.evalVar函数和eval函数的区别:evalVar只能接收变量名称:eval能接收引 ...

  7. 【Tomcat】IDEA工程没有EE规范的jar包?

    发现了一个问题,我安装了2种版本的Tomcat 一个是8版本,另一个是10版本 我在已经使用8版本的工程中,更换成使用10版本,当然一开始部署运行正常 但是关闭了工程之后,再次打开就发现,这些EE规范 ...

  8. Java 文件 I/O流详解

    文件 文件操作是Java开发中一个重要的组成部分,它允许开发者对文件进行读取,写入,创建,删除和修改等操作,文件操作的主要通过java.io包中的类来实现的,其中的File类更是文件操作的核心类 Fi ...

  9. 植物大战僵尸杂交版v2.1整合包全解锁+高清工具

    植物大战僵尸杂交版v2.1整合包全解锁+高清工具   引言 <植物大战僵尸>作为一款经典的塔防游戏,自2009年发布以来,就以其独特的游戏机制和幽默的风格赢得了全球玩家的喜爱.随着游戏的不 ...

  10. 代码随想录Day4

    24.两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: 输入:head = [1, ...