main.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. 'use strict';
  2. /* Controllers */
  3. angular.module('app')
  4. .controller('AppCtrl', ['$scope', '$localStorage', '$window', '$http',
  5. function ($scope, $localStorage, $window, $http) {
  6. // add 'ie' classes to html
  7. var isIE = !!navigator.userAgent.match(/MSIE/i);
  8. isIE && angular.element($window.document.body).addClass('ie');
  9. isSmartDevice($window) && angular.element($window.document.body).addClass('smart');
  10. // config
  11. $scope.app = {
  12. name: 'Angulr',
  13. version: '1.3.3',
  14. // for chart colors
  15. color: {
  16. primary: '#7266ba',
  17. info: '#23b7e5',
  18. success: '#27c24c',
  19. warning: '#fad733',
  20. danger: '#f05050',
  21. light: '#e8eff0',
  22. dark: '#3a3f51',
  23. black: '#1c2b36'
  24. },
  25. settings: {
  26. themeID: 1,
  27. navbarHeaderColor: 'bg-black',
  28. navbarCollapseColor: 'bg-white-only',
  29. asideColor: 'bg-black',
  30. headerFixed: true,
  31. asideFixed: false,
  32. asideFolded: false,
  33. asideDock: false,
  34. container: false
  35. },
  36. userInfo: {}
  37. }
  38. $http.get('/superadmin/getCurrentUserInfo', {}).then(function (data) {
  39. data = data.data
  40. if (data.payload) {
  41. var userInfo = $scope.app.userInfo;
  42. var payload = data.payload;
  43. userInfo.nickname = payload.nickname;
  44. }
  45. });
  46. // save settings to local storage
  47. if (angular.isDefined($localStorage.settings)) {
  48. $scope.app.settings = $localStorage.settings;
  49. } else {
  50. $localStorage.settings = $scope.app.settings;
  51. }
  52. $scope.$watch('app.settings', function () {
  53. if ($scope.app.settings.asideDock && $scope.app.settings.asideFixed) {
  54. // aside dock and fixed must set the header fixed.
  55. $scope.app.settings.headerFixed = true;
  56. }
  57. // save to local storage
  58. $localStorage.settings = $scope.app.settings;
  59. }, true);
  60. // angular 翻译
  61. $scope.lang = {isopen: false};
  62. $scope.langs = {en: 'English', de_DE: 'German', it_IT: 'Italian'};
  63. $scope.selectLang = "中文";
  64. $scope.setLang = function (langKey, $event) {
  65. // set the current lang
  66. $scope.selectLang = $scope.langs[langKey];
  67. // You can change the language during runtime
  68. $scope.lang.isopen = !$scope.lang.isopen;
  69. };
  70. function isSmartDevice($window) {
  71. // Adapted from http://www.detectmobilebrowsers.com
  72. var ua = $window['navigator']['userAgent'] || $window['navigator']['vendor'] || $window['opera'];
  73. // Checks for iOs, Android, Blackberry, Opera Mini, and Windows mobile devices
  74. return (/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/).test(ua);
  75. }
  76. }]);