我们可以为单页应用程序提供两个入口点吗?

Can we provide two entry points for single page application?

本文关键字:两个 入口 单页 应用程序 我们      更新时间:2023-09-26

我正在做一个单页应用程序。我们的第一页是登录页,我们输入用户名和密码。

现在客户端给了我们一个新的要求,为管理员用户提供一个单独的登录页面。在Admin登录页面应该有一个额外的下拉列表。

他们需要两个url为我们的应用程序。一个为管理员用户和一个为普通用户。

据我所知,我们不能在单页应用程序中添加两个HTML页面。只能更改内部视图。但是我怎样才能确定应该显示哪个登录视图呢?

我想不出一个方法来做这件事。

你可以为登录路由设置一个动态路由:

var Router = Backbone.Router.extend({
    routes: {
        "login/:id":        "login"  // #login/user or #login/admin
    },
    login: function(id, page) {
        if(id === "user"){
            //render user login view
        }else if(id === "admin"){
            //render admin login view
        }
    }
});

这是链接

我已经根据我的项目框架修改了你的代码。

我在应用程序初始化时给出了以下内容:

var mode = location.hash.substring(1).toLowerCase();
if (mode == "admin") {
    sessionStorage.isAdmin = true;
}
else {
    sessionStorage.isAdmin = false;
}

在渲染视图时,我给出了以下代码:

if (sessionStorage.isAdmin == "true") {
    var template = _.template(adminTemplate);
}
else {
    var template = _.template(loginTemplate);
}

我希望这种方法是正确的:)