微信小程序(四十八)登入页面跳转与回跳

2024-03-02 13:28

本文主要是介绍微信小程序(四十八)登入页面跳转与回跳,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注释很详细,直接上代码

上一篇

新增内容:
1.在组件中获取当前页面的路由并通过参数传递给登入页面
2.提取传递的参数并在登入成功以后从登入页面回跳到原页面

源码:

app.js

App({globalData:{//定义全局变量isLoad:false}})

app.json

{"usingComponents": {"auth":"/components/auth/auth"},"pages": ["pages/index/index","pages/begin/begin","pages/start/start"]
}

/components/auth/auth.wxml

<!-- 使用properties参数(是否登入) -->
<slot wx:if="{{isLoad}}"></slot>

/components/auth/auth.js

Component({behaviors: [],properties: {isLoad: {//接收参数(是否登入)type: Boolean,value: false}},lifetimes: {created() {//因为功能限制太多了,所以一般都不用这个},attached() {//这个比较常用const app=getApp()//如果没有登入if(!app.globalData.isLoad){const nowPages=getCurrentPages()const {route}=nowPages.pop()wx.redirectTo({//带参重定向url: '/pages/index/index?redirectUrl=/'+route,})//不延时弹窗提示会卡没setTimeout(()=>{wx.showToast({title: '未登入,已跳转到登入页面,请先登入!',icon:'none'})},1000)}},moved() {},detached() {},methods: {}
}
})

start.wxml

<button bind:tap="onTap" type="primary">进入需要登入才能看的页面</button>

start.js

// pages/start/start.js
Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {},onTap(){wx.redirectTo({//跳转到登入页面url: '/pages/begin/begin',})}
})

begin.wxml

<auth isLoad="{{isLoad}}"><!-- 传输参数(是否登入) --><view class="tip">登入以后可以查看的内容</view>
</auth>

begin.wxss

.tip{font-size: 60rpx;color:palegreen; margin-top: 200rpx;padding: 0rpx 30rpx;background-color: bisque;
}

begin.js

// pages/begin/begin.js
Page({/*** 页面的初始数据*/data: {//参数:是否登入isLoad:false},/*** 生命周期函数--监听页面加载*/onLoad(options) {//进入这个页面同步登入状态const app=getApp()this.setData({isLoad:app.globalData.isLoad})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

index.wxml

<button type="primary" bind:tap="inLoad">登入</button>

index.js

Page({data:{isLoad:false,redirectUrl:''},onLoad({redirectUrl}){//接收并解构重定向参数// console.log(redirectUrl)this.setData({//存储跳转之前的页面redirectUrl:redirectUrl})},//登入inLoad(){//修改全局变量为trueconst app=getApp()app.globalData.isLoad=true//console.log(app.globalData.isLoad)this.setData({//修改页面数据isLoad:app.globalData.isLoad})//登入以后跳转到之前的页面wx.redirectTo({url: this.data.redirectUrl})}
})

效果演示:

在这里插入图片描述

这篇关于微信小程序(四十八)登入页面跳转与回跳的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/766281

相关文章

通过React实现页面的无限滚动效果

《通过React实现页面的无限滚动效果》今天我们来聊聊无限滚动这个现代Web开发中不可或缺的技术,无论你是刷微博、逛知乎还是看脚本,无限滚动都已经渗透到我们日常的浏览体验中,那么,如何优雅地实现它呢?... 目录1. 早期的解决方案2. 交叉观察者:IntersectionObserver2.1 Inter

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序