angular.module("myApp") .controller('indexController', function ($scope,$http,$window,MODAL,$state,Curl,$stateParams,$filter,ZONE) { $scope.nInput = {}; $scope.zone = 0; // 現在語系 $scope.zones = ZONE; $scope.changeZone = function() { if ($scope.zone+1>=3) { $scope.zone=0; } else { $scope.zone=$scope.zone + 1; } } Curl.linkList().then(function (data) { for (var i=1;i<=4;i++) $scope['col'+i] = $filter('filter')(data.data,{columns:i}); }); Curl.adzoneList().then(function (data) { $scope['aside'] = $filter('filter')(data.data,{location:'aside'}); $scope['top'] = $filter('filter')(data.data,{location:'top'}); }); Curl.recommendList({}).then(function(data) { $scope['hot_news'] = $filter('filter')(data.data,{id:3})[0]; $scope['hot_game'] = $filter('filter')(data.data,{id:4})[0]; $scope['hot_video'] = $filter('filter')(data.data,{id:5})[0]; $scope['hot_ad'] = $filter('filter')(data.data,{id:6})[0]; }); Curl.adList().then(function (data) { $scope['ad'] = data.data; }); // 下拉選單, 地區, id&name對照表 Curl.localidName().then(function (data) { $scope.zoneOptions = data.data; }); Curl.idName().then(function (data) {$scope.optionsPlayer=data.data;}); $scope.onSearchPlayer=function() { $state.go("ranks",{name:$scope.nInput.playername}); } }) .controller('homeController', function ($scope,$http,$window,MODAL,$state,Curl,$stateParams) { $scope.data = { per_page: 100 }; //----------------group-item if ($stateParams.groupid || '') { // 進入了某子俱樂部 // 傳入 id && for(is_for_award) Curl.clubList({where:' and id='+$stateParams.groupid}).then(function (data) { $scope.group_item = data.data;}); Curl.groupidName({where:' and pid='+$stateParams.groupid}).then(function (data) { $scope.clubOptions=data.data; }); $scope.data.club=$stateParams.groupid; $scope.data.is_for_award = $stateParams.for; } else { Curl.groupidName({where:' and pid=0'}).then(function (data) { $scope.clubOptions=data.data; }); } //-------end----group-item //----------------ranks from home player search if ($stateParams.name || '') $scope.data.name=$stateParams.name; //------------------------------ $scope.list = function(obj) { var engine = "../login/one.php"; if ($state.current.name=="award") engine = "../login/one_award.php"; else if ($state.current.name=="times") engine = "../login/one_count.php"; $http.post(engine,obj || {}).then(function (data) { data = data.data; $scope.data.data=data.data,$scope.data.page=data.page,$scope.data.tpage=data.tpage; $scope.data.allcount = data.allcount,$scope.data.index_start = data.index_start,$scope.data.index_end = data.index_end; $scope.data.per_page = data.per_page; }); }; $scope.goUser = function(obj) { obj.localName=$scope.zoneOptions[obj.local]; obj.start=$scope.data.start; obj.end=$scope.data.end; if ($scope.data.is_for_award==1) obj.is_for_award=1; $state.go("user",{obj: angular.toJson(obj), '#':'top'}); } $scope.onSearch = function() { $scope.data.data = []; $scope.list($scope.data); } $scope.onSearch(); }) .controller('groupController', function ($scope, $http, $window, MODAL, $stateParams, $state, Curl) { $scope.is_for_award = 0; Curl.clubList({where:' and pid=0'}).then(function (data) { $scope.data=data.data; }); }) .controller('userController', function ($scope, $http, $window, MODAL, $stateParams, $state, Curl) { $scope.data=angular.fromJson($stateParams.obj); $scope.dataList = []; if ($scope.data.id || ''){}else{$state.go("home");} $scope.oneRank = function(s) { $http.post("../login/one.php",{score:s}).then(function (data) { $scope.data.rank = data.data.data[0].rank; }); } $scope.getData = function(st,ed) { st = st || $scope.data.start, ed = ed || $scope.data.end; var passObj = {id:$scope.data.id}; // if ($scope.data.start || '' && $scope.data.start || '') { // passObj.start=$scope.data.start,passObj.end=$scope.data.end; passObj.start=st,passObj.end=ed; if ($scope.data.is_for_award==1) passObj.is_for_award=1; // } Curl.idFestivalName(passObj).then(function (data) { data.data.forEach(function(item) { $scope.list_define_property(item); }); $scope.dataList=data.data; }); } $scope.list_define_property=function (item) { var isOpened = false; Object.defineProperty(item, "isOpened", { // 一旦改變此屬性就會執行 get: function() { return isOpened; }, set: function(newValue) { if (newValue) { $http.post("../login/game_item_record_list.php",{id:item.festival_id}).then(function(data) { item.records = data.data.data; isOpened = newValue; }); } else { isOpened = newValue; } } }); } $scope.oneRank($scope.data.score); $scope.getData(); }) .controller('gameController', function ($scope, $http, $window, MODAL, $stateParams, $state, Curl) { $scope.data = { per_page: 20 }; $stateParams.his = $stateParams.his || 0; $scope.isHistory = $stateParams.his==1 ? true : false; $scope.onSearch = function() { $scope.data.data = []; Curl.gameList($scope.data).then(function (data) { $scope.data = data;}); } Curl.groupIdToPidName().then(function(odata) { $scope.pid = odata.data; $scope.onSearch(); }); }) .controller('gameItemController', function ($scope, $http, $window, MODAL, $stateParams, $state, Curl) { $scope.name = $stateParams.name; $scope.list_define_property=function (item) { var isOpened = false; Object.defineProperty(item, "isOpened", { // 一旦改變此屬性就會執行 get: function() { return isOpened; }, set: function(newValue) { if (newValue) { $http.post("../login/game_item_record_list.php",{id:item.id}).then(function(data) { item.records = data.data.data; isOpened = newValue; }); } else { isOpened = newValue; } } }); } Curl.gameItemList({'id':$stateParams.id}).then(function (data) { data.data.forEach(function(item) { $scope.list_define_property(item); }); $scope.data = data; }); }) .controller('newsController', function ($scope, $http, $window, MODAL, $stateParams, $state, Curl) { $scope.data = { per_page: 30 }; $scope.tranWord = function(t) { zh_tran(t); // setCookieValue(t); } $scope.onSearch = function() { $scope.data.data = []; Curl.newsList({order: 'id desc'}).then(function(odata) { $scope.data = odata; }); } if ($stateParams.id || '') { Curl.newsList({where: ' and id='+$stateParams.id}).then(function(odata) { $scope.data = odata.data[0]; }); } else { $scope.onSearch(); } })