2016-04-05 17:19:00 +08:00
|
|
|
var app = angular.module('wechat', ['ngRoute','ngCookies']);
|
2016-04-04 22:24:13 +08:00
|
|
|
var apiUrl = 'http://wechat.trustie.net/api/v1/';
|
2016-04-06 16:24:35 +08:00
|
|
|
var debug = true; //调试标志,如果在本地请置为true
|
2016-04-05 15:12:05 +08:00
|
|
|
|
2016-04-06 15:23:20 +08:00
|
|
|
if(debug===true){
|
2016-04-07 14:24:15 +08:00
|
|
|
apiUrl = 'http://localhost:3000/api/v1/';
|
2016-04-06 15:23:20 +08:00
|
|
|
}
|
|
|
|
|
2016-04-06 15:19:18 +08:00
|
|
|
app.factory('auth', function($http,$routeParams, $cookies, $q){
|
2016-04-05 17:19:00 +08:00
|
|
|
var _openid = '';
|
2016-04-04 22:24:13 +08:00
|
|
|
|
2016-04-05 17:19:00 +08:00
|
|
|
if(debug===true){
|
2016-04-07 15:26:23 +08:00
|
|
|
_openid = "1";
|
2016-04-05 17:19:00 +08:00
|
|
|
}
|
2016-04-04 22:24:13 +08:00
|
|
|
|
2016-04-06 15:19:18 +08:00
|
|
|
var getOpenId = function() {
|
|
|
|
var deferred = $q.defer();
|
2016-04-07 11:22:22 +08:00
|
|
|
if (typeof _openid !== 'undefined' && _openid.length > 0){
|
2016-04-06 15:19:18 +08:00
|
|
|
deferred.resolve(_openid);
|
|
|
|
} else {
|
|
|
|
var code = $routeParams.code;
|
|
|
|
$http({
|
|
|
|
url: '/wechat/get_open_id',
|
|
|
|
data: {code: code},
|
|
|
|
method: 'POST'
|
|
|
|
}).then(function successCallback(response) {
|
|
|
|
_openid = response.data.openid;
|
|
|
|
if(typeof _openid !== 'undefined' && _openid.length>0){
|
|
|
|
if(debug !== true){ //如果是生产环境,就存到cookies中
|
|
|
|
$cookies.put("openid", _openid);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if(debug!==true){//考虑从cookies中取出
|
|
|
|
_openid = $cookies.get('openid');
|
|
|
|
}
|
2016-04-05 17:35:27 +08:00
|
|
|
}
|
2016-04-06 15:19:18 +08:00
|
|
|
deferred.resolve(_openid);
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
deferred.reject(response);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return deferred.promise;
|
2016-04-04 22:24:13 +08:00
|
|
|
};
|
2016-04-05 17:19:00 +08:00
|
|
|
var openid = function(){
|
|
|
|
return _openid;
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-05 17:19:00 +08:00
|
|
|
return {getOpenId: getOpenId, openid: openid};
|
2016-04-04 22:24:13 +08:00
|
|
|
});
|
|
|
|
|
2016-04-06 15:23:20 +08:00
|
|
|
|
2016-04-06 15:19:18 +08:00
|
|
|
app.factory('rms', function(){
|
|
|
|
var _saveStorage = {};
|
|
|
|
var save = function(key, value){
|
|
|
|
_saveStorage[key] = value;
|
|
|
|
};
|
|
|
|
|
|
|
|
var get = function(key){
|
|
|
|
return _saveStorage[key];
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 15:19:18 +08:00
|
|
|
|
|
|
|
return {save: save, get: get};
|
|
|
|
});
|
|
|
|
|
2016-04-07 15:07:37 +08:00
|
|
|
app.controller('ActivityController',function($scope, $http, auth, rms, common){
|
2016-04-06 19:29:00 +08:00
|
|
|
$scope.replaceUrl = function(url){
|
2016-04-04 22:24:13 +08:00
|
|
|
return "http://www.trustie.net/" + url;
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-04 22:24:13 +08:00
|
|
|
|
2016-04-05 17:19:00 +08:00
|
|
|
console.log("ActivityController load");
|
2016-04-06 15:19:18 +08:00
|
|
|
$scope.activities = rms.get("activities") || [];
|
2016-04-04 22:24:13 +08:00
|
|
|
$scope.page = 1;
|
|
|
|
|
2016-04-05 15:12:05 +08:00
|
|
|
var loadActData = function(page){
|
2016-04-04 22:24:13 +08:00
|
|
|
$scope.page = page;
|
|
|
|
$http({
|
|
|
|
method: 'POST',
|
|
|
|
url: apiUrl+ "activities",
|
2016-04-07 14:24:15 +08:00
|
|
|
data: {openid: auth.openid(), page: page}
|
2016-04-04 22:24:13 +08:00
|
|
|
}).then(function successCallback(response) {
|
|
|
|
$scope.activities = $scope.activities.concat(response.data.data);
|
2016-04-06 15:19:18 +08:00
|
|
|
rms.save('activities', $scope.activities);
|
2016-04-04 22:24:13 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 15:19:18 +08:00
|
|
|
auth.getOpenId().then(
|
|
|
|
function successCallback(response){
|
2016-04-05 15:12:05 +08:00
|
|
|
loadActData($scope.page);
|
2016-04-06 15:19:18 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
alert("获取openid出错:"+response);
|
2016-04-05 15:12:05 +08:00
|
|
|
}
|
2016-04-06 15:19:18 +08:00
|
|
|
);
|
|
|
|
|
2016-04-05 15:12:05 +08:00
|
|
|
|
2016-04-07 15:07:37 +08:00
|
|
|
$scope.loadActData = loadActData;
|
2016-04-06 11:29:50 +08:00
|
|
|
|
2016-04-07 15:26:23 +08:00
|
|
|
$scope.addPraise = function(act){
|
|
|
|
console.log(act);
|
|
|
|
common.addCommonPraise(act);
|
2016-04-07 15:07:37 +08:00
|
|
|
}
|
2016-04-06 11:29:50 +08:00
|
|
|
|
2016-04-07 15:07:37 +08:00
|
|
|
$scope.decreasePraise = function(act){
|
|
|
|
console.log(act);
|
2016-04-07 15:26:23 +08:00
|
|
|
common.decreaseCommonPraise(act);
|
2016-04-07 15:07:37 +08:00
|
|
|
}
|
2016-04-06 11:29:50 +08:00
|
|
|
|
2016-04-07 09:26:24 +08:00
|
|
|
});
|
2016-04-06 11:29:50 +08:00
|
|
|
|
2016-04-07 15:07:37 +08:00
|
|
|
app.factory('common', function($http, auth, $routeParams){
|
2016-04-07 09:26:24 +08:00
|
|
|
var addCommonReply = function(id, type, data, cb){
|
2016-04-06 11:29:50 +08:00
|
|
|
console.log(data.comment);
|
|
|
|
|
|
|
|
if(!data.comment || data.comment.length<=0){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
var userInfo = {
|
2016-04-07 09:26:24 +08:00
|
|
|
type: type,
|
2016-04-06 11:29:50 +08:00
|
|
|
content: data.comment,
|
2016-04-07 09:26:24 +08:00
|
|
|
openid: auth.openid()
|
2016-04-06 11:29:50 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
$http({
|
|
|
|
method: 'POST',
|
2016-04-07 09:26:24 +08:00
|
|
|
url: apiUrl+ "new_comment/"+id,
|
|
|
|
data: userInfo
|
2016-04-06 11:29:50 +08:00
|
|
|
}).then(function successCallback(response) {
|
|
|
|
alert("提交成功");
|
2016-04-07 09:26:24 +08:00
|
|
|
if(typeof cb === 'function'){
|
|
|
|
cb();
|
|
|
|
}
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
var loadCommonData = function(id, type){
|
|
|
|
return $http({
|
|
|
|
method: 'GET',
|
2016-04-07 14:24:15 +08:00
|
|
|
url: apiUrl+ type + "/" + id+"?openid="+auth.openid()
|
2016-04-07 09:26:24 +08:00
|
|
|
})
|
|
|
|
};
|
|
|
|
|
2016-04-07 15:26:23 +08:00
|
|
|
var addCommonPraise = function(act){
|
2016-04-07 15:07:37 +08:00
|
|
|
act.activity_praise_count += 1;
|
|
|
|
act.has_praise = true;
|
|
|
|
|
|
|
|
$http({
|
|
|
|
method: 'POST',
|
2016-04-07 15:26:23 +08:00
|
|
|
url: apiUrl + "praise/" + act.act_id,
|
|
|
|
data:{openid:auth.openid(),type:act.act_type}
|
2016-04-07 15:07:37 +08:00
|
|
|
}).then(function successCallback(response) {
|
2016-04-07 15:42:08 +08:00
|
|
|
console.log(response.data);
|
2016-04-07 15:07:37 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2016-04-07 15:26:23 +08:00
|
|
|
var decreaseCommonPraise = function(act){
|
2016-04-07 15:07:37 +08:00
|
|
|
act.activity_praise_count -= 1;
|
|
|
|
act.has_praise = false;
|
|
|
|
|
|
|
|
$http({
|
|
|
|
method: 'POST',
|
2016-04-07 15:26:23 +08:00
|
|
|
url: apiUrl + "praise/" + act.act_id,
|
|
|
|
data:{openid:auth.openid(),type:act.act_type}
|
2016-04-07 15:07:37 +08:00
|
|
|
}).then(function successCallback(response) {
|
|
|
|
console.log("取消赞成功");
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
return {addCommonReply: addCommonReply, loadCommonData: loadCommonData, addCommonPraise: addCommonPraise, decreaseCommonPraise: decreaseCommonPraise};
|
2016-04-07 09:26:24 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
app.controller('IssueController', function($scope, $http, $routeParams, auth, common){
|
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
|
|
|
|
var loadData = function(id){
|
|
|
|
common.loadCommonData(id, 'issues').then(function successCallback(response) {
|
|
|
|
console.log(response.data);
|
|
|
|
$scope.issue = response.data.data;
|
2016-04-06 11:29:50 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 11:40:20 +08:00
|
|
|
};
|
2016-04-07 09:26:24 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
|
|
|
$scope.addIssueReply = function(data){
|
2016-04-07 11:40:20 +08:00
|
|
|
console.log(data.comment);
|
2016-04-07 09:26:24 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'Issue', data, function(){
|
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|
2016-04-04 22:24:13 +08:00
|
|
|
});
|
|
|
|
|
2016-04-07 11:40:20 +08:00
|
|
|
app.controller('HomeworkController', function($scope, $http, $routeParams, auth, common){
|
2016-04-04 22:24:13 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
|
|
|
|
var loadData = function(id){
|
2016-04-07 11:40:20 +08:00
|
|
|
common.loadCommonData(id, 'whomeworks').then(function successCallback(response) {
|
2016-04-04 22:24:13 +08:00
|
|
|
console.log(response.data);
|
2016-04-06 14:44:35 +08:00
|
|
|
$scope.homework = response.data.data;
|
2016-04-04 22:24:13 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 11:40:20 +08:00
|
|
|
};
|
2016-04-04 22:24:13 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
2016-04-06 19:29:00 +08:00
|
|
|
$scope.addHomeworkReply = function(data){
|
2016-04-04 22:24:13 +08:00
|
|
|
console.log(data.comment);
|
2016-04-07 11:40:20 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'HomeworkCommon', data, function(){
|
2016-04-04 22:24:13 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
2016-04-07 11:40:20 +08:00
|
|
|
};
|
2016-04-06 11:29:50 +08:00
|
|
|
});
|
2016-04-04 22:24:13 +08:00
|
|
|
|
2016-04-07 11:40:20 +08:00
|
|
|
app.controller('CourseNoticeController', function($scope, $http, $routeParams, auth, common){
|
2016-04-06 11:29:50 +08:00
|
|
|
$scope.formData = {comment: ''};
|
2016-04-04 22:24:13 +08:00
|
|
|
|
2016-04-06 11:29:50 +08:00
|
|
|
var loadData = function(id){
|
2016-04-07 11:40:20 +08:00
|
|
|
common.loadCommonData(id, 'newss').then(function successCallback(response) {
|
2016-04-06 11:29:50 +08:00
|
|
|
console.log(response.data);
|
2016-04-06 14:44:35 +08:00
|
|
|
$scope.news = response.data.data;
|
2016-04-06 11:29:50 +08:00
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 11:29:50 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
2016-04-06 19:29:00 +08:00
|
|
|
$scope.addNoticeReply = function(data){
|
2016-04-06 11:29:50 +08:00
|
|
|
console.log(data.comment);
|
2016-04-07 11:40:20 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'News', data, function(){
|
2016-04-06 11:29:50 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
|
|
|
}
|
2016-04-04 22:24:13 +08:00
|
|
|
});
|
|
|
|
|
2016-04-07 11:40:20 +08:00
|
|
|
app.controller('DiscussionController', function($scope, $http, $routeParams, auth, common){
|
2016-04-06 15:34:54 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
|
|
|
|
var loadData = function(id){
|
2016-04-07 11:40:20 +08:00
|
|
|
common.loadCommonData(id, 'messages').then(function successCallback(response) {
|
2016-04-06 15:34:54 +08:00
|
|
|
console.log(response.data);
|
|
|
|
$scope.discussion = response.data.data;
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 15:34:54 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
2016-04-06 19:29:00 +08:00
|
|
|
$scope.addDiscussionReply = function(data){
|
2016-04-06 15:34:54 +08:00
|
|
|
console.log(data.comment);
|
2016-04-07 11:40:20 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'Message', data, function(){
|
2016-04-06 15:34:54 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2016-04-07 11:40:20 +08:00
|
|
|
app.controller('JournalsController', function($scope, $http, $routeParams, auth, common){
|
2016-04-06 16:23:21 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
|
|
|
|
var loadData = function(id){
|
2016-04-07 11:40:20 +08:00
|
|
|
common.loadCommonData(id, 'journal_for_messages').then(function successCallback(response) {
|
2016-04-06 16:23:21 +08:00
|
|
|
console.log(response.data);
|
|
|
|
$scope.message = response.data.data;
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 16:23:21 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
|
|
|
$scope.addJournalReply = function(data){
|
|
|
|
console.log(data.comment);
|
2016-04-07 11:40:20 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'JournalsForMessage', data, function(){
|
2016-04-06 16:23:21 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 16:23:21 +08:00
|
|
|
});
|
|
|
|
|
2016-04-07 11:40:20 +08:00
|
|
|
app.controller('BlogController', function($scope, $http, $routeParams, auth, common){
|
2016-04-06 16:23:21 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
|
|
|
|
var loadData = function(id){
|
2016-04-07 11:40:20 +08:00
|
|
|
common.loadCommonData(id, 'blog_comments').then(function successCallback(response) {
|
2016-04-06 16:23:21 +08:00
|
|
|
console.log(response.data);
|
|
|
|
$scope.blog = response.data.data;
|
|
|
|
}, function errorCallback(response) {
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 16:23:21 +08:00
|
|
|
|
|
|
|
loadData($routeParams.id);
|
|
|
|
|
|
|
|
$scope.addBlogReply = function(data){
|
|
|
|
console.log(data.comment);
|
2016-04-07 11:40:20 +08:00
|
|
|
common.addCommonReply($routeParams.id, 'BlogComment', data, function(){
|
2016-04-06 16:23:21 +08:00
|
|
|
$scope.formData = {comment: ''};
|
|
|
|
loadData($routeParams.id);
|
|
|
|
});
|
2016-04-07 14:24:15 +08:00
|
|
|
};
|
2016-04-06 16:23:21 +08:00
|
|
|
});
|
|
|
|
|
2016-04-04 22:24:13 +08:00
|
|
|
app.filter('safeHtml', function ($sce) {
|
|
|
|
return function (input) {
|
|
|
|
return $sce.trustAsHtml(input);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2016-04-07 13:57:38 +08:00
|
|
|
app.directive('textAutoHeight', function($timeout){
|
|
|
|
return {
|
|
|
|
restrict: 'A',
|
|
|
|
scope: {},
|
|
|
|
link: function(scope, element, attr){
|
|
|
|
scope.text = '点击展开';
|
|
|
|
$timeout(function(){
|
|
|
|
var e = element.parent().children().eq(4);
|
|
|
|
var height = e[0].scrollHeight;
|
|
|
|
var offsetHeight = e[0].offsetHeight;
|
|
|
|
console.log(height);
|
|
|
|
console.log(offsetHeight);
|
|
|
|
console.log(attr);
|
|
|
|
if(height>90){
|
|
|
|
element.css('display', 'block');
|
|
|
|
element.on('click', function(){
|
|
|
|
if(element.text() == "点击展开"){
|
|
|
|
e.css("height", height+'px');
|
|
|
|
element.text("点击隐藏");
|
|
|
|
} else {
|
|
|
|
e.css("height", '90px');
|
|
|
|
element.text("点击展开");
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}, false);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2016-04-04 22:24:13 +08:00
|
|
|
app.config(['$routeProvider',function ($routeProvider) {
|
|
|
|
$routeProvider
|
|
|
|
.when('/activities', {
|
|
|
|
templateUrl: 'activities.html',
|
|
|
|
controller: 'ActivityController'
|
|
|
|
})
|
|
|
|
.when('/issues/:id', {
|
|
|
|
templateUrl: 'issue_detail.html',
|
|
|
|
controller: 'IssueController'
|
|
|
|
})
|
2016-04-06 19:29:00 +08:00
|
|
|
.when('/project_discussion/:id', {
|
|
|
|
templateUrl: 'project_discussion.html',
|
2016-04-07 11:40:20 +08:00
|
|
|
controller: 'DiscussionController'
|
2016-04-06 19:29:00 +08:00
|
|
|
})
|
2016-04-06 11:29:50 +08:00
|
|
|
.when('/homework/:id', {
|
|
|
|
templateUrl: 'homework_detail.html',
|
|
|
|
controller: 'HomeworkController'
|
|
|
|
})
|
2016-04-06 14:44:35 +08:00
|
|
|
.when('/course_notice/:id', {
|
|
|
|
templateUrl: 'course_notice.html',
|
|
|
|
controller: 'CourseNoticeController'
|
|
|
|
})
|
2016-04-06 15:34:54 +08:00
|
|
|
.when('/course_discussion/:id', {
|
|
|
|
templateUrl: 'course_discussion.html',
|
2016-04-07 11:40:20 +08:00
|
|
|
controller: 'DiscussionController'
|
2016-04-06 15:34:54 +08:00
|
|
|
})
|
2016-04-06 16:23:21 +08:00
|
|
|
.when('/journal_for_message/:id', {
|
|
|
|
templateUrl: 'jour_message_detail.html',
|
|
|
|
controller: 'JournalsController'
|
|
|
|
})
|
|
|
|
.when('/blog_comment/:id', {
|
|
|
|
templateUrl: 'blog_detail.html',
|
|
|
|
controller: 'BlogController'
|
|
|
|
})
|
2016-04-04 22:24:13 +08:00
|
|
|
.otherwise({
|
|
|
|
redirectTo: '/activities'
|
|
|
|
});
|
2016-04-05 16:32:42 +08:00
|
|
|
}]);
|