'use strict'; /* Controllers */ angular.module('app') .controller('AppCtrl', ['$scope', '$localStorage', '$window', '$http', function ($scope, $localStorage, $window, $http) { // add 'ie' classes to html var isIE = !!navigator.userAgent.match(/MSIE/i); isIE && angular.element($window.document.body).addClass('ie'); isSmartDevice($window) && angular.element($window.document.body).addClass('smart'); // config $scope.app = { name: 'Angulr', version: '1.3.3', // for chart colors color: { primary: '#7266ba', info: '#23b7e5', success: '#27c24c', warning: '#fad733', danger: '#f05050', light: '#e8eff0', dark: '#3a3f51', black: '#1c2b36' }, settings: { themeID: 1, navbarHeaderColor: 'bg-black', navbarCollapseColor: 'bg-white-only', asideColor: 'bg-black', headerFixed: true, asideFixed: false, asideFolded: false, asideDock: false, container: false }, permission: 6,//当前用户权限等级,默认为最低等级 userInfo: {} } //角色以及权限 var permission = { superadmin: 10,//超级管理员 manager: 8,//厂商 agent: 8,//代理商 dealer: 7,//经销商 advertiser: 6,//广告商 } $scope.$on('refreshUserInfo',function(){ console.log("refreshUserInfo") refreshUserInfo() }); function refreshUserInfo() { $http.get('/ad/getAdvertiserInfo', {}).then(function (data) { data = data.data if (data.payload) { var userInfo = $scope.app.userInfo; var payload = data.payload; userInfo.nickname = payload.nickname; userInfo.brandName = payload.brandName; userInfo.logo = payload.logo; userInfo.role = payload.role || 6;//默认为最低 userInfo.quota = payload.quota; $scope.app.permission = permission[userInfo.role]; } }); } refreshUserInfo(); // save settings to local storage if (angular.isDefined($localStorage.settings)) { $scope.app.settings = $localStorage.settings; } else { $localStorage.settings = $scope.app.settings; } $scope.$watch('app.settings', function () { if ($scope.app.settings.asideDock && $scope.app.settings.asideFixed) { // aside dock and fixed must set the header fixed. $scope.app.settings.headerFixed = true; } // save to local storage $localStorage.settings = $scope.app.settings; }, true); // angular 翻译 $scope.lang = {isopen: false}; $scope.langs = {en: 'English', de_DE: 'German', it_IT: 'Italian'}; $scope.selectLang = "中文"; $scope.setLang = function (langKey, $event) { // set the current lang $scope.selectLang = $scope.langs[langKey]; // You can change the language during runtime $scope.lang.isopen = !$scope.lang.isopen; }; function isSmartDevice($window) { // Adapted from http://www.detectmobilebrowsers.com var ua = $window['navigator']['userAgent'] || $window['navigator']['vendor'] || $window['opera']; // Checks for iOs, Android, Blackberry, Opera Mini, and Windows mobile devices return (/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/).test(ua); } }]);