Updates
This commit is contained in:
parent
1d5010de41
commit
bbe78ea4ca
2 changed files with 60 additions and 28 deletions
|
|
@ -23,11 +23,13 @@ angular.module('copayApp.controllers').controller('tabHomeController',
|
||||||
|
|
||||||
$scope.$on("$ionicView.afterEnter", function() {
|
$scope.$on("$ionicView.afterEnter", function() {
|
||||||
startupService.ready();
|
startupService.ready();
|
||||||
bannerService.fetchBannerSettings(function(banners) {
|
|
||||||
var banner = banners[Math.floor(Math.random()*banners.length)];
|
bannerService.getBanner(function (banner) {
|
||||||
$scope.bannerImageUrl = bannerService.getBannerImage(banner);
|
$scope.$apply(function () {
|
||||||
$scope.bannerUrl = banner.url;
|
$scope.bannerImageUrl = banner.imageURL;
|
||||||
$scope.bannerIsLoading = false;
|
$scope.bannerUrl = banner.url;
|
||||||
|
$scope.bannerIsLoading = false;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,23 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
angular.module('copayApp.services').factory('bannerService', function ($http, $log) {
|
angular.module('copayApp.services').factory('bannerService', function ($http, $log) {
|
||||||
|
// Export
|
||||||
var root = {};
|
var root = {};
|
||||||
|
|
||||||
var marketingApiService = 'http://127.0.0.1:3232/bws/api/v1/marketing';
|
// Constant
|
||||||
var bannersFetched = false;
|
var API_URL = 'https://bwscash.bitcoin.com/bws/api/v1/marketing';
|
||||||
var banners = [{
|
|
||||||
|
// Variable
|
||||||
|
var hasFetched = false;
|
||||||
|
var banners = [];
|
||||||
|
var defaultBanner = {
|
||||||
id: 'default-banner',
|
id: 'default-banner',
|
||||||
image: 'img/banner-store.png',
|
imageURL: 'img/banner-store.png',
|
||||||
url: 'https://store.bitcoin.com/',
|
url: 'https://store.bitcoin.com/',
|
||||||
local: true
|
isLocal: true
|
||||||
}];
|
};
|
||||||
|
|
||||||
root.fetchBannerSettings = function (cb) {
|
|
||||||
if (bannersFetched)
|
|
||||||
return cb(banners);
|
|
||||||
|
|
||||||
|
// Private methods
|
||||||
|
var fetchSettings = function (cb) {
|
||||||
var req = {
|
var req = {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
url: marketingApiService+'/settings',
|
url: marketingApiService+'/settings',
|
||||||
|
|
@ -23,25 +26,52 @@ angular.module('copayApp.services').factory('bannerService', function ($http, $l
|
||||||
'Accept': 'application/json'
|
'Accept': 'application/json'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
$http(req).then(function (data) {
|
$http(req).then(function (response) {
|
||||||
$log.info('Get banner settings: SUCCESS');
|
$log.info('Get banner settings: SUCCESS');
|
||||||
banners = banners.concat(data.data);
|
banners = response.data
|
||||||
bannersFetched = true;
|
return cb(true);
|
||||||
return cb(banners);
|
}, function (error) {
|
||||||
}, function (data) {
|
|
||||||
$log.error('Get banner settings: ERROR ' + data.statusText);
|
$log.error('Get banner settings: ERROR ' + data.statusText);
|
||||||
return cb(banners);
|
return cb(false);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
root.getBannerImage = function (banner) {
|
root.getBanner = function (cb) {
|
||||||
if (banner.local) {
|
|
||||||
return banner.image;
|
// If not fetch get the banner
|
||||||
}
|
if (!hasFetched) {
|
||||||
|
hasFetched = true;
|
||||||
|
|
||||||
var fileName = banner.image.substring(0, banner.image.lastIndexOf('.'));
|
// If never fetch, lets fetch
|
||||||
var extension = banner.image.substring(banner.image.lastIndexOf('.'));
|
fetchSettings(function (isSuccess) {
|
||||||
return marketingApiService+'/banners/'+fileName+"/"+extension;
|
root.getBannerImage(cb);
|
||||||
|
});
|
||||||
|
|
||||||
|
// If fetch, and got banners, lets have a look
|
||||||
|
} else if (banners.length > 0) {
|
||||||
|
var selectedBanners = [];
|
||||||
|
for(var i in banners) {
|
||||||
|
var banner = banners[i];
|
||||||
|
|
||||||
|
// Generate the URL for the banner
|
||||||
|
var fileName = banner.image.substring(0, banner.image.lastIndexOf('.'));
|
||||||
|
var extension = banner.image.substring(banner.image.lastIndexOf('.'));
|
||||||
|
banner.imageURL = API_URL +'/banners/'+fileName+"/"+extension;
|
||||||
|
|
||||||
|
// Add the banner
|
||||||
|
selectedBanners.push(banners[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no banner activated, I return the default one
|
||||||
|
if (selectedBanners.length == 0) {
|
||||||
|
return cb(defaultBanner);
|
||||||
|
} else {
|
||||||
|
return cb(selectedBanners[Math.floor(Math.random()*banners.length)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return cb(defaultBanner);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return root;
|
return root;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue