diff --git a/app.js b/app.js index e2cb1ac..8854d0c 100644 --- a/app.js +++ b/app.js @@ -23,10 +23,17 @@ app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); -app.use(cookieParser('Wilson')); +app.use(cookieParser()); + app.use(session({ - secret: 'wilson' + resave: false, //添加这行 + saveUninitialized: true, //添加这行 + secret: 'ILoveYiJia', // 建议使用 128 个字符的随机字符串 + cookie: { + maxAge: 60 * 1000 + } })); + app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); diff --git a/public/index.html b/public/index.html index f6d7293..8bfa59a 100644 --- a/public/index.html +++ b/public/index.html @@ -33,6 +33,7 @@ + diff --git a/public/scripts/app-angular.js b/public/scripts/app-angular.js index 7530e43..2b4570a 100644 --- a/public/scripts/app-angular.js +++ b/public/scripts/app-angular.js @@ -10,7 +10,8 @@ app.config(function($stateProvider, $urlRouterProvider) { templateUrl: '/views/bookmarks.html', params: { foo: null, - bar: null + bar: null, + showStyle: 'table', }, controller: 'bookmarksCtr' }) @@ -33,7 +34,13 @@ app.config(function($stateProvider, $urlRouterProvider) { }) .state('login', { url: '/login', - templateUrl: '/views/login.html' + templateUrl: '/views/login.html', + params: { + foo: null, + bar: null, + showStyle: 'table', + }, + controller: 'loginCtr' }) .state('/', { url: '/', diff --git a/public/scripts/controllers/home-controller.js b/public/scripts/controllers/home-controller.js index 78850a2..45b84c4 100644 --- a/public/scripts/controllers/home-controller.js +++ b/public/scripts/controllers/home-controller.js @@ -1,7 +1,8 @@ app.controller('homeCtr', ['$scope', '$stateParams', '$filter', '$window', 'bookmarkService', 'pubSubService', function($scope, $stateParams, $filter, $window, bookmarkService, pubSubService) { console.log('Hello homeCtr......'); var params = { - a: 1111 + userName: 'luchenqun', + pwd: '123456', }; bookmarkService.autoLogin(params).then( function(data) { diff --git a/public/scripts/controllers/login-controller.js b/public/scripts/controllers/login-controller.js new file mode 100644 index 0000000..8feab48 --- /dev/null +++ b/public/scripts/controllers/login-controller.js @@ -0,0 +1,29 @@ +app.controller('loginCtr', ['$scope', '$filter', '$state', 'bookmarkService', 'pubSubService', function($scope, $filter, $state, bookmarkService, pubSubService) { + console.log("Hello loginCtr..."); + login({ + userName: 'luchenqun', + pwd: '123456', + }); + + function login(params) { + bookmarkService.login(params).then( + function(data) { + console.log(data); + if (data.logined) { + pubSubService.publish('loginCtr.login', { + 'login': data.logined, + }); + $state.go('bookmarks', { + showStyle: 'navigate', + }) + } else { + console.log('login failed......................') + } + }, + function(errorMsg) { + console.log(errorMsg); + } + ); + } + +}]); diff --git a/public/scripts/controllers/menus-controller.js b/public/scripts/controllers/menus-controller.js index 5ddab67..b25dd61 100644 --- a/public/scripts/controllers/menus-controller.js +++ b/public/scripts/controllers/menus-controller.js @@ -1,5 +1,5 @@ -app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope, $state, pubSubService) { - $scope.login = false; /**< 是否登陆 */ +app.controller('menuCtr', ['$scope', '$stateParams', '$state', 'pubSubService', 'bookmarkService', function($scope, $stateParams, $state, pubSubService, bookmarkService) { + $scope.login = $stateParams.login && false; /**< 是否登陆 */ $scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */ $scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */ $scope.keyword = ''; /**< 搜索关键字 */ @@ -17,6 +17,11 @@ app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope, // }, 0); // } + pubSubService.subscribe('loginCtr.login', $scope, function(event, params) { + $scope.login = params.login; + }); + + // 登陆之后显示的菜单数据。uiSerf:内部跳转链接。 $scope.loginMenus = [{ uiSref: 'bookmarks', @@ -70,6 +75,24 @@ app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope, 'action': 'add' }); } + $scope.logout = function() { + var params = { + userName: 'luchenqun' + }; + bookmarkService.logout(params).then( + function(data) { + console.log('logout..........', data) + $scope.login = false; + $state.go('login', { + foo: 'i love you', + bar: 'hello world' + }) + }, + function(errorMsg) { + console.log(errorMsg); + } + ); + } function semanticInit() { setTimeout(() => { diff --git a/public/scripts/services/bookmark-service.js b/public/scripts/services/bookmark-service.js index 9355e8a..7e697f2 100644 --- a/public/scripts/services/bookmark-service.js +++ b/public/scripts/services/bookmark-service.js @@ -1,6 +1,34 @@ app.factory('bookmarkService', ['$http', '$q', function($http, $q) { // service interface var service = { + login: function(params) { + var def = $q.defer(); + $http.post('/api/login/', { + params: params + }) + .success(function(data) { + def.resolve(data); + }) + .error(function(data) { + console.log('Error: ' + data); + def.reject('Failed to get todos'); + }); + return def.promise; + }, + logout: function(params) { + var def = $q.defer(); + $http.post('/api/logout/', { + params: params + }) + .success(function(data) { + def.resolve(data); + }) + .error(function(data) { + console.log('Error: ' + data); + def.reject('Failed to get todos'); + }); + return def.promise; + }, autoLogin: function(params) { var def = $q.defer(); $http.get('/api/autoLogin/', { diff --git a/public/views/home.html b/public/views/home.html index b2aee9d..7cbbe5b 100644 --- a/public/views/home.html +++ b/public/views/home.html @@ -1 +1,3 @@ -
这是书签的介绍
++ 这是书签的介绍 +
diff --git a/public/views/menus.html b/public/views/menus.html index bbd2dbe..712a4ee 100644 --- a/public/views/menus.html +++ b/public/views/menus.html @@ -48,11 +48,11 @@