unserver-unify
Version:
373 lines (363 loc) • 12.1 kB
JavaScript
'use strict';
angular.module('bamboo').service('HomeService', function(ApiService, loginService, CourseService,UserService,TopicApi,MystudyService) {
var self = this;
this.getHomeCompanys = function(callback) {
var info = {
action: "gethomecompanys",
}
ApiService.post("/business", info).then(function(result) {
if (result.data.success) {
console.log(result.data.data);
callback(null, result.data.data);
// self.companys = result.data.data;
}
return callback(result.data.error);
});
}
this.getHomeMeetings = function(callback) {
ApiService.get("/homemeeting").then(function(result) {
if (result.data.success) {
var vmeetings = result.data.data.items;
var systemtime = new Date(result.data.data.time).getTime() + 1000 * 60 * 10; // grace 10 minutes
angular.forEach(vmeetings, function(item) {
var type = item.type;
var start = new Date(item.start).getTime();
if (start < systemtime + 3000000) {
item.now = true;
} else {
var len = parseInt((start - systemtime) / (60000));
if (len < 120) {
item.minutes = len;
} else {
item.hours = parseInt(len / 60);
}
}
if (item.mtype == 'broadcast') {
item.href = ApiService.APPURL + '/mymeetings/broadcast/' + item._id;
} else if (item.mtype == 'espx') {
item.href = ApiService.APPURL + '/mymeetings/espx/' + item._id;
} else if (item.mtype == 'nimvideo') {
item.href = ApiService.APPURL + '/mymeetings/nimvideo/' + item._id;
} else if (item.mtype == 'youtube') {
item.href = ApiService.APPURL + '/mymeetings/youtube/' + item._id;
} else if (item.mtype == 'controlppt') {
item.href = ApiService.APPURL + '/mymeetings/controlppt/' + item._id;
} else {
item.href = ApiService.APPURL + '/mymeetings/vroom/' + item.type + '/' + item._id;
}
})
console.log(vmeetings);
return callback(null, vmeetings);
}
return callback(result.data.error);
});
}
this.getHomeApp = function(callback) {
var info = {
action: "gethomepageinfo",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success&&result.data.data) {
return callback(null, result.data.data.apps);
/* var homedata = result.data.data;
self.contentready = true;
$scope.apps = homedata.apps;*/
}
return callback(result.data.error);
});
}
this.getHomeTeachers = function(callback) {
var info = {
action: "gethometeachers",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success) {
// console.log($scope.teachers);
//$scope.teachers = result.data.data;
return callback(null, result.data.data);
}
return callback(result.data.error);
});
}
this.getPartner = function(callback) {
var info = {
start: 0,
limit: 20,
type: 'school',
action: "getpartners"
};
ApiService.post('/advinfo', info).then(function(result) {
if (result.data.success) {
// callback(result.data.data);
return callback(null, result.data.data.items);
}
return callback(result.data.error);
})
/* SchoolAdvService.advApi(info, function(result) {
console.log(result);
return callback( result.items);
// self.partnerItems = result.items;
// $scope.total = result.counter;
});*/
}
this.getHomeFeature = function(callback) {
if (ApiService.school.homepageFeatureDoc) {
ApiService.get("/schooldoc/" + ApiService.school.homepageFeatureDoc).then(function(result) {
console.log(result);
if (result.data.success) {
return callback(null, result.data.data);
/* var value = result.data.data;
$scope.advContent = value.content;
$scope.advContent2 = value.content2;
// _self.about = value.detail;
// _self.aboutCN = value.chinese;
$scope.advSlides = value.arrays;
$scope.learningAdvSlides = value.arrays2;*/
}
return callback(result.data.error);
})
}
}
this.getPlayBack = function(callback) {
var info = {
action: 'getpublishplaybacks',
limit: 4,
}
console.log(info);
ApiService.post("/vmeeting", info).then(function(result) {
// console.log(result);
if (result.data.success && result.data.data) {
// console.log(result.data.data);
return callback(null, result.data.data.items);
// self.playbacks = result.data.data.items;
}
return callback(result.data.error);
});
}
this.getProjects = function(callback) {
var info = {
action: "gethomeprojects",
}
ApiService.post("/project", info).then(function(result) {
if (result.data.success) {
return callback(null, result.data.data);
// self.projects = result.data.data;
}
return callback(result.data.error);
});
}
this.getProducts = function(callback) {
function getProducts() {
var info = {
limit: 8,
start: 0,
action: "getproducts"
};
ApiService.post("/business", info).then(function(result) {
console.log(result);
if (result.data.success) {
return callback(null, result.data.data.items);
// self.products = result.data.data.items;
}
return callback(result.data.error);
})
}
}
this.getAllDepartments = function(callback) {
ApiService.get('/departments').then(function(result) {
if (result.data.success) {
var departments = result.data.data;
var dgroups = [];
angular.forEach(departments, function(dep, index) {
var gid = Math.floor(index / 4);
if (index % 4 == 0) {
var array = [];
array.push(dep);
dgroups.push(array);
} else {
var array = dgroups[gid];
array.push(dep)
}
});
return callback(null, dgroups);
// $scope.dgroups = dgroups;
}
return callback(result.data.error);
});
}
this.getCompanys = function(callback) {
var info = {
action: 'getcompanys',
}
ApiService.post("/business", info).then(function(result) {
if (result.data.success) {
$scope.companys = result.data.data.items;
return callback(null, result.data.data.items);
}
return callback(result.data.error);
});
}
this.getHomeJobs = function(callback) {
// console.log('getHomeJobs');
var info = {
action: "gethomejobs",
}
ApiService.post("/job", info).then(function(result) {
if (result.data.success) {
// self.jobs = result.data.data;
return callback(null, result.data.data);
}
return callback(result.data.error);
});
}
this.getHomeNews = function(callback) {
var info = {
action: "gethomenewses",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success) {
var homedata = result.data.data;
var ret = {};
self.contentready = true;
ret.newses = homedata.newses;
ret.events = homedata.events;
ret.topics = homedata.blogs;
return callback(null, ret);
/* if ($state.current.name != "index.home.cmec") {
_courses = homedata.courses;
compareMyCourses();
}*/
}
return callback(result.data.error);
});
}
this.getAdvNews = function(callback) {
var info = {
limit: 4,
start: 0,
action: 'getallnewses',
};
ApiService.post("/news", info).then(function(result) {
// console.log(result.data.data);
if (result.data.success) {
return callback(null, result.data.data.items)
}
return callback(result.data.error);
});
}
this.getHomeCourses = function(callback) {
var info = {
action: "gethomecourses",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success) {
return callback(null, result.data.data);
/* var homedata = result.data.data;
self.contentready = true;
$scope._newses = homedata.newses;
if ($state.current.name == "index.home.cmec") {
var text = "";
angular.forEach($scope._newses, function(value, key) {
text += " " + value.name + " " + value.created.substring(0, 10) + " " + value.description;
});
}
$scope.scrolltext = text;
$scope.events = homedata.events;
$scope._topics = homedata.blogs;
if ($state.current.name != "index.home.cmec") {
_courses = homedata.courses;
compareMyCourses();
}*/
}
return callback(result.data.error);
});
}
this.getHomeLatestCourses = function(limit, callback) {
CourseService.getCoursesWithSorting(0, 'update', null, limit).then(function(result) {
// var _courses = result.data.data.items;
return callback(null, result.data.data.items);
/* self.contentready = true;
$scope.latestCourses = compareMyCourses(_courses);*/
});
}
//....... sidebar.js ...............
this.getSideBarInfo = function(callback) {
var info = {
action: "getsidebarinfo",
}
ApiService.post("/site", info).then(function(result) {
if (result.data.success) {
var _result = result.data.data;
return callback(null, result.data.data);
}
else
{
return callback(result.data.error);
}
});
}
this.getTopGameScoreUsers = function(callback) {
var info = {
action: 'gettopgamescoreusers',
}
UserService.UserApi(info, function(result) {
return callback(null, result);
});
}
//......... sidebarcmec.js ............
this.getAnnouncementNames = function(callback){
ApiService.get("/announcementnames").then(function(result) {
return callback(null, result.data.data);
});
}
this.getLatestSchoolLogin = function(callback){
var info = {
action: "getlatestschoollogin",
};
ApiService.post('/user', info).then(function(result) {
if (result.data.success) {
return callback(null, result.data.data);
}
else {
return callback(result.data.error);
}
});
}
this.getTopScoreUsers = function(callback){
ApiService.get('/topscoreusers').then(function(result) {
if (result.data.success) {
return callback(null, result.data.data);
}
else {
return callback(result.data.error);
}
});
}
this.getNewBBS = function(callback){
TopicApi.BBSApi({
action: 'getnewbbs'
}, function(data) {
return callback(null, data.data);
})
}
//.......... sidebark12.js .................
this.getClassInfoForCurrentUser = function(callback){
MystudyService.getClassInfoForCurrentUser(function(data) {
return callback(null, data);
});
}
this.getLastDailyReport = function(callback){
var info={
action:'getlastdailyreport',
}
ApiService.post("/report", info).then(function(result) {
// console.log(result);
if (result.data.success) {
return callback(null, result.data.data);
}
else {
return callback(result.data.error);
}
});
}
});