UNPKG

unserver-unify

Version:

122 lines (117 loc) 4.36 kB
angular.module('bamboo.common').service('loginDlgSvs', function(loginService, $state, $uibModal, CommonService, $timeout, ApiService, $filter, $localStorage, deviceDetector, $translate) { // body... var self = this; self.login = { domain: loginService.subDomain }; var resetPwdOpts = { size: "md-lg vertical-align-center", animation: true, backdrop: 'static', component: 'resetPwdComponent', keyboard: false, resolve: { reason: function() { return self.changePwdReason; } } } this.openLoginDialog = function() { var options = { templateUrl: 'app/login/login.dlg.html', controller: 'LoginDlgCtrl', controllerAs: 'ctrl', size: "md-lg vertical-align-center", backdrop: 'static' } if (loginService.school.loginTheme) { switch (loginService.school.loginTheme) { case 't1': options.templateUrl = "app/login/login.dlg1.html"; break; case 't2': options.templateUrl = "app/login/login.dlg2.html"; break; } } $uibModal.open(options).result.then(function(login) { if (!login) {} else if (login.forgotPassword) { $state.go('index.request-reset-pwd'); } else if (login.showagreement) { $timeout(function() { $state.go('index.agreement'); }, 500) } else if (login.enviroment) { $timeout(function() { $state.go('index.enviroment'); }, 500) } else { self.login = login; self.loginMe(); } }); }; self.showWelcomeDlg = function() { if (loginService.school.welcomedoc) { ApiService.get("/schooldoc/" + loginService.school.welcomedoc).then(function(result) { // console.log(result); if (result.data.success) { var content = result.data.data.detail; if (content && content.length > 10) { CommonService.showHTML('Welcome Message', content); } } }) } } self.loginMe = function() { self.login.domain = loginService.subDomain; self.login.ownername = loginService.school.name; self.login.url = ApiService.HOST + "#/active_account"; loginService.login(self.login).then(function(user) { console.info(user); if (!user) { return; } else if ((!user.loginCounter || user.loginCounter < 2) && loginService.school.welcomedoc) { } var now = new Date(); var expireDate = new Date(loginService.school.expire); var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds var diffDays = Math.round(Math.abs((expireDate.getTime() - now.getTime()) / (oneDay))); if (diffDays <= 14 && user.role == "admin") CommonService.showNoBlockErr('Your account will expire after ' + diffDays + ' days !'); $state.reload(); console.info($state.current.name); if ($state.current.name == 'index.reset-pwd') { $state.go('index.home'); } if ($state.current.name == '403') { $state.go('index.home'); } if (deviceDetector.isMobile() && !deviceDetector.isTablet()) { $state.go('index.home', {}, { reload: true }); } if (user && ( user.loginCounter < 2 || !user.loginCounter)) { self.changePwdReason = $translate.instant('ChangePwdReason1'); $uibModal.open(resetPwdOpts); $localStorage.FORCE_RESET_PWD = true; $localStorage.FORCE_RESET_PWD_REASON = self.changePwdReason; } else if (user && user.passNeedToUpdate) { self.changePwdReason = $translate.instant('ChangePwdReason2'); $uibModal.open(resetPwdOpts); $localStorage.FORCE_RESET_PWD = true; $localStorage.FORCE_RESET_PWD_REASON = self.changePwdReason; //console.info(pwdService.FORCE_RESET_PWD); } }, function(reason) { if (reason.data.errorcode && reason.data.errorcode == 1001) { CommonService.showError($filter('trans')({ eng: 'The account is not actived, please check email ' + reason.data.email, chn: '账户还未激活,请检查邮箱 ' + reason.data.email })); } CommonService.showError(reason); }); }; });