uniapp 返回页面刷新/小程序获取用户信息之后登录和退出登录

一、返回页面刷新

1.进页面获取数据 onload
当返回页面时,比如从a页面到b页面,b页面返回a页面时,不会再执行onload,要用onshow。

二、小程序登录和退出登录

1.先在首页onload里判断是否有登录存的数据

onLoad() {
			//是否登录
			let loginShow = uni.getStorageSync('uerInfo');
			console.log(loginShow)
			if (!loginShow) {
				this.loginshow = true;//是否显示登录弹窗的控制隐藏,如果loginshow为空,就是没有登录,就显示是否去登录弹窗
			} else {
			}
		},

2.如果没登录,在点击弹窗去的去登录后,用uniapp的button open-type=“getUserInfo” 属性获取用户信息,如头像姓名等,(必须是button,否则没有获取授权的弹窗)
html:

<button @click="test" open-type="getUserInfo" type="primary"
						style="height: 60upx;line-height: 60upx;font-size: 32upx;">授权登录</button>

js

			test() {
				let that = this;
				let dataVuex = {};//用来放循序存储的数据
				uni.login({ //uniapp login方法,可以看文档
					provider: 'qq',
					success: (loginRes) => {
						//console.log(loginRes);通过login获取到code,把code传给后台,
						uni.request({
							url: 'https://
UniApp开发小程序中,判断用户登录是否超时通常涉及到与服务器之间的交互以及本地存储或缓存用户登录状态。你可以通过以下几个步骤来实现这个功能: 1. **设置登录凭证过期时间**: 在服务器端给每个登录请求返回一个有效期较长的token,比如JWT(JSON Web Tokens),并附带一个过期时间。 2. **本地保存登录状态**:在客户端,可以将接收到的token过期时间保存在本地,如`wx.setStorageSync`(微信小程序)或`uni.setStorage`(H5页面)。 3. **定时检查登录状态**:在后台或者前端定期(比如每隔一段时间)检查本地的登录信息。如果发现token已过期,说明登录已经超时。 4. **刷新登录状态**:当检测到登录超时时,触发登录提示,让用户重新登录。如果支持自动续签或刷新令牌,可以在请求头带上过期的token尝试获取新的token。 5. **处理登出情况**:用户主动登出或退出应用时,清除本地存储的登录信息。 **示例代码片段(微信小程序):** ```javascript // 检查登录状态函数 async checkLoginTimeout() { const token = wx.getStorageSync('userToken'); if (!token || this.isTokenExpired(token)) { // 登录超时或未登录,跳转至登录页 wx.navigateTo({ url: '/pages/login/login' }); } } // 判断token是否过期 isTokenExpired(token) { const expirationTime = getExpirationTimeFromServer(token); // 获取服务器返回的过期时间 return new Date().getTime() > expirationTime; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值