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

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

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创