uniapp跳转前验证用户是否登陆并保存用户授权信息

该博客介绍了在uniapp中实现用户跳转前验证登录的方法。作者选择了自定义验证方法而非路由守卫,详细说明了如何在utils的judgeLogin.js文件中编写验证逻辑,包括H5和微信小程序的登录验证。当用户授权成功后,会直接进入登录页,如果已登录则可正常访问目标页面或弹窗。
摘要由CSDN通过智能技术生成

背景

这次项目有一个需求是实现点击一些按钮路由跳转前验证用户是否登陆,以及一些不跳转路由的功能,按钮点击后出现模态框前验证用户是否登陆。

方案选择

路由守卫

首先我并没有选择路由守卫,因为我的需求有不进行路由跳转进行验证的地方。

但是路由守卫用来做跳转前验证肯定是个不错的选择。我贴一个博客大家可以参考其他人的路由守卫方案

https://cnblogs.com/XHappyness/p/13808413.html

自定义验证方法

我是自己写的贴合需求的验证授权方法。
1.考虑跳转路由可以使用
2.在某些不跳转路由的需要验权的可以使用

实现步骤

在 utils 下编写 judgeLogin.js

export function judgeLogin() {
   
	return new Promise((resolve, reject) => {
   
		// 还未登陆
		if (!uni.getStorageSync('user')) {
   
			// #ifdef H5
			// 重定向到H5登录页
			uni.redirectTo({
   
				url: '/pages/login/index'
			})
			reject()
			// #endif
			
			// 微信小程序未登录
			// #ifdef MP-WEIXIN
			// 登陆用的临时code
			let wxCode = null
			let loginInfo = uni.getStorageSync('wxUserLogin') || {
   }
			uni.login({
   
				provider: 'weixin',
				// 获取临时code
				success: function(wx){
   
					console.</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值