整理了一下登陆接口
This commit is contained in:
parent
139c985ce2
commit
bb54981f81
11
app.js
11
app.js
|
|
@ -23,10 +23,17 @@ app.use(bodyParser.json());
|
||||||
app.use(bodyParser.urlencoded({
|
app.use(bodyParser.urlencoded({
|
||||||
extended: false
|
extended: false
|
||||||
}));
|
}));
|
||||||
app.use(cookieParser('Wilson'));
|
app.use(cookieParser());
|
||||||
|
|
||||||
app.use(session({
|
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(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
app.use('/', routes);
|
app.use('/', routes);
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
<script src="/scripts/directives/menus-directive.js"></script>
|
<script src="/scripts/directives/menus-directive.js"></script>
|
||||||
<script src="/scripts/controllers/bookmarks-controller.js"></script>
|
<script src="/scripts/controllers/bookmarks-controller.js"></script>
|
||||||
<script src="/scripts/controllers/home-controller.js"></script>
|
<script src="/scripts/controllers/home-controller.js"></script>
|
||||||
|
<script src="/scripts/controllers/login-controller.js"></script>
|
||||||
<script src="/scripts/controllers/tags-controller.js"></script>
|
<script src="/scripts/controllers/tags-controller.js"></script>
|
||||||
<script src="/scripts/controllers/menus-controller.js"></script>
|
<script src="/scripts/controllers/menus-controller.js"></script>
|
||||||
<script src="/scripts/controllers/edit-controller.js"></script>
|
<script src="/scripts/controllers/edit-controller.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,8 @@ app.config(function($stateProvider, $urlRouterProvider) {
|
||||||
templateUrl: '/views/bookmarks.html',
|
templateUrl: '/views/bookmarks.html',
|
||||||
params: {
|
params: {
|
||||||
foo: null,
|
foo: null,
|
||||||
bar: null
|
bar: null,
|
||||||
|
showStyle: 'table',
|
||||||
},
|
},
|
||||||
controller: 'bookmarksCtr'
|
controller: 'bookmarksCtr'
|
||||||
})
|
})
|
||||||
|
|
@ -33,7 +34,13 @@ app.config(function($stateProvider, $urlRouterProvider) {
|
||||||
})
|
})
|
||||||
.state('login', {
|
.state('login', {
|
||||||
url: '/login',
|
url: '/login',
|
||||||
templateUrl: '/views/login.html'
|
templateUrl: '/views/login.html',
|
||||||
|
params: {
|
||||||
|
foo: null,
|
||||||
|
bar: null,
|
||||||
|
showStyle: 'table',
|
||||||
|
},
|
||||||
|
controller: 'loginCtr'
|
||||||
})
|
})
|
||||||
.state('/', {
|
.state('/', {
|
||||||
url: '/',
|
url: '/',
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
app.controller('homeCtr', ['$scope', '$stateParams', '$filter', '$window', 'bookmarkService', 'pubSubService', function($scope, $stateParams, $filter, $window, bookmarkService, pubSubService) {
|
app.controller('homeCtr', ['$scope', '$stateParams', '$filter', '$window', 'bookmarkService', 'pubSubService', function($scope, $stateParams, $filter, $window, bookmarkService, pubSubService) {
|
||||||
console.log('Hello homeCtr......');
|
console.log('Hello homeCtr......');
|
||||||
var params = {
|
var params = {
|
||||||
a: 1111
|
userName: 'luchenqun',
|
||||||
|
pwd: '123456',
|
||||||
};
|
};
|
||||||
bookmarkService.autoLogin(params).then(
|
bookmarkService.autoLogin(params).then(
|
||||||
function(data) {
|
function(data) {
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}]);
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope, $state, pubSubService) {
|
app.controller('menuCtr', ['$scope', '$stateParams', '$state', 'pubSubService', 'bookmarkService', function($scope, $stateParams, $state, pubSubService, bookmarkService) {
|
||||||
$scope.login = false; /**< 是否登陆 */
|
$scope.login = $stateParams.login && false; /**< 是否登陆 */
|
||||||
$scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */
|
$scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||||
$scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */
|
$scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||||
$scope.keyword = ''; /**< 搜索关键字 */
|
$scope.keyword = ''; /**< 搜索关键字 */
|
||||||
|
|
@ -17,6 +17,11 @@ app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope,
|
||||||
// }, 0);
|
// }, 0);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
pubSubService.subscribe('loginCtr.login', $scope, function(event, params) {
|
||||||
|
$scope.login = params.login;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// 登陆之后显示的菜单数据。uiSerf:内部跳转链接。
|
// 登陆之后显示的菜单数据。uiSerf:内部跳转链接。
|
||||||
$scope.loginMenus = [{
|
$scope.loginMenus = [{
|
||||||
uiSref: 'bookmarks',
|
uiSref: 'bookmarks',
|
||||||
|
|
@ -70,6 +75,24 @@ app.controller('menuCtr', ['$scope', '$state', 'pubSubService', function($scope,
|
||||||
'action': 'add'
|
'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() {
|
function semanticInit() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,34 @@
|
||||||
app.factory('bookmarkService', ['$http', '$q', function($http, $q) {
|
app.factory('bookmarkService', ['$http', '$q', function($http, $q) {
|
||||||
// service interface
|
// service interface
|
||||||
var service = {
|
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) {
|
autoLogin: function(params) {
|
||||||
var def = $q.defer();
|
var def = $q.defer();
|
||||||
$http.get('/api/autoLogin/', {
|
$http.get('/api/autoLogin/', {
|
||||||
|
|
|
||||||
|
|
@ -1 +1,3 @@
|
||||||
<p> 这是书签的介绍 </p>
|
<p>
|
||||||
|
这是书签的介绍
|
||||||
|
</p>
|
||||||
|
|
|
||||||
|
|
@ -48,11 +48,11 @@
|
||||||
<div class="ui button" ng-click="showAddBookmarkMoadl()" ui-sref="bookmarks">添加书签</div>
|
<div class="ui button" ng-click="showAddBookmarkMoadl()" ui-sref="bookmarks">添加书签</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="ui button">退出</div>
|
<div class="ui button" ng-click="logout()">退出</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui small menu js-not-login-in" ng-if="!login">
|
<div class="ui small menu js-not-login-in" ng-if="!login">
|
||||||
<a class="item" ng-class="{active:$index==selectNotLoginIndex}" ui-sref="{{ menu.uiSref}}" ng-click="selectMenu($index, login)" ng-repeat="menu in notLoginMenus">{{ menu.title}}</a>
|
<a class="item" ng-class="{active:$index==selectNotLoginIndex}" ui-sref="{{ menu.uiSref}}" ui-sref-opts="{reload: true}" ng-click="selectMenu($index, login)" ng-repeat="menu in notLoginMenus">{{ menu.title}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,56 @@ var client = mysql.createConnection({
|
||||||
});
|
});
|
||||||
client.connect();
|
client.connect();
|
||||||
|
|
||||||
api.get('/autoLogin', function(req, res) {
|
api.post('/logout', function(req, res) {
|
||||||
console.log('autoLogin......');
|
var params = req.body.params;
|
||||||
res.json({
|
console.log('logout......', params);
|
||||||
data: "autoLogin reply",
|
var userName = params.userName;
|
||||||
|
req.session.destroy(function(err) {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
res.json({
|
||||||
|
data: "logout success",
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
api.post('/login', function(req, res) {
|
||||||
|
var params = req.body.params;
|
||||||
|
console.log('login......', params);
|
||||||
|
var userName = params.userName;
|
||||||
|
var pwd = params.pwd;
|
||||||
|
var logined = Math.random() > 0.5;
|
||||||
|
if (logined) {
|
||||||
|
res.cookie('isLogin', userName, {
|
||||||
|
maxAge: 60000
|
||||||
|
});
|
||||||
|
req.session.userName = userName;
|
||||||
|
console.log(req.session.userName);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
res.json({
|
||||||
|
logined: logined,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
api.get('/autoLogin', function(req, res) {
|
||||||
|
console.log('autoLogin......', req.body.params);
|
||||||
|
// if (req.cookies.isLogin) {
|
||||||
|
// console.log('cookies:' + req.cookies.isLogin);
|
||||||
|
// req.session.userName = req.cookies.isLogin;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (req.session.userName) {
|
||||||
|
console.log('session:' + req.session.userName);
|
||||||
|
res.json({
|
||||||
|
data: "you have auto login",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res.json({
|
||||||
|
data: "Please Login",
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
api.get('/bookmarks', function(req, res) {
|
api.get('/bookmarks', function(req, res) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue