欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

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

作者 : 自学哈 本文共2389个字,预计阅读时间需要6分钟 2022-10-30 共143人阅读
也想出现在这里? 联系我们

新建的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>
    /*每个页面公共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;
}
本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」uni-app微信小程序封装全局判断是否登录方法结合全局变量
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号