gpt4 book ai didi

user-interface - 使用 ionic 和 Material 设计登录

转载 作者:行者123 更新时间:2023-12-04 08:26:24 25 4
gpt4 key购买 nike

我有一个带有侧菜单和所有内容的 ionic 项目。
现在我想以简单的方式添加并登录很酷的表单,比如
http://ionicmaterial.com/
但是问题我没有看到任何示例如何将它添加到令人兴奋的项目中,它将首先加载登录表单,然后将重定向到常规页面。
我的项目看起来像:

app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider

.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/menu.html",
controller: 'AppCtrl'
})
.state('app.placeslists', {
url: "/placeslists",
views: {
'menuContent': {
templateUrl: "templates/placeslists.html",
controller: 'PlaceslistsCtrl'
}
}
})

如何添加带有身份验证( token )的登录页面,它将首先加载,以及如何以简单的方式添加登录页面的 Material 。

谢谢!!!

最佳答案

为了实现登录,你需要这些东西

  • 登录状态
  • 登录模板
  • 处理代币的逻辑


  •  $stateProvider
    .state('Login', {
    url: "/Login",
    templateUrl: "app/templates/Login.html"
    })
    <ion-view view-title="Login" align-title="left">
    <ion-content style="background: url(img/login.jpg) center; background-size: cover;">
    <div class="hero no-header flat">
    <div class="content">
    <div class="app-icon"></div>
    <h1>Thronester</h1>
    </div>
    </div>
    <div class="list">
    <ion-md-input placeholder="Username" highlight-color="balanced" type="text" ng-model='user.username'></ion-md-input>
    <ion-md-input placeholder="Password" highlight-color="energized" type="password" ng-model='user.password'></ion-md-input>
    </div>
    <div class="padding">
    <button ui-sref="app.profile" class="button button-full button-assertive ink">Login</button>
    </div>
    <div class="button-bar social-login">
    <button class="button button-small button-border icon-left ion-social-google button-assertive-900" ng-click='DoLogin(user)'>Login</button>

    </div>
    </ion-content>
    </ion-view>


    在您的 DoLogin 函数中,您需要处理登录 API 并接收您的 token 。您需要存储此 token 。我使用 SQLlite 插件将我的 token 存储到 token 表中。有多种存储 token 的方式。
  • SQLite plugin
  • Local Storage
  • WebSQL
  • File ngCordova

  • 还有更多,我可以为您提供使用 SQLlite 的代码片段。

    var DB = window.sqlitePlugin.openDatabase({name: "Token.db", location: 1})

    var CreateQuery = 'CREATE TABLE IF NOT EXISTS Token (id integer primary key, access_token TEXT)'

    var InsertQuery = 'INSERT INTO Token (access_token) VALUES (?)'
    var selectQuery = 'SELECT access_token FROM Token WHERE id = 1'


    var Token = // the token you get from your server, make a $http resquest and get it



    $cordovaSQLite.execute( DB,CreateQuery ).then(function () {
    //table created
    })


    $cordovaSQLite.execute(DB, InsertQuery, [Token]).then(function(){
    // token inserted into table
    })


    $cordovaSQLite.execute(DB, selectQuery).then(function (res) {
    //getting token from table
    $rootScope.TokenFromTable = res.rows.item(0).access_token;
    })


    不要只是从代码中复制粘贴(它不会工作),您需要在放置所有这些代码的位置和顺序上构建逻辑。

    收到 authToken 后,您可以将其设置为所有 $http 请求的通用 header ,当用户单击注销时,只需删除表或删除数据库。 (浏览链接中的博客)

    关于user-interface - 使用 ionic 和 Material 设计登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719894/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com