如果用户已经在nativescript-vue中登录,如何将用户直接重定向到首页?

时间:2019-02-20 05:59:33

标签: nativescript nativescript-vue

如果用户已经登录,我想将其重定向到主页,否则将其重定向到登录页面。

如何在nativescript-vue中解决此问题?

3 个答案:

答案 0 :(得分:0)

我假设您要将Login组件传递给app.js中的render函数。您可以在此处编写条件语句,如果用户已经登录,则通过Home组件。

如果您必须通过服务器验证令牌,则可以使用加载页面,也可以在完成验证后导航到“清除历史记录”选项。

答案 1 :(得分:0)

您还可以检查数据库(例如sqlite或loki)的登录状态,在我的情况下,我从app.js检查数据库,然后如果状态为1转到主页,否则转到登录页面,不使用{N} vue但是普通的(香草Js),却是相同的,来自App.js的Heres代码

if (  model.isAvailable ==true) {
    var whichPage=true;
    console.log(" User found");
}else{
    whichPage=false;
        console.log("Going to Acount page !");
}

var pageToload= whichPage ? "home":"status";
application.start({ moduleName: pageToload })
;```
Change it to how you like to handle it, model.isAvaillable() is a function that checks the Db for login status

答案 2 :(得分:0)

根据文档(https://nativescript-vue.org/en/docs/routing/vue-router/),目前似乎不支持Vue Router。

您可能可以通过以下方式实现您想要做的事情:

const token = localStorage.getItem('token')

const shopId = localStorage.getItem('shop_id')

let userLoggedIn = false

if (token && shopId) { userLoggedIn = true }

new Vue({ render: h => h('Frame', [h(userLoggedIn ? Home : App)]) }).$start()

我尝试使用您在2/20上提供的逻辑。