main.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. permission: 6,//当前用户权限等级,默认为最低等级
  37. userInfo: {}
  38. }
  39. //角色以及权限
  40. var permission = {
  41. superadmin: 10,//超级管理员
  42. manager: 8,//厂商
  43. agent: 8,//代理商
  44. dealer: 7,//经销商
  45. advertiser: 6,//广告商
  46. }
  47. $scope.$on('refreshUserInfo',function(){
  48. console.log("refreshUserInfo")
  49. refreshUserInfo()
  50. });
  51. function refreshUserInfo() {
  52. $http.get('/ad/getAdvertiserInfo', {}).then(function (data) {
  53. data = data.data
  54. if (data.payload) {
  55. var userInfo = $scope.app.userInfo;
  56. var payload = data.payload;
  57. userInfo.nickname = payload.nickname;
  58. userInfo.brandName = payload.brandName;
  59. userInfo.logo = payload.logo;
  60. userInfo.role = payload.role || 6;//默认为最低
  61. userInfo.quota = payload.quota;
  62. $scope.app.permission = permission[userInfo.role];
  63. }
  64. });
  65. }
  66. refreshUserInfo();
  67. // save settings to local storage
  68. if (angular.isDefined($localStorage.settings)) {
  69. $scope.app.settings = $localStorage.settings;
  70. } else {
  71. $localStorage.settings = $scope.app.settings;
  72. }
  73. $scope.$watch('app.settings', function () {
  74. if ($scope.app.settings.asideDock && $scope.app.settings.asideFixed) {
  75. // aside dock and fixed must set the header fixed.
  76. $scope.app.settings.headerFixed = true;
  77. }
  78. // save to local storage
  79. $localStorage.settings = $scope.app.settings;
  80. }, true);
  81. // angular 翻译
  82. $scope.lang = {isopen: false};
  83. $scope.langs = {en: 'English', de_DE: 'German', it_IT: 'Italian'};
  84. $scope.selectLang = "中文";
  85. $scope.setLang = function (langKey, $event) {
  86. // set the current lang
  87. $scope.selectLang = $scope.langs[langKey];
  88. // You can change the language during runtime
  89. $scope.lang.isopen = !$scope.lang.isopen;
  90. };
  91. function isSmartDevice($window) {
  92. // Adapted from http://www.detectmobilebrowsers.com
  93. var ua = $window['navigator']['userAgent'] || $window['navigator']['vendor'] || $window['opera'];
  94. // Checks for iOs, Android, Blackberry, Opera Mini, and Windows mobile devices
  95. return (/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/).test(ua);
  96. }
  97. }]);