在Framework7 Core中登录后如何重定向到仪表板?

时间:2020-07-20 05:27:32

标签: javascript html jquery ajax html-framework-7

我对Framework7非常陌生。我正在创建一个将出现登录屏幕的应用程序。按下登录按钮后,我将用户名和令牌保存在localstorage中,并导航至仪表板。但是它不起作用。这些值已进入本地存储,但无法重定向到dashbord。同样在应用程序初始化上,我正在检查是否设置了localstorage,如果在那里,则重定向到仪表板,否则将打开登录页面。请帮忙。谢谢。

这是我的index.html

<!DOCTYPE html>
<html>
  <head>
    <!-- Required meta tags-->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui, viewport-fit=cover">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <!-- Color theme for statusbar -->
    <meta name="theme-color" content="#2196f3">
    <!-- Your app title -->
    <title>My App</title>
    <!-- Path to Framework7 Library Bundle CSS -->
    <link rel="stylesheet" href="css/framework7.bundle.min.css">
    <!-- Path to your custom app styles-->
    <link rel="stylesheet" href="css/my-app.css">
  </head>
  <body class='color-theme-deeporange'>
    <!-- App root element -->
    <div id="app">
      <div class="panel panel-left panel-reveal panel-resizable panel-init">
        <div class="block">
          <p>Left Panel content here</p>
          <p><a class="panel-close" href="#">Close me</a></p>
          <p><a class="link logout" href="#">Log Out</a></p>
        </div>
      </div>
      
      <!-- Your main view, should have "view-main" class -->
      <div class="view view-main">
         

          <!-- Bottom Toolbar -->
          <div class="toolbar toolbar-bottom">
            <div class="toolbar-inner">
              <p class="powered_by_footer">Powered By Framework7</p>
            </div>
          </div> 

        <!-- Initial Page, "data-name" contains page name -->
        <div data-name="home" class="page no-navbar no-toolbar no-swipeback" >
          <!-- Scrollable page content -->
          <div class="page-content">
            <div class="page login-screen-page">
              <div class="page-content login-screen-content">
                
                <div class="login-screen-title">
                  <div class="center">
                    <img class='index_page_logo' src='imgs/dish.png' />
                  </div>
                </div>

                <form method="post">
                  <div class="list">
                    <ul>
                      <li class="item-content item-input item-input-with-info">
                        <div class="item-inner">
                          <div class="item-title item-label">Email/Mobile</div>
                          <div class="item-input-wrap">
                            <input type="text" id='username' name="username" placeholder="Your Email / Mobile" required validate>
                            <span class="input-clear-button"></span>
                            <div class="item-input-info"></div>
                          </div>
                        </div>
                      </li>
                      <li class="item-content item-input">
                        <div class="item-inner">
                          <div class="item-title item-label">Password</div>
                          <div class="item-input-wrap">
                            <input type="password" id='password' name="password" placeholder="Your password" required validate>
                            <span class="input-clear-button"></span>
                            <div class="item-input-info"></div>
                          </div>
                        </div>
                      </li>
                    </ul>
                  </div>
                  <div class="list">
                    <div class="block">
                      <div class="row">
                        <button id='login' class="col button button-fill">LOG IN</button>
                        <!-- <a  id='login' class="col button button-fill link" href='/dashboard/' >LOG IN</a> -->
                      </div>
                    </div>
                    <div class="block-footer">
                      <p>New User ? <a href='/register/'>Register Here</a></p>
                      <p>Forgot Password ? <a href="/forgot-password/" class="close-login-screen">Click Here</a></p>
                    </div>
                  </div>
                </form>
              </div>
            </div>    
          </div>
        </div>

      </div>
    </div>
    <!-- Path to Framework7 Library Bundle JS-->
    <script type="text/javascript" src="js/framework7.bundle.min.js"></script>
    <!-- Path to your app js-->
    <script type="text/javascript" src="js/routes.js"></script>
    <script type="text/javascript" src="js/my-app.js"></script>
    
  </body>

这是我的app.js

// Init App
var app = new Framework7({
    id: 'test',
    root: '#app',
    routes: routes
});
        
var $$ = Dom7;
var mainView = app.views.create('.view-main',{
    dynamicNavbar: true
});
    
var username = localStorage.getItem('username');          // CHECK USER LOGIN
var password = localStorage.getItem('password');          // CHECK USER LOGIN
var is_logged_in = localStorage.getItem('is_logged_in');          // CHECK USER LOGIN

if(username !="" && username !=null && password !="" && password !=null)
{  
    console.log('dashboard');
    mainView.router.load({url:'pages/home.html', ignoreCache:true, reloadCurrent:true  });
}
else
{
    console.log('login');
    mainView.router.load({url:'index.html', ignoreCache:true, reloadCurrent:true  });
}

//login
$$('#login').on('click',function()
{
    alert('Login pressed');
    var username = $$('#username').val();
    var password = $$('#password').val();

    if(username != '' && password !='')
    {
        alert('not blank');
        localStorage.setItem("username", username);
        localStorage.setItem("password", password);
        localStorage.setItem("is_logged_in", '1');
        mainView.router.load({url:'pages/home.html', ignoreCache:true, reloadCurrent:true  });
    }
    else
    {
     alert('Please enter username & password');
    }
});

这是我的routes.js

var routes = [
  // Index page
  {
    path: '/',
    url: './index.html',
    name: 'home',
    options: {
      transition: 'f7-parallax',
    },
  },
  // Components
  {
    path: '/dashboard/',
    url: './pages/home.html',
    name:'dashboard',
    options: {
      transition: 'f7-parallax',
    },
  },
]

最后是dashboard.html

<template>
<!-- Page, data-page contains page name-->
<div data-page="dashboard" class="page" data-name='dashboard'>

    <!-- TOP NAVBAR-->
    <div class="navbar">
        <div class="navbar-inner sliding">
            <div class="title">Awesome App</div>
            <div class="right">
                <a href="#" class="link button panel-open" data-panel=".panel-left">
                    <i class="icon icon-bars"></i>
                    <span>Menu</span>
                </a>
            </div>
        </div>
    </div>

    <!-- Scrollable page content-->
    <div class="page-content">
        <div class="content-block">
            <div class="content-block-inner">
                <div class="card">
                    <div class="card-header">New Releases:</div>
                    <div class="card-content">
                        Dashboard
                    </div>
                </div>
            </div>
        </div>
    </div>    
</div>    
<template>

  1. 列表项

0 个答案:

没有答案