'use strict'; /** * Config for the router */ angular.module('app') .run( ['$rootScope', '$state', '$stateParams', function ($rootScope, $state, $stateParams) { $rootScope.$state = $state; $rootScope.$stateParams = $stateParams; } ] ) .config( ['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) { function getTemplateUrl(url) { var v = new Date().format("yyyyMMddhhmm");//默认天为版本号 if (window.APP_VERSION) { v = window.APP_VERSION; } return url + "?v=" + v; } var dealerResolve = { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode, jsLib.echarts, jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker',]).then( function () { // 由于设备指令依赖 QRCode服务,需要引入,或许有更好的依赖管理方法 return $ocLazyLoad.load(['/1.0/js/services/QRCode.js', 'js/controllers/dealerManage.js']); } ); }); }] } var joinerResolve = { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode, jsLib.echarts, jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker',]).then( function () { // 由于设备指令依赖 QRCode服务,需要引入,或许有更好的依赖管理方法 return $ocLazyLoad.load(['/1.0/js/services/QRCode.js', 'js/controllers/joinerManage.js']); } ); }); }] } var devResolve = { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode, jsLib.echarts, jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker',]).then( function () { return $ocLazyLoad.load(['/1.0/js/services/QRCode.js', 'js/controllers/devManage.js']); } ); }); }] } $urlRouterProvider .otherwise('/app/chart/devChart'); $stateProvider .state('app', { url: '/app', templateUrl: getTemplateUrl('tpl/app.html') }) //广告管理 .state('app.ad', { url: '/ad', template: '
' }) .state('app.ad.manage', { url: '/manage', templateUrl: getTemplateUrl('tpl/adManage.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode, jsLib.clipboard, jsLib.moment, jsLib.momentZh, jsLib.echarts]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'angularFileUpload', 'ui.select', 'js/services/chartOptions.js']).then( function () { return $ocLazyLoad.load(['/1.0/js/services/QRCode.js', 'js/controllers/adDataGrid.js']); } ); }); }] } }) //广告下级路由:设备 .state('app.ad.manage.device', { url: '/device/:searchKey', templateUrl: getTemplateUrl('tpl/devManage.html'), resolve: devResolve }) .state('app.ad.chart', { url: '/chart', templateUrl: getTemplateUrl('tpl/adChart.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh, jsLib.echarts]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'js/services/chartOptions.js', 'ui.select', 'js/controllers/adChart.js']); }); }] } }) .state('app.ad.statistics', { url: '/statistics', templateUrl: getTemplateUrl('tpl/adStatistics.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode, jsLib.clipboard, jsLib.moment, jsLib.momentZh, jsLib.echarts]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'angularFileUpload', 'ui.select', 'js/services/chartOptions.js']).then( function () { return $ocLazyLoad.load('js/controllers/adStatisticsCtrl.js'); } ); }); }] } }) //设备统计 .state('app.chart', { url: '/chart', template: '
' }) .state('app.chart.devChart', { url: '/devChart', templateUrl: getTemplateUrl('tpl/devChart.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.echarts,jsLib.particles, "vendor/jquery/echarts/china.js",jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['js/services/chartOptions.js', 'js/controllers/devChart.js']); }); }] } }) .state('app.chart.businessStats', { url: '/businessStats', templateUrl: getTemplateUrl('tpl/businessStats.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh, jsLib.echarts,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'ui.select', 'js/controllers/businessStats.js']); }); }] } }) .state('app.chart.businessStats.charge', { url: '/charge', templateUrl: getTemplateUrl('tpl/businessStatsCharge.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['js/controllers/businessStatsCharge.js']); }); }] } }) .state('app.chart.businessStats.consumption', { url: '/consumption', templateUrl: getTemplateUrl('tpl/businessStatsConsumption.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['js/controllers/businessStatsConsumption.js']); }); }] } }) .state('app.chart.businessStats.chargeCard', { url: '/chargeCard', templateUrl: getTemplateUrl('tpl/businessStatsChargeCard.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['js/controllers/businessStatsChargeCard.js']); }); }] } }) .state('app.chart.wallet', { url: '/wallet', templateUrl: getTemplateUrl('tpl/wallet.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.echarts]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load(['js/services/chartOptions.js', 'js/controllers/walletCtrl.js']); } ); }); }] } }) //设备管理 .state('app.dev', { url: '/dev', template: '
' }) .state('app.dev.devManage', { url: '/devManage/:dealerId', templateUrl: getTemplateUrl('tpl/devManage.html'), resolve: devResolve }) .state('app.dev.joinDevManage', { url: '/joinDevManage/:dealerId', templateUrl: getTemplateUrl('tpl/joinDevManage.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'js/controllers/joinDevManage.js']); } ); }); }] } }) .state('app.dev.joinRecord', { url: '/joinRecord', templateUrl: getTemplateUrl('tpl/joinRecord.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'js/controllers/joinRecord.js']); } ); }); }] } }) .state('app.dev.upper', { url: '/devUpper', templateUrl: getTemplateUrl('tpl/devUpper.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode,]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/devUpper.js'); } ); }); }] } }) .state('app.dev.bind', { url: '/bind', templateUrl: getTemplateUrl('tpl/devBind.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['angularFileUpload',]).then( function () { return $ocLazyLoad.load('js/controllers/devBind.js'); } ); }); }] } }) .state('app.dev.config', { url: '/config', templateUrl: getTemplateUrl('tpl/devConfig.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['angularFileUpload', 'ui.select',]).then( function () { return $ocLazyLoad.load('js/controllers/devConfig.js'); } ); }); }] } }) .state('app.dev.alarm', { url: '/alarm', templateUrl: getTemplateUrl('tpl/devAlarm.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/devAlarm.js'); } ); }); }] } }) //用户管理 .state('app.user', { url: '/user', template: '
' }) .state('app.user.staff', { url: '/staff', templateUrl: getTemplateUrl('tpl/staffManage.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/staffManage.js'); } ); }); }] } }) .state('app.user.advertiser', { url: '/advertiser', templateUrl: getTemplateUrl('tpl/advertiser.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['ui.select',]).then( function () { return $ocLazyLoad.load('js/controllers/advertiser.js'); } ); }); }] } }) .state('app.user.agents', { url: '/agents', templateUrl: getTemplateUrl('tpl/agentsManage.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.clipboard, jsLib.compressor]).then(function () { return $ocLazyLoad.load(['angularFileUpload', 'ui.select',]).then( function () { return $ocLazyLoad.load('js/controllers/agentsManage.js'); } ); }); }] } }) //代理商下级经销商路由 .state('app.user.agents.dealer', { url: '/dealer/:agentId/:v', templateUrl: getTemplateUrl('tpl/dealerManage.html'), resolve: dealerResolve }) //所有经销商路由 .state('app.user.dealer', { url: '/dealer', templateUrl: getTemplateUrl('tpl/dealerManage.html'), resolve: dealerResolve }) //所有加盟商路由 .state('app.user.joiner', { url: '/joiner', templateUrl: getTemplateUrl('tpl/joinerManage.html'), resolve: joinerResolve }) .state('app.user.endUser', { url: '/endUser', templateUrl: getTemplateUrl('tpl/endUserManage.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/endUserManage.js'); } ); }); }] } }) /****结算****/ .state('app.settlement', { url: '/settlement', template: '
' }) .state('app.settlement.chargeCard', { url: '/chargeCard', templateUrl: getTemplateUrl('tpl/settlementChargeCard.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'ui.select']).then( function () { return $ocLazyLoad.load('js/controllers/settlementChargeCard.js'); } ); }); }] } }) .state('app.settlement.userCharge', { url: '/userCharge', templateUrl: getTemplateUrl('tpl/settlementUserCharge.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'ui.select']).then( function () { return $ocLazyLoad.load('js/controllers/settlementUserCharge.js'); } ); }); }] } }) .state('app.settlement.withdraw', { url: '/withdraw', templateUrl: getTemplateUrl('tpl/settlementWithdraw.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'ui.select']).then( function () { return $ocLazyLoad.load('js/controllers/settlementWithdraw.js'); } ); }); }] } }) .state('app.settlement.userConsume', { url: '/userConsume', templateUrl: getTemplateUrl('tpl/settlementUserConsume.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'ui.select']).then( function () { return $ocLazyLoad.load('js/controllers/settlementUserConsume.js'); } ); }); }] } }) //系统设置 .state('app.system', { url: '/system', template: '
' }) .state('app.system.account', { url: '/account', templateUrl: getTemplateUrl('tpl/account.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/accountCtrl.js'); } ); }); }] } }) .state('app.system.config', { url: '/config', templateUrl: getTemplateUrl('tpl/systemConfig.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker', 'angularFileUpload']).then( function () { return $ocLazyLoad.load('js/controllers/systemConfigCtrl.js'); } ); }); }] } }) .state('app.system.notification', { url: '/notification', templateUrl: getTemplateUrl('tpl/notification.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.moment, jsLib.momentZh,]).then(function () { return $ocLazyLoad.load(['ui.bootstrap.datetimepicker',]).then( function () { return $ocLazyLoad.load('js/controllers/notification.js'); } ); }); }] } }) .state('app.system.faq', { url: '/faq', templateUrl: getTemplateUrl('tpl/faq.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['angularFileUpload',]).then( function () { return $ocLazyLoad.load('js/controllers/faq.js'); } ); }); }] } }) //工具 .state('app.tool', { url: '/tool', template: '
' }) .state('app.tool.offlineTask', { url: '/offlineTask/:searchKey', templateUrl: getTemplateUrl('tpl/offlineTask.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([]).then(function () { return $ocLazyLoad.load(['angularFileUpload',]).then( function () { return $ocLazyLoad.load('js/controllers/offlineTaskCtrl.js'); } ); }); }] } }) .state('app.tool.qrcode', { url: '/qrcode', templateUrl: getTemplateUrl('tpl/qrcode.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.jszip, jsLib.FileSaver, jsLib.colorPicker, jsLib.colorPickerCss, jsLib.moment, jsLib.momentZh, jsLib.qrCode]).then(function () { return $ocLazyLoad.load([]).then( function () { return $ocLazyLoad.load('js/controllers/qrcodeCtrl.js'); } ); }); }] } }) .state('app.tool.widget', { url: '/widget', templateUrl: getTemplateUrl('tpl/widget.html'), resolve: { deps: ['$ocLazyLoad', 'uiLoad', function ($ocLazyLoad, uiLoad) { return uiLoad.load([jsLib.qrCode]).then(function () { return $ocLazyLoad.load(['angularFileUpload', 'ui.select',]).then( function () { return $ocLazyLoad.load('js/controllers/widgetCtrl.js'); } ); }); }] } }) //login .state('access', { url: '/access', template: '
' }) .state('access.signin', { url: '/signin', templateUrl: getTemplateUrl('tpl/page_signin.html'), resolve: { deps: ['uiLoad', function (uiLoad) { return uiLoad.load(['js/controllers/signin.js']); }] } }) .state('access.signup', { url: '/signup', templateUrl: getTemplateUrl('tpl/page_signup.html'), resolve: { deps: ['uiLoad', function (uiLoad) { return uiLoad.load(['js/controllers/signup.js']); }] } }) .state('access.forgotpwd', { url: '/forgotpwd', templateUrl: getTemplateUrl('tpl/page_forgotpwd.html'), resolve: { deps: ['uiLoad', function (uiLoad) { return uiLoad.load(['js/controllers/forgotpwd.js']); }] } }) .state('access.404', { url: '/404', templateUrl: getTemplateUrl('tpl/page_404.html') }) } ] );