mobileoa-common-modules
Version:
移动办公平台前端公共功能模块
62 lines (55 loc) • 1.68 kB
JavaScript
;
var angular = require('angular');
require('../modules');
require('../services/LoginService');
var module = angular.module('login.directives');
/**
* 跳转到登录页面,如果需要退出的,添加退出的属性
* <to-login-page></to-login-page> 或者<div to-login-page></div>
*
* @param {String} needLoginout
*/
module.directive('toLoginPage', function($state, LoginService, $q, $ionicActionSheet) {
return {
restict: 'EA',
scope: {
needLogout: '='
},
replace: true,
template: '<button class="bind-bt" ng-click="toLogin()">重新登录</button>',
link: function(scope) {
/**
* 跳转到登录页面
*/
scope.toLogin = function() {
return actionSheet().then(function(value) {
return value ? LoginService.logout() : true;
}).then(function() {
return $state.go('login');
});
};
function actionSheet() {
var deferred = $q.defer();
if (scope.needLogout) {
$ionicActionSheet.show({
buttons: [{
text: '<i class="icon ion-log-out sino-logout-icon"></i>退出登录'
}],
cancelText: '取消',
cancel: function() {
deferred.reject('取消登录');
return true;
},
buttonClicked: function() {
deferred.resolve(true);
return true;
}
});
} else {
deferred.resolve(false);
}
return deferred.promise;
}
}
};
});