uni-app微信小程序封装全局判断是否登录方法结合全局变量

新建的uni-app项目会有个app.vue文件,在此文件下 onLaunch应用生命周期封装一个方法(把全局变量定义一下):

 注意:onLaunch应用生命周期只会触发一次

app.vue:

<script>
	export default {
		//全局变量
		globalData: {
			//用于判断用户是否登录(默认为否)
			userLogin: false,
		},
		onLaunch: function() {
			console.log('App Launch')
			//是否判断登录
			wx.checkSession({
				success: () => {
                    //没用到token可以直接忽略以下步骤:
					console.log('登录未过期');
					const user_token = uni.getStorageSync('user_token');
					if(user_token){
						this.globalData.userLogin = true;
					}else{
						//解决token消失但登录未过期问题
						this.globalData.userLogin = false;
						//没登录就异步删除验证token
						uni.removeStorage({
						    key: 'user_token',
						    success: function (res) {
						        console.log('user_token移除成功');
						    }
						});
					}
                   //没用到token走这个步骤:
                   //this.globalData.userLogin = false;
				},
				fail: () => {
					console.log('登录已过期');
					this.globalData.userLogin = false;
                    //没用到token可以直接忽略以下步骤:
					//没登录就异步删除验证token
					uni.removeStorage({
					    key: 'user_token',
					    success: function (res) {
					        console.log('user_token移除成功');
					    }
					});
				}
			})
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="less">
	/*每个页面公共css */
	@import url("@/common/css/global.css");
	@import url("@/common/css/index.less");
</style>

封装完成之后在pages页面里(自定义组件或页面里)获取全局变量即可:

pages页面里获取:

onLoad() {
    //获取全局变量 赋值后处理业务逻辑
	let app = getApp();
    this.userLoginFlag = app.globalData.userLogin;
	console.log(app.globalData.userLogin);
}

自定义组件或者页面(组件生命周期): 

created() {
	//拿到全局变量
	let app = getApp();
	console.log(app.globalData.userLogin);
	this.userLoginFlag = app.globalData.userLogin;
}

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JOJORiny

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值