uni-app简单监听登录状态改变

应用场景一般是:

页面A,用户执行操作
    -->需要登录后操作
        -->引导至登录页登录
            -->登录成功后:1、跳转至某一指定页面   或    2、 navigateBack()上一页(页面A)

①跳转至某一指定页面(注:没有uniapp的自动缓存,页面会刷新,可通过watch监听用户登录状态,如下)

data(){
    return{
        userToken: uni.getStorageSync('usertoken')||'',
    }
}

watch:{
    userToken: function(){  //监听登录状态改变
        //do something
    },
},

②navigateBack()上一页(注:返回上一页,有uniapp的自动缓存,页面不刷新。可以在onShow里监听用户登录状态,如下)

data(){
    return{
        userToken: uni.getStorageSync('usertoken')||'',
    }
}
onShow() {
    if(!this.userToken){  //监听登录状态改变:未登录->已登录
        this.userToken=uni.getStorageSync('usertoken')||''
        if(this.userToken){
            //do something
        }
    }else if(this.userToken){  //监听登录状态改变:已登录->未登录
        this.userToken=uni.getStorageSync('usertoken')||''
        if(!this.userToken){
            //do something
        }
    }
},
//注:一般情况是监听用户未登录->已登录。所以根据需要写即可,else if后面的代码可不写。
原文地址:https://www.cnblogs.com/huihuihero/p/15029064.html