1. 在 app.vue 中监听小程序的 onHide 生命周期事件,并设置一个标志变量 isHideApp。
```
onHide() {
this.isHideApp = true
},
```
2. 在需要退出登录的页面的 onUnload 生命周期事件中判断 isHideApp 是否为 true,如果是,则调用退出登录接口。
```
onUnload() {
if (this.isHideApp) {
// 调用退出登录接口
}
},
```
3. 在退出登录接口中,清除登录状态和用户信岩燃息等缓存粗察虚信息。
```
logout() {
// 清除缓存信息
uni.removeStorageSync('token')
uni.removeStorageSync('userInfo')
// 跳转到登录页
uni.reLaunch({
url: '/pages/login/login'
})
},
```
通过这种方式,当用户关闭小程序时,可以自动退没丛出登录,从而保证用户信息的安全性。
iOS数据监听很简单,比如登录成功之后首页、个人中心页等很多页面都需要更新数据,只需要首页和个人中心页注册通知,登录成功册答之后发送通知,首页和个人中心页就能接收到该通知,此时就可以更新数据及界面,退出桐大登录同理。小程序更新页面数据就比较费劲,之前我都是州轮慧获取上级页面,然后调用上级页面自定义方法 loadNewData 方法来刷新上级页面数据。
这种方法说实话也挺好用的,但是只能更新 wx.navigateTo 打开的页面。
官方也有页面间通信方法 EventChannel ,同样只能和 wx.navigateTo 打开的页面进行通信。
今天遇到的需求是 tabbar 切换的页面更新首页列表数据,只能各种百度,最终也实现的功能。
在首页调用
在其他页面修改 reloadIndex 的值
小程序组件有 数据监听器 ,也实现了某个功能。
参考文章:
小程序实现数据监听
小程序如何在其他页面监听globalData中值的变化?
微信小程序设置简单的监听器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)