login and save localstorage

This commit is contained in:
Jon Lambson 2017-08-09 11:28:36 -06:00
parent a6344ce60c
commit de8798f01b
8 changed files with 37 additions and 28 deletions

View File

@ -29,6 +29,7 @@
<script src="/js/lib/angular/angular.min.js" charset="utf-8"></script>
<script src="/js/lib/angular/angular-local-storage.js" charset="utf-8"></script>
<script src="/js/lib/angular/angular-ui-router.min.js" charset="utf-8"></script>
<!-- Core Files -->
<script src="/js/app.js" charset="utf-8"></script>
<!-- Services -->
<script src="/js/services/contacts.js" charset="utf-8"></script>

View File

@ -1,5 +1,3 @@
'use strict';
var app = angular.module('launchpad', ['ui.router', 'LocalStorageModule']);
app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){
@ -131,7 +129,6 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
app.run(['$rootScope', '$location', 'Auth', function ($rootScope, $location, Auth) {
$rootScope.$on('$routeChangeStart', function (event) {
if (!Auth.isLoggedIn()) {
console.log('DENY');
event.preventDefault();

View File

@ -1,12 +1,19 @@
app.controller('HomeController', ['$scope', 'Auth', 'localStorageService', '$location', function ($scope, Auth, localStorageService, $location) {
var vm = this;
// $scope.$watch(Auth.isLoggedIn, function (value, oldValue) {
// if(value) {
// console.log("LOGGED IN!!!!");
// } else if (!value && !oldValue) {
// console.log("NOT LOGGED IN!!!");
// $location.path('/splash-page');
// }
// }, true);
vm.signOut = function () {
localStorageService.remove('userAuth');
$location.path('/splash-page');
}
function userAuth() {
return JSON.parse(localStorageService.get('userAuth'));
}
$scope.$watch(Auth.isLoggedIn, function (value, oldValue) {
if (!value && !oldValue) {
$location.path('/splash-page');
}
}, true);
}]);

View File

@ -1,11 +1,18 @@
app.controller('SignInController', ['$scope', 'Auth', '$location', function ($scope, Auth, $location) {
app.controller('SignInController', ['$scope', 'Auth', '$location', 'localStorageService', function ($scope, Auth, $location, localStorageService) {
var vm = this;
vm.sign_in = function () {
// Ask to the server, do your job and THEN set the user
var user = {
email: "john@doe.com"
vm.signIn = function () {
var userInfo = {
email: vm.userAuthEmail
};
Auth.setUser(user); //Update the state of the user in the app
Auth.setUser(userInfo);
var userAuthenticated = function() {
return localStorageService.set('userAuth', JSON.stringify(userInfo));
}();
$location.path('/launchpad-home');
};
}]);

View File

@ -1,12 +1,12 @@
app.factory('Auth', [function(){
app.factory('Auth', ['localStorageService', function(localStorageService){
var user;
return{
setUser : function(aUser){
user = aUser;
setUser : function(currentUser){
user = currentUser;
},
isLoggedIn : function(){
return(user)? user : false;
user = JSON.parse(localStorageService.get('userAuth'));
return (user) ? user : false;
}
};
}]);

View File

@ -1,3 +0,0 @@
app.factory('LoginService', [function(){
}]);

View File

@ -19,13 +19,13 @@
</form>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ vm.message }} <i class="fa fa-user" aria-hidden="true"></i> <span class="caret"></span></a>
<a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ vm.message }} <i class="fa fa-user" aria-hidden="true"></i> <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="feed.html" target="_blank">Preview My Public Site</a></li>
<li><a>Account Settings</a></li>
<li role="separator" class="divider"></li>
<li><a>Switch User</a></li>
<li><a>Logout</a></li>
<li ng-click="vm.signOut()"><a>Logout</a></li>
</ul>
</li>
</ul>

View File

@ -9,6 +9,6 @@
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" placeholder="Password" ng-model="vm.userAuthPassword">
</div>
<button type="submit" class="btn btn-default" ng-click="vm.sign_in()">Submit</button>
<button type="submit" class="btn btn-default" ng-click="vm.signIn()">Submit</button>
</form>
</section>