Merge branch 'weixin_guange' of https://git.trustie.net/jacknudt/trustieforge into weixin_guange
This commit is contained in:
commit
7cc98db541
|
@ -70,7 +70,7 @@
|
|||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="post-interactive">
|
||||
<div class="post-interactive-column c-grey2"><a href="javascript:void(0);" class="c-grey">回复 ({{act.reply_count}})</a></div>
|
||||
<div class="post-interactive-column c-grey2"><a href="javascript:void(0);" ng-href="#/course_discussion/{{act.act_id}}" class="c-grey">回复 ({{act.reply_count}})</a></div>
|
||||
<div class="post-interactive-column c-grey2">赞 ({{act.activity_praise_count}})</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -148,7 +148,7 @@
|
|||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="post-interactive">
|
||||
<div class="post-interactive-column c-grey2"><a href="javascript:void(0);" onclick="window.open('project_discussion.html?id=<!=activities[i].act_id!>');" class="c-grey"> 回复 (<!=activities[i].reply_count!>) </a></div>
|
||||
<div class="post-interactive-column c-grey2"><a href="javascript:void(0);" ng-href="#/project_discussion/{{act.act_id}}" class="c-grey"> 回复 (<!=activities[i].reply_count!>) </a></div>
|
||||
<div class="post-interactive-column c-grey2">赞 (<!=activities[i].activity_praise_count!>)</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,42 +3,40 @@
|
|||
<div class="post-container">
|
||||
<div class="post-wrapper">
|
||||
<div class="post-main">
|
||||
<div class="post-avatar fl"><img src="<!=discussion.user.img_url!>" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-title hidden mb5"><span class="c-grey3 f15 fb"><!=discussion.subject!></span></div>
|
||||
<div class="post-title hidden"><a herf="javascript:void(0);" class="mr10"><!=discussion.user.nickname!></a>to<a herf="javascript:void(0);" class="ml10"><!=discussion.course_project_name!> | 课程问答区</a></div>
|
||||
<div class="post-avatar fl"><img ng-src="{{discussion.user.img_url}}" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-title hidden mb5"><span class="c-grey3 f15 fb">{{discussion.subject}}</span></div>
|
||||
<div class="post-title hidden"><a herf="javascript:void(0);" class="mr10">{{discussion.user.nickname}}</a>to<a herf="javascript:void(0);" class="ml10">{{discussion.course_project_name}} | 课程问答区</a></div>
|
||||
<div class="cl"></div>
|
||||
<div class="post-content c-grey2 mt10" style="height:auto;">
|
||||
<div class="post-all-content"><!:=discussion.content!></div>
|
||||
<div class="post-all-content" ng-bind-html="discussion.content|safeHtml"></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<span class="c-grey f13 mt10 fl"><!=discussion.created_on!></span>
|
||||
<span class="c-grey f13 mt10 fl">{{discussion.created_on}}</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="post-interactive border-bottom">
|
||||
<div class="post-interactive-reply c-grey2">回复 <span class="reply-num">(<!=discussion.replies_count!>)</span></div>
|
||||
<div class="post-interactive-praise c-grey2"><span class="paise-text"> 赞 </span><span class="praise-num">((<!=discussion.message_praise_count!>))</span></div>
|
||||
<div class="post-interactive-reply c-grey2">回复 <span class="reply-num">({{discussion.replies_count}})</span></div>
|
||||
<div class="post-interactive-praise c-grey2"><span class="paise-text"> 赞 </span><span class="praise-num">({{discussion.message_praise_count}})</span></div>
|
||||
</div>
|
||||
<div id="all_course_message_reply">
|
||||
<! for(var j = (discussion.message_children.length -1); j >= 0; --j){ !>
|
||||
<div class="post-reply-wrap border-bottom">
|
||||
<div class="post-reply-wrap border-bottom" ng-repeat="journal in discussion.message_children">
|
||||
<div class="post-reply-row">
|
||||
<div class="post-reply-avatar fl"><img src="<!=discussion.message_children[j].user.img_url!>" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-reply-avatar fl"><img ng-src="{{journal.user.img_url}}" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="ml55">
|
||||
<div class="post-reply-user hidden"><!=discussion.message_children[j].user.realname!></div>
|
||||
<div class="post-reply-content c-grey2 mb10"><!:=discussion.message_children[j].content!></div>
|
||||
<div class="post-reply-date fl"><!=discussion.message_children[j].lasted_comment!></div>
|
||||
<div class="post-reply-user hidden">{{journal.user.realname}}</div>
|
||||
<div class="post-reply-content c-grey2 mb10" ng-bind-html="journal.content|safeHtml"></div>
|
||||
<div class="post-reply-date fl">{{journal.lasted_comment}}</div>
|
||||
<div class="post-reply-trigger fr undis">回复</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<! } !>
|
||||
</div>
|
||||
<div class="post-input-wrap">
|
||||
<div class="post-reply-row">
|
||||
<!--<div class="post-reply-avatar fl" id = "100"><img src="images/post-avatar.jpg" width="30" height="30" /></div>-->
|
||||
<input type="text" class="post-reply-input" id="postInput" />
|
||||
<input type="submit" value="回复" class="post-reply-submit fr mt10"/>
|
||||
<!--<div class="post-reply-avatar fl"><img src="images/post-avatar.jpg" width="30" height="30" /></div>-->
|
||||
<input type="text" class="post-reply-input" id="postInput" ng-model="formData.comment" />
|
||||
<button ng-click="addIssueReply(formData)" class="post-reply-submit fr mt10">回复</button>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<div class="post-reply-avatar fl"><img ng-src="{{comments.author.img_url}}" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="ml55">
|
||||
<div class="post-reply-user hidden">{{comments.author.realname}}</div>
|
||||
<div class="post-reply-content c-grey2 mb10">{{comments.comments}}</div>
|
||||
<div class="post-reply-content c-grey2 mb10" ng-bind-html="comments.comments|safeHtml"></div>
|
||||
<div class="post-reply-date fl">{{comments.created_on}}</div>
|
||||
<div class="post-reply-trigger fr undis">回复</div>
|
||||
</div>
|
||||
|
|
|
@ -1,89 +1,44 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>项目讨论区</title>
|
||||
<meta charset='utf-8' />
|
||||
<meta name="keywords" content="" />
|
||||
<meta name="description" content="" />
|
||||
<meta name="apple-mobile-web-app-capable" content="no">
|
||||
<meta content='True' name='HandheldFriendly' />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="/stylesheets/weui/weixin.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="p-discussion-container"></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 模板1开始,可以使用script(type设置为text/html)来存放模板片段,并且用id标示 -->
|
||||
<script id="t:project-discussion" type="text/html">
|
||||
<div class="post-container">
|
||||
<div class="post-wrapper">
|
||||
<div class="post-main">
|
||||
<div class="post-avatar fl"><img src="<!=discussion.user.img_url!>" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-title hidden mb5"><span class="c-grey3 f15 fb"><!=discussion.subject!></span></div>
|
||||
<div class="post-title hidden"><a herf="javascript:void(0);" class="mr10"><!=discussion.user.nickname!></a>to<a herf="javascript:void(0);" class="ml10"><!=discussion.course_project_name!> | 项目讨论区</a></div>
|
||||
<div class="post-avatar fl"><img ng-src="{{discussion.user.img_url}}" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-title hidden mb5"><span class="c-grey3 f15 fb">{{discussion.subject}}</span></div>
|
||||
<div class="post-title hidden"><a herf="javascript:void(0);" class="mr10">{{discussion.user.nickname}}</a>to<a herf="javascript:void(0);" class="ml10">{{discussion.course_project_name}} | 课程问答区</a></div>
|
||||
<div class="cl"></div>
|
||||
<div class="post-content c-grey2 mt10" style="height:auto;">
|
||||
<div class="post-all-content"><!:=discussion.content!></div>
|
||||
<div class="post-all-content" ng-bind-html="discussion.content|safeHtml"></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
<span class="c-grey f13 mt10 fl"><!=discussion.created_on!></span>
|
||||
<span class="c-grey f13 mt10 fl">{{discussion.created_on}}</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="post-interactive border-bottom">
|
||||
<div class="post-interactive-reply c-grey2">回复 <span class="reply-num">(<!=discussion.replies_count!>)</span></div>
|
||||
<div class="post-interactive-praise c-grey2"><span class="paise-text"> 赞 </span><span class="praise-num">()</span></div>
|
||||
<div class="post-interactive-reply c-grey2">回复 <span class="reply-num">({{discussion.replies_count}})</span></div>
|
||||
<div class="post-interactive-praise c-grey2"><span class="paise-text"> 赞 </span><span class="praise-num">({{discussion.message_praise_count}})</span></div>
|
||||
</div>
|
||||
<div id="all_homework_reply">
|
||||
<! for(var j = (homework.journals_for_messages.length - 1); j >= 0; --j){ !>
|
||||
<div class="post-reply-wrap border-bottom">
|
||||
<div id="all_course_message_reply">
|
||||
<div class="post-reply-wrap border-bottom" ng-repeat="journal in discussion.message_children">
|
||||
<div class="post-reply-row">
|
||||
<div class="post-reply-avatar fl"><img src="<!=discussion.message_children[j].user.img_url!>" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="post-reply-avatar fl"><img ng-src="{{journal.user.img_url}}" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="ml55">
|
||||
<div class="post-reply-user hidden"><!=discussion.message_children[j].user.realname!></div>
|
||||
<div class="post-reply-content c-grey2 mb10"><!:=discussion.message_children[j].content!></div>
|
||||
<div class="post-reply-date fl"><!=discussion.message_children[j].lasted_comment!></div>
|
||||
<div class="post-reply-user hidden">{{journal.user.realname}}</div>
|
||||
<div class="post-reply-content c-grey2 mb10" ng-bind-html="journal.content|safeHtml"></div>
|
||||
<div class="post-reply-date fl">{{journal.lasted_comment}}</div>
|
||||
<div class="post-reply-trigger fr undis">回复</div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
<! } !>
|
||||
</div>
|
||||
<div class="post-input-wrap">
|
||||
<div class="post-reply-row">
|
||||
<!--<div class="post-reply-avatar fl"><img src="images/post-avatar.jpg" width="30" height="30" /></div>-->
|
||||
<input type="text" class="post-reply-input" id="postInput" />
|
||||
<input type="submit" value="回复" class="post-reply-submit fr mt10" />
|
||||
<input type="text" class="post-reply-input" id="postInput" ng-model="formData.comment" />
|
||||
<button ng-click="addIssueReply(formData)" class="post-reply-submit fr mt10">回复</button>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="t:homework-detail-reply" type="text/html">
|
||||
<div class="post-reply-wrap border-bottom">
|
||||
<div class="post-reply-row">
|
||||
<div class="post-reply-avatar fl"><img src="<!=reply.user.img_url!>" width="45" height="45" class="border-radius" /></div>
|
||||
<div class="ml55">
|
||||
<div class="post-reply-user hidden"><!=reply.user.realname!></div>
|
||||
<div class="post-reply-content c-grey2 mb10"><!:=reply.notes!></div>
|
||||
<div class="post-reply-date fl"><!=reply.lasted_comment!></div>
|
||||
</div>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script src="/javascripts/jquery-1.3.2.js"></script>
|
||||
<script src="/javascripts/baiduTemplate.js"></script>
|
||||
<script src="/javascripts/wechat/project_discussion.js"></script>
|
||||
<script src="/javascripts/wechat/auth.js"></script>
|
||||
<script src="/javascripts/wechat/homework_detail.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1,19 +1,23 @@
|
|||
var app = angular.module('wechat', ['ngRoute','ngCookies']);
|
||||
var apiUrl = 'http://localhost:3000/api/v1/';
|
||||
var debug = true; //调试标志,如果在本地请置为true
|
||||
var apiUrl = 'http://wechat.trustie.net/api/v1/';
|
||||
var debug = false; //调试标志,如果在本地请置为true
|
||||
|
||||
app.factory('auth', function($http,$routeParams, $cookies){
|
||||
if(debug===true){
|
||||
apiUrl = 'http://localhost:3000/api/v1/';
|
||||
}
|
||||
|
||||
app.factory('auth', function($http,$routeParams, $cookies, $q){
|
||||
var _openid = '';
|
||||
|
||||
if(debug===true){
|
||||
_openid = "2";
|
||||
_openid = "1";
|
||||
}
|
||||
|
||||
var getOpenId = function(cb) {
|
||||
var getOpenId = function() {
|
||||
var deferred = $q.defer();
|
||||
if (typeof _openid !== 'undefined' && _openid.length > 0) {
|
||||
cb(_openid);
|
||||
return;
|
||||
}
|
||||
deferred.resolve(_openid);
|
||||
} else {
|
||||
var code = $routeParams.code;
|
||||
$http({
|
||||
url: '/wechat/get_open_id',
|
||||
|
@ -30,12 +34,12 @@ app.factory('auth', function($http,$routeParams, $cookies){
|
|||
_openid = $cookies.get('openid');
|
||||
}
|
||||
}
|
||||
|
||||
cb(_openid);
|
||||
deferred.resolve(_openid);
|
||||
}, function errorCallback(response) {
|
||||
cb(null);
|
||||
deferred.reject(response);
|
||||
});
|
||||
|
||||
}
|
||||
return deferred.promise;
|
||||
};
|
||||
var openid = function(){
|
||||
return _openid;
|
||||
|
@ -43,14 +47,28 @@ app.factory('auth', function($http,$routeParams, $cookies){
|
|||
return {getOpenId: getOpenId, openid: openid};
|
||||
});
|
||||
|
||||
app.controller('ActivityController',function($scope, $http, auth){
|
||||
$scope.replaceUrl = function(url){
|
||||
|
||||
app.factory('rms', function(){
|
||||
var _saveStorage = {};
|
||||
var save = function(key, value){
|
||||
_saveStorage[key] = value;
|
||||
};
|
||||
|
||||
var get = function(key){
|
||||
return _saveStorage[key];
|
||||
}
|
||||
|
||||
return {save: save, get: get};
|
||||
});
|
||||
|
||||
app.controller('ActivityController',function($scope, $http, auth, rms){
|
||||
$scope.repaceUrl = function(url){
|
||||
return "http://www.trustie.net/" + url;
|
||||
}
|
||||
|
||||
console.log("ActivityController load");
|
||||
|
||||
$scope.activities = [];
|
||||
$scope.activities = rms.get("activities") || [];
|
||||
$scope.page = 1;
|
||||
|
||||
var loadActData = function(page){
|
||||
|
@ -61,17 +79,18 @@ app.controller('ActivityController',function($scope, $http, auth){
|
|||
data: {openid: auth.openid(), page: page},
|
||||
}).then(function successCallback(response) {
|
||||
$scope.activities = $scope.activities.concat(response.data.data);
|
||||
rms.save('activities', $scope.activities);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
}
|
||||
|
||||
auth.getOpenId(function(oid){
|
||||
if(!oid){
|
||||
alert("获取openid出错");
|
||||
} else {
|
||||
auth.getOpenId().then(
|
||||
function successCallback(response){
|
||||
loadActData($scope.page);
|
||||
}, function errorCallback(response) {
|
||||
alert("获取openid出错:"+response);
|
||||
}
|
||||
});
|
||||
);
|
||||
|
||||
|
||||
$scope.loadActData = loadActData;
|
||||
});
|
||||
|
@ -177,7 +196,7 @@ app.controller('CourseNoticeController', function($scope, $http, $routeParams, a
|
|||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
loadData($routeParams.id);
|
||||
|
||||
|
@ -208,6 +227,50 @@ app.controller('CourseNoticeController', function($scope, $http, $routeParams, a
|
|||
}
|
||||
});
|
||||
|
||||
app.controller('CourseDiscussionController', function($scope, $http, $routeParams, auth){
|
||||
$scope.formData = {comment: ''};
|
||||
|
||||
var loadData = function(id){
|
||||
$http({
|
||||
method: 'GET',
|
||||
url: apiUrl+ "messages/"+id,
|
||||
}).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
$scope.discussion = response.data.data;
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
loadData($routeParams.id);
|
||||
|
||||
|
||||
$scope.addIssueReply = function(data){
|
||||
console.log(data.comment);
|
||||
|
||||
if(!data.comment || data.comment.length<=0){
|
||||
return;
|
||||
}
|
||||
|
||||
var userInfo = {
|
||||
type: "Message",
|
||||
content: data.comment,
|
||||
openid: auth.openid(),
|
||||
};
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ "new_comment/"+$routeParams.id,
|
||||
data: userInfo,
|
||||
}).then(function successCallback(response) {
|
||||
alert("提交成功");
|
||||
$scope.formData = {comment: ''};
|
||||
loadData($routeParams.id);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
app.filter('safeHtml', function ($sce) {
|
||||
return function (input) {
|
||||
return $sce.trustAsHtml(input);
|
||||
|
@ -232,6 +295,14 @@ app.config(['$routeProvider',function ($routeProvider) {
|
|||
templateUrl: 'course_notice.html',
|
||||
controller: 'CourseNoticeController'
|
||||
})
|
||||
.when('/course_discussion/:id', {
|
||||
templateUrl: 'course_discussion.html',
|
||||
controller: 'CourseDiscussionController'
|
||||
})
|
||||
.when('/project_discussion/:id', {
|
||||
templateUrl: 'project_discussion.html',
|
||||
controller: 'CourseDiscussionController'
|
||||
})
|
||||
.otherwise({
|
||||
redirectTo: '/activities'
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue