uni开发app 设置自动登录时的问题解决

参考文档:https://www.it610.com/article/1306143038938058752.htm

在使用uniapp开发APP的时候,很多时候需要用到自动登录功能,由于uniapp默认显示的第一页是在pages.json中设置的第一项,如果我们将登录页设置为pages.json中第一项的话,在自动登录首页的时候会从登录页一闪而过;如果设置首页为pages.json中第一项的话第一次登录App则会从首页一闪而过,如果是多身份登录的App则设置哪一个身份的首页当做第一显示页面也都不合适。

解决方法:
  • 修改默认的启动界面参数,当页面加载完毕再手动关闭启动页面;
    设置空白页作为第一启动页
  1. 首先修改manifest.json配置文件关闭默认启动界面
"app-plus" : {
        "usingComponents" : true,
        "nvueCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : { // 主要是修改该对象下的参数
            "alwaysShowBeforeRender" : false,
            "waiting" : false,
            "autoclose" : false,
            "delay" : 0
        },
        ...
}
  1. 然后在App生命周期onShow或者在你需要的地方手动关闭启动界面,设置的延迟时间不宜过长,不建议超过6s,跳转到指定页面
onShow: function() {
    // 配置1秒后自动关闭启动页
    setTimeout(() => {
        // #ifdef APP-PLUS
        plus.navigator.closeSplashscreen();
        // #endif
    }, 1000);
            
    // 当启动页关闭时,页面已经跳转到对应页面了
    let isLogin = uni.getStorageSync('isLogin')
    if (isLogin) {
        uni.redirectTo({
            url: '/pages/dormManager/index'
        })
    }
},

你可能感兴趣的:(uni开发app 设置自动登录时的问题解决)