Merge branch 'weixin_guange' into develop
This commit is contained in:
commit
96ce09ede3
|
@ -47,7 +47,7 @@ module Mobile
|
|||
end
|
||||
|
||||
ws = WechatService.new
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台。", user.login+"("+user.show_name+")", Time.now.strftime("%Y-%m-%d"))
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台。", user.show_name+"("+user.login+")", Time.now.strftime("%Y-%m-%d"))
|
||||
present status: 0, message: '您已成功绑定Trustie平台'
|
||||
end
|
||||
|
||||
|
@ -89,7 +89,7 @@ module Mobile
|
|||
end
|
||||
|
||||
ws = WechatService.new
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台。", user.login+"("+user.show_name+")", Time.now.strftime("%Y-%m-%d"))
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台。", user.show_name+"("+user.login+")", Time.now.strftime("%Y-%m-%d"))
|
||||
present :data, user, with: Mobile::Entities::User
|
||||
present :status, 0
|
||||
end
|
||||
|
|
|
@ -386,7 +386,7 @@ class WechatsController < ActionController::Base
|
|||
user: user
|
||||
)
|
||||
ws = WechatService.new
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台!", user.login+"("+user.show_name+")", format_time(Time.now))
|
||||
ws.binding_succ_notice(user.id, "您已成功绑定Trustie平台!", user.show_name+"("+user.login+")", format_time(Time.now))
|
||||
render :json => {status:0, msg: "绑定成功"}
|
||||
rescue Exception=>e
|
||||
render :json => {status: -1, msg: e.message}
|
||||
|
@ -415,8 +415,11 @@ class WechatsController < ActionController::Base
|
|||
unless open_id
|
||||
render 'wechats/open_wechat', layout: nil and return
|
||||
end
|
||||
|
||||
logger.info "user_activities!!!!!!!!!!!!!!"
|
||||
logger.info params
|
||||
|
||||
# unless user_binded?(open_id)
|
||||
# unless (user_binded?(open_id) || params[:state] == "invite_code" || params[:state] == "project_invite_code" || params[:state] == "blog_comment" || params[:state] == "course_notice" || params[:state] == "project_discussion" || params[:state] == "course_discussion" || params[:state] == "homework" || params[:state] == "issues" || params[:state] == "journal_for_message")
|
||||
# @path = '/login'
|
||||
# else
|
||||
if params[:state] == 'myclass'
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<div class="member-banner f13 c-grey3">授课老师</div>
|
||||
|
||||
<div class="class-member-row f13 c-grey3" ng-repeat="teacher in teachers|filter:searchText">
|
||||
<img ng-src="{{teacher.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{teacher.name}}</span><img ng-src="/images/wechat/{{teacher.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{teacher.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{teacher.name}}</span><img ng-src="/images/wechat/{{teacher.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img src="/images/wechat/setting.png" ng-show = "course.is_creator && teacher.id != course.tea_id" width="15" class="fr mr10" style="margin-top:7px;" ng-click="onSetting(teacher)" />
|
||||
<span class = "fr mr25 mt5" ng-show ="teacher.id == course.tea_id">管理员</span>
|
||||
<span ng-class="['fr','mt5',{'mr10': course.is_creator,'mr25': !course.is_creator}]" ng-show ="teacher.id != course.tea_id && teacher.roles_id == 7">助教</span>
|
||||
|
@ -39,7 +39,7 @@
|
|||
</div>
|
||||
|
||||
<div ng-show ="course.is_creator" class="class-member-row f13 c-grey3" ng-repeat="reviewer in reviewers|filter:searchText">
|
||||
<img ng-src="{{reviewer.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{reviewer.name}}</span><img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{reviewer.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{reviewer.name}}</span><img ng-src="/images/wechat/{{reviewer.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<span ng-click="review(reviewer)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
@ -47,7 +47,7 @@
|
|||
|
||||
<div class="member-banner f13 mt10 c-grey3">我的同学</div>
|
||||
<div class="class-member-row f13 c-grey3" ng-repeat="student in students|filter:searchText">
|
||||
<img ng-src="{{student.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{student.name}}</span><img ng-src="/images/wechat/{{student.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{student.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{student.name}}</span><img ng-src="/images/wechat/{{student.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img src="/images/wechat/setting.png" ng-show = "course.is_creator" width="15" class="class-list-setting" ng-click="onSetting(student)" />
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
|
|
@ -108,30 +108,30 @@
|
|||
</div>
|
||||
<div class="member-banner f13 c-grey3">管理人员({{project_master_members.length}})</div>
|
||||
<div class="class-member-row f13 c-grey3" ng-repeat="master in project_master_members|filter:searchText">
|
||||
<img ng-src="{{master.user.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{master.user.real_name == "" ? master.user.name : master.user.real_name }}</span><img ng-src="/images/wechat/{{master.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{master.user.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{master.user.real_name == "" ? master.user.name : master.user.real_name }}</span><img ng-src="/images/wechat/{{master.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img src="/images/wechat/setting.png" ng-show = "master.user.id != project.user_id && project.can_setting" width="15" class="class-list-setting" ng-click="onSetting(master)" />
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_master_members|filter:searchText">
|
||||
<img ng-src="{{user.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name }}</span><span class="fr mr10 c-grey2"></span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{user.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name }}</span><span class="fr mr10 c-grey2"></span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<span ng-click="review(user)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
||||
<div class="member-banner f13 mt10 c-grey3">开发人员({{project_develop_members.length}})</div>
|
||||
<div class="class-member-row f13 c-grey3" ng-repeat="develop in project_develop_members|filter:searchText">
|
||||
<img ng-src="{{develop.user.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{develop.user.real_name == "" ? develop.user.name : develop.user.real_name}}</span><img ng-src="/images/wechat/{{develop.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{develop.user.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{develop.user.real_name == "" ? develop.user.name : develop.user.real_name}}</span><img ng-src="/images/wechat/{{develop.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img src="/images/wechat/setting.png" ng-show = "master.user.id != project.user_id && project.can_setting " width="15" class="class-list-setting" ng-click="onSetting(develop)" />
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div ng-show="project.can_setting" class="class-member-row f13 c-grey3" ng-repeat="user in review_develop_members|filter:searchText">
|
||||
<img ng-src="{{user.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name}}</span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{user.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{user.real_name == "" ? user.name : user.real_name}}</span><img ng-src="/images/wechat/{{user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<span ng-click="review(user)" class = "fr mr10 mt5 c-red">待审批 ▶</span>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
<div class="member-banner f13 mt10 c-grey3">报告人员({{project_report_members.length}})</div>
|
||||
<div class="class-member-row f13 c-grey3" ng-repeat="report in project_report_members|filter:searchText">
|
||||
<img ng-src="{{report.user.img_url}}" width="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{report.user.real_name == "" ? report.user.name : report.user.real_name}}</span><img ng-src="/images/wechat/{{report.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img ng-src="{{report.user.img_url}}" width="30" height="30" class="fl ml10 img-circle" /><span class="fl ml10 mt5">{{report.user.real_name == "" ? report.user.name : report.user.real_name}}</span><img ng-src="/images/wechat/{{report.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt5" />
|
||||
<img src="/images/wechat/setting.png" ng-show = "master.user.id != project.user_id && project.can_setting " width="15" class="class-list-setting" ng-click="onSetting(report)" />
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
|
|
|
@ -13,7 +13,7 @@ app.controller('InviteCodeController', ['$scope','$http', '$routeParams','config
|
|||
console.log(response.data);
|
||||
vm.course = response.data.data;
|
||||
|
||||
var desc = "您的好友邀请您加入班级:\n"+vm.course.name+"\n和小伙伴一起踏上便捷的学习之旅吧!";
|
||||
var desc = "您的好友邀请您加入班级:【"+vm.course.name+"】,和小伙伴一起踏上便捷的学习之旅吧!";
|
||||
var link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid+
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+vm.course.id+
|
||||
"&response_type=code&scope=snsapi_base&state=invite_code&connect_redirect=1#wechat_redirect";
|
||||
|
|
|
@ -13,7 +13,7 @@ app.controller('ProjectInviteCodeController', ['$scope','$http', '$routeParams',
|
|||
console.log(response.data);
|
||||
vm.project = response.data.data;
|
||||
|
||||
var desc = "您的好友邀请您加入项目:\n"+vm.project.name+"\n和小伙伴一起踏上便捷的研发之旅吧!";
|
||||
var desc = "您的好友邀请您加入项目:【"+vm.project.name+"】,和小伙伴一起踏上便捷的研发之旅吧!";
|
||||
var link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid+
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+vm.project.id+
|
||||
"&response_type=code&scope=snsapi_base&state=project_invite_code&connect_redirect=1#wechat_redirect";
|
||||
|
|
|
@ -1,466 +1,466 @@
|
|||
app.factory('alertService', function(){
|
||||
function Alert(){
|
||||
this.title = null;
|
||||
this.message = null;
|
||||
this.visible = null;
|
||||
this.cb = null;
|
||||
this.invite = "";
|
||||
}
|
||||
|
||||
Alert.prototype.showMessage = function(title, msg, cb){
|
||||
this.message = msg;
|
||||
this.title = title;
|
||||
this.visible = true;
|
||||
this.cb = cb;
|
||||
this.invite = "";
|
||||
}
|
||||
|
||||
Alert.prototype.dismiss = function(){
|
||||
this.message = null;
|
||||
this.title = null;
|
||||
this.visible = false;
|
||||
this.invite = "";
|
||||
if(this.cb) {this.cb();}
|
||||
}
|
||||
|
||||
return {
|
||||
create: function(){
|
||||
return new Alert();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
app.factory('wx', ['$window', function($window){
|
||||
var wechat = $window.wx;
|
||||
return wechat;
|
||||
}]);
|
||||
|
||||
app.factory('auth', ['$http','$routeParams', '$q', 'session', 'config',function($http,$routeParams, $q, session,config){
|
||||
//是否已经绑定
|
||||
var isBind = function(){
|
||||
var defer = $q.defer();
|
||||
|
||||
var token = getToken();
|
||||
if(token && token.length>10){
|
||||
defer.resolve(token);
|
||||
} else {
|
||||
var code = window.g_code || $routeParams.code || session.get("code");
|
||||
$http.post(
|
||||
'/wechat/get_bind',
|
||||
{} ///不用传code了,都由服务器来处理
|
||||
).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
defer.reject(response.data.message);
|
||||
}else {
|
||||
session.save("token", response.data.token);
|
||||
defer.resolve(response.data.token);
|
||||
}
|
||||
}).catch(function(e){
|
||||
defer.reject(e);
|
||||
});
|
||||
}
|
||||
|
||||
return defer.promise;
|
||||
}
|
||||
|
||||
var getToken = function(){
|
||||
return 'token';//session.get("token");
|
||||
}
|
||||
return {get_bind: isBind, token: getToken};
|
||||
}]);
|
||||
|
||||
app.factory("session", function(){
|
||||
return {
|
||||
save: function(key,value){
|
||||
sessionStorage.setItem(key,value);
|
||||
},
|
||||
get: function(key){
|
||||
return sessionStorage.getItem(key);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
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.factory('common', ['$http', 'auth', '$routeParams','rms','config','wx','$location', function($http, auth, $routeParams,rms,config,wx,$location){
|
||||
var addCommonReply = function(id, type, data,args, cb){
|
||||
//先判断有没有绑定
|
||||
// $http.post(
|
||||
// '/wechat/is_bind',
|
||||
// {} ///不用传code了,都由服务器来处理
|
||||
// ).then(function(response){
|
||||
// console.log(response.data);
|
||||
// if(response.data.status != 0){
|
||||
// $location.path("/login_tip");
|
||||
// }
|
||||
// });
|
||||
|
||||
if(!data.comment || data.comment.length<=0){
|
||||
return;
|
||||
}
|
||||
|
||||
var temp = data.comment.replace(/\n/g,'<br/>');
|
||||
|
||||
var userInfo = {
|
||||
type: type,
|
||||
content: temp,
|
||||
token: auth.token()
|
||||
};
|
||||
//回复按钮禁用
|
||||
data.disabled = true;
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ "new_comment/"+id,
|
||||
data: userInfo
|
||||
}).then(function successCallback(response) {
|
||||
//alert("提交成功");
|
||||
//数据提交完成,回复按钮启用
|
||||
console.log(response);
|
||||
if(response.data.status == -1){
|
||||
console.log("回复失败!");
|
||||
data.comment = "";
|
||||
if(response.data.tip == 0){
|
||||
args.scope.replytip = "您不是该私有班级成员,不能回复";
|
||||
}
|
||||
else{
|
||||
args.scope.replytip = "您不是该私有项目成员,不能回复";
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
data.disabled = false;
|
||||
if(typeof cb === 'function'){
|
||||
cb(response.data.subscribe);
|
||||
}
|
||||
|
||||
//保证内外回复数一致
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == id){
|
||||
activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == id){
|
||||
course_activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == id){
|
||||
project_activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
// var loadCommonData = function(id, type,replytype,page){
|
||||
// return $http({
|
||||
// method: 'GET',
|
||||
// url: apiUrl+ type + "/" + id+"?token="+auth.token(),
|
||||
// })
|
||||
// };
|
||||
|
||||
var loadCommonData = function(id, type,replytype,page){
|
||||
return $http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ type + "/" + id,
|
||||
dataType: 'jsonp',
|
||||
data:{token:auth.token(),type:replytype,page:page}
|
||||
})
|
||||
};
|
||||
|
||||
var addCommonPraise = function(act){
|
||||
// act.praise_count += 1;
|
||||
// act.has_praise = true;
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl + "praise/" + act.act_id,
|
||||
data:{token:auth.token(),type:act.act_type}
|
||||
}).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var decreaseCommonPraise = function(act){
|
||||
// act.praise_count -= 1;
|
||||
// act.has_praise = false;
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl + "praise/" + act.act_id,
|
||||
data:{token:auth.token(),type:act.act_type}
|
||||
}).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
var init = function(args){
|
||||
args.scope.replytip = "输入回复内容~";
|
||||
args.scope.formData = {comment: ''};
|
||||
var loadData = function(id,replytype,page){
|
||||
loadCommonData(id, args.type,replytype,page).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
//--------------分享内容定制-------------
|
||||
var tmptile = "分享动态";
|
||||
var imgUrl = "";
|
||||
|
||||
if(response.data.data.title){
|
||||
tmptile = response.data.data.title;
|
||||
}
|
||||
|
||||
var tmpname = "匿名用户";
|
||||
|
||||
if(response.data.data.user){
|
||||
tmpname = response.data.data.user.realname;
|
||||
imgUrl = window.g_localhost+response.data.data.user.img_url;
|
||||
}
|
||||
|
||||
if(response.data.data.author){
|
||||
tmpname = response.data.data.author.realname;
|
||||
imgUrl = window.g_localhost+response.data.data.author.img_url;
|
||||
}
|
||||
|
||||
var desc = ""
|
||||
if(response.data.data.content){
|
||||
desc = response.data.data.content.replace(/<[^>]+>/g,"").replace(/\s*/g,"").replace(/ /g,"");
|
||||
}
|
||||
|
||||
if(response.data.data.description){
|
||||
desc = response.data.data.description.replace(/<[^>]+>/g,"").replace(/\s*/g,"").replace(/ /g,"");
|
||||
}
|
||||
|
||||
if(desc.length > 30){
|
||||
desc = desc.substring(0,30)+"...";
|
||||
}
|
||||
|
||||
var title = tmpname+":"+tmptile;
|
||||
console.log("desc = "+desc);
|
||||
console.log("imgUrl= "+imgUrl);
|
||||
|
||||
var link = "";
|
||||
|
||||
if(args.urlName == "discussion"){
|
||||
var urlName = response.data.type_name + "_discussion";
|
||||
link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid +
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+response.data.data.act_id+
|
||||
"&response_type=code&scope=snsapi_userinfo&state="+urlName+"&connect_redirect=1#wechat_redirect";
|
||||
}
|
||||
else{
|
||||
link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid +
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+response.data.data.act_id+
|
||||
"&response_type=code&scope=snsapi_userinfo&state="+args.urlName+"&connect_redirect=1#wechat_redirect";
|
||||
}
|
||||
|
||||
// if(args.urlName == "discussion"){
|
||||
// var urlName = response.data.type_name + "_discussion";
|
||||
// link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc09454f171153c2d" +
|
||||
// "&redirect_uri=https://test.forge.trustie.net/wechat/user_activities?id="+response.data.data.act_id+
|
||||
// "&response_type=code&scope=snsapi_base&state="+urlName+"&connect_redirect=1#wechat_redirect";
|
||||
// }
|
||||
// else{
|
||||
// link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc09454f171153c2d" +
|
||||
// "&redirect_uri=https://test.forge.trustie.net/wechat/user_activities?id="+response.data.data.act_id+
|
||||
// "&response_type=code&scope=snsapi_base&state="+args.urlName+"&connect_redirect=1#wechat_redirect";
|
||||
// }
|
||||
|
||||
console.log("link= "+link);
|
||||
|
||||
wxConfig(title,desc,imgUrl,link);
|
||||
|
||||
//--------------分享内容定制-------------
|
||||
args.loadCallback(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
loadData(args.id,0,0);
|
||||
args.scope.addReply = function(data){
|
||||
console.log(data.comment);
|
||||
addCommonReply(args.id, args.replyType, data,args, function(subscribe){
|
||||
args.scope.formData = {comment: ''};
|
||||
if(subscribe == 0){
|
||||
$location.path("/login_tip");
|
||||
return;
|
||||
}
|
||||
else{
|
||||
loadData(args.id,0,0);
|
||||
}
|
||||
|
||||
if(typeof args.replyCallback === 'function'){
|
||||
args.replyCallback();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 动态详情界面点赞与动态界面的数据要同步 保证进入详情点赞后出来显示一致
|
||||
args.scope.addPraise = function(act){
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == act.act_id){
|
||||
activities[i].praise_count += 1;
|
||||
activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == act.act_id){
|
||||
course_activities[i].praise_count += 1;
|
||||
course_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == act.act_id){
|
||||
project_activities[i].praise_count += 1;
|
||||
project_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
act.praise_count += 1;
|
||||
act.has_praise = true;
|
||||
addCommonPraise(act);
|
||||
};
|
||||
|
||||
args.scope.decreasePraise = function(act){
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == act.act_id){
|
||||
activities[i].praise_count -= 1;
|
||||
activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == act.act_id){
|
||||
course_activities[i].praise_count -= 1;
|
||||
course_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == act.act_id){
|
||||
project_activities[i].praise_count -= 1;
|
||||
project_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
act.praise_count -= 1;
|
||||
act.has_praise = false;
|
||||
decreaseCommonPraise(act);
|
||||
};
|
||||
|
||||
args.scope.showMoreReply = function(replytype,data){
|
||||
if(!data.page){
|
||||
data.page = 1;
|
||||
}
|
||||
else{
|
||||
data.page = data.page + 1;
|
||||
}
|
||||
|
||||
loadCommonData(data.id, args.type,replytype,data.page).then(function successCallback(response) {
|
||||
args.loadCallback(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
args.scope.commentreply_path = config.rootPath+ 'templates/comment_reply.html';
|
||||
|
||||
};
|
||||
|
||||
var wxConfig = function(title,desc,imgUrl,link){
|
||||
|
||||
if(title == null || title == ""){
|
||||
title = 'Trustie创新实践平台';
|
||||
}
|
||||
|
||||
if(desc == null || desc == ""){
|
||||
desc = 'Trustie创新实践平台';
|
||||
}
|
||||
|
||||
if(imgUrl == null || imgUrl == ""){
|
||||
imgUrl = window.g_localhost+'/images/wechat/wx_logo.jpg';
|
||||
}
|
||||
|
||||
wx.ready(function(){
|
||||
wx.onMenuShareTimeline({
|
||||
title: title, // 分享标题
|
||||
link: link, // 分享链接
|
||||
imgUrl: imgUrl, // 分享图标
|
||||
success: function () {
|
||||
console.log("share successed.");
|
||||
},
|
||||
cancel: function () {
|
||||
console.log("share canceled.");
|
||||
}
|
||||
});
|
||||
|
||||
wx.onMenuShareAppMessage({
|
||||
title: title, // 分享标题
|
||||
desc: desc, // 分享描述
|
||||
link: link, // 分享链接
|
||||
// imgUrl: '', // 分享图标
|
||||
imgUrl: imgUrl, // 分享图标
|
||||
// type: '', // 分享类型,music、video或link,不填默认为link
|
||||
// dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
|
||||
success: function () {
|
||||
// 用户确认分享后执行的回调函数
|
||||
},
|
||||
cancel: function () {
|
||||
// 用户取消分享后执行的回调函数
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var checkLogin = function(){
|
||||
$http.post(
|
||||
'/wechat/is_bind',
|
||||
{} ///不用传code了,都由服务器来处理
|
||||
).then(function(response){
|
||||
console.log(response.data);
|
||||
if(response.data.status != 0){
|
||||
$location.path("/login");
|
||||
return;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return {init: init, addCommonReply: addCommonReply, loadCommonData: loadCommonData, addCommonPraise: addCommonPraise, decreaseCommonPraise: decreaseCommonPraise, wxConfig: wxConfig, checkLogin: checkLogin};
|
||||
}]);
|
||||
app.factory('alertService', function(){
|
||||
function Alert(){
|
||||
this.title = null;
|
||||
this.message = null;
|
||||
this.visible = null;
|
||||
this.cb = null;
|
||||
this.invite = "";
|
||||
}
|
||||
|
||||
Alert.prototype.showMessage = function(title, msg, cb){
|
||||
this.message = msg;
|
||||
this.title = title;
|
||||
this.visible = true;
|
||||
this.cb = cb;
|
||||
this.invite = "";
|
||||
}
|
||||
|
||||
Alert.prototype.dismiss = function(){
|
||||
this.message = null;
|
||||
this.title = null;
|
||||
this.visible = false;
|
||||
this.invite = "";
|
||||
if(this.cb) {this.cb();}
|
||||
}
|
||||
|
||||
return {
|
||||
create: function(){
|
||||
return new Alert();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
app.factory('wx', ['$window', function($window){
|
||||
var wechat = $window.wx;
|
||||
return wechat;
|
||||
}]);
|
||||
|
||||
app.factory('auth', ['$http','$routeParams', '$q', 'session', 'config',function($http,$routeParams, $q, session,config){
|
||||
//是否已经绑定
|
||||
var isBind = function(){
|
||||
var defer = $q.defer();
|
||||
|
||||
var token = getToken();
|
||||
if(token && token.length>10){
|
||||
defer.resolve(token);
|
||||
} else {
|
||||
var code = window.g_code || $routeParams.code || session.get("code");
|
||||
$http.post(
|
||||
'/wechat/get_bind',
|
||||
{} ///不用传code了,都由服务器来处理
|
||||
).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
defer.reject(response.data.message);
|
||||
}else {
|
||||
session.save("token", response.data.token);
|
||||
defer.resolve(response.data.token);
|
||||
}
|
||||
}).catch(function(e){
|
||||
defer.reject(e);
|
||||
});
|
||||
}
|
||||
|
||||
return defer.promise;
|
||||
}
|
||||
|
||||
var getToken = function(){
|
||||
return 'token';//session.get("token");
|
||||
}
|
||||
return {get_bind: isBind, token: getToken};
|
||||
}]);
|
||||
|
||||
app.factory("session", function(){
|
||||
return {
|
||||
save: function(key,value){
|
||||
sessionStorage.setItem(key,value);
|
||||
},
|
||||
get: function(key){
|
||||
return sessionStorage.getItem(key);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
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.factory('common', ['$http', 'auth', '$routeParams','rms','config','wx','$location', function($http, auth, $routeParams,rms,config,wx,$location){
|
||||
var addCommonReply = function(id, type, data,args, cb){
|
||||
//先判断有没有绑定
|
||||
// $http.post(
|
||||
// '/wechat/is_bind',
|
||||
// {} ///不用传code了,都由服务器来处理
|
||||
// ).then(function(response){
|
||||
// console.log(response.data);
|
||||
// if(response.data.status != 0){
|
||||
// $location.path("/login_tip");
|
||||
// }
|
||||
// });
|
||||
|
||||
if(!data.comment || data.comment.length<=0){
|
||||
return;
|
||||
}
|
||||
|
||||
var temp = data.comment.replace(/\n/g,'<br/>');
|
||||
|
||||
var userInfo = {
|
||||
type: type,
|
||||
content: temp,
|
||||
token: auth.token()
|
||||
};
|
||||
//回复按钮禁用
|
||||
data.disabled = true;
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ "new_comment/"+id,
|
||||
data: userInfo
|
||||
}).then(function successCallback(response) {
|
||||
//alert("提交成功");
|
||||
//数据提交完成,回复按钮启用
|
||||
console.log(response);
|
||||
if(response.data.status == -1){
|
||||
console.log("回复失败!");
|
||||
data.comment = "";
|
||||
if(response.data.tip == 0){
|
||||
args.scope.replytip = "您不是该私有班级成员,不能回复";
|
||||
}
|
||||
else{
|
||||
args.scope.replytip = "您不是该私有项目成员,不能回复";
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
data.disabled = false;
|
||||
if(typeof cb === 'function'){
|
||||
cb(response.data.subscribe);
|
||||
}
|
||||
|
||||
//保证内外回复数一致
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == id){
|
||||
activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == id){
|
||||
course_activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == id){
|
||||
project_activities[i].reply_count += 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
// var loadCommonData = function(id, type,replytype,page){
|
||||
// return $http({
|
||||
// method: 'GET',
|
||||
// url: apiUrl+ type + "/" + id+"?token="+auth.token(),
|
||||
// })
|
||||
// };
|
||||
|
||||
var loadCommonData = function(id, type,replytype,page){
|
||||
return $http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ type + "/" + id,
|
||||
dataType: 'jsonp',
|
||||
data:{token:auth.token(),type:replytype,page:page}
|
||||
})
|
||||
};
|
||||
|
||||
var addCommonPraise = function(act){
|
||||
// act.praise_count += 1;
|
||||
// act.has_praise = true;
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl + "praise/" + act.act_id,
|
||||
data:{token:auth.token(),type:act.act_type}
|
||||
}).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var decreaseCommonPraise = function(act){
|
||||
// act.praise_count -= 1;
|
||||
// act.has_praise = false;
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl + "praise/" + act.act_id,
|
||||
data:{token:auth.token(),type:act.act_type}
|
||||
}).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
var init = function(args){
|
||||
args.scope.replytip = "输入回复内容~";
|
||||
args.scope.formData = {comment: ''};
|
||||
var loadData = function(id,replytype,page){
|
||||
loadCommonData(id, args.type,replytype,page).then(function successCallback(response) {
|
||||
console.log(response.data);
|
||||
//--------------分享内容定制-------------
|
||||
var tmptile = "分享动态";
|
||||
var imgUrl = "";
|
||||
|
||||
if(response.data.data.title){
|
||||
tmptile = response.data.data.title;
|
||||
}
|
||||
|
||||
var tmpname = "匿名用户";
|
||||
|
||||
if(response.data.data.user){
|
||||
tmpname = response.data.data.user.realname;
|
||||
imgUrl = window.g_localhost+response.data.data.user.img_url;
|
||||
}
|
||||
|
||||
if(response.data.data.author){
|
||||
tmpname = response.data.data.author.realname;
|
||||
imgUrl = window.g_localhost+response.data.data.author.img_url;
|
||||
}
|
||||
|
||||
var desc = ""
|
||||
if(response.data.data.content){
|
||||
desc = response.data.data.content.replace(/<[^>]+>/g,"").replace(/\s*/g,"").replace(/ /g,"");
|
||||
}
|
||||
|
||||
if(response.data.data.description){
|
||||
desc = response.data.data.description.replace(/<[^>]+>/g,"").replace(/\s*/g,"").replace(/ /g,"");
|
||||
}
|
||||
|
||||
if(desc.length > 30){
|
||||
desc = desc.substring(0,30)+"...";
|
||||
}
|
||||
|
||||
var title = tmpname+":"+tmptile;
|
||||
console.log("desc = "+desc);
|
||||
console.log("imgUrl= "+imgUrl);
|
||||
|
||||
var link = "";
|
||||
|
||||
if(args.urlName == "discussion"){
|
||||
var urlName = response.data.type_name + "_discussion";
|
||||
link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid +
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+response.data.data.act_id+
|
||||
"&response_type=code&scope=snsapi_userinfo&state="+urlName+"&connect_redirect=1#wechat_redirect";
|
||||
}
|
||||
else{
|
||||
link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+window.g_appid +
|
||||
"&redirect_uri="+window.g_localhost+"/wechat/user_activities?id="+response.data.data.act_id+
|
||||
"&response_type=code&scope=snsapi_userinfo&state="+args.urlName+"&connect_redirect=1#wechat_redirect";
|
||||
}
|
||||
|
||||
// if(args.urlName == "discussion"){
|
||||
// var urlName = response.data.type_name + "_discussion";
|
||||
// link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc09454f171153c2d" +
|
||||
// "&redirect_uri=https://test.forge.trustie.net/wechat/user_activities?id="+response.data.data.act_id+
|
||||
// "&response_type=code&scope=snsapi_base&state="+urlName+"&connect_redirect=1#wechat_redirect";
|
||||
// }
|
||||
// else{
|
||||
// link = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxc09454f171153c2d" +
|
||||
// "&redirect_uri=https://test.forge.trustie.net/wechat/user_activities?id="+response.data.data.act_id+
|
||||
// "&response_type=code&scope=snsapi_base&state="+args.urlName+"&connect_redirect=1#wechat_redirect";
|
||||
// }
|
||||
|
||||
console.log("link= "+link);
|
||||
|
||||
wxConfig(title,desc,imgUrl,link);
|
||||
|
||||
//--------------分享内容定制-------------
|
||||
args.loadCallback(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
loadData(args.id,0,0);
|
||||
args.scope.addReply = function(data){
|
||||
console.log(data.comment);
|
||||
addCommonReply(args.id, args.replyType, data,args, function(subscribe){
|
||||
args.scope.formData = {comment: ''};
|
||||
if(subscribe == 0){
|
||||
$location.path("/login_tip");
|
||||
return;
|
||||
}
|
||||
else{
|
||||
loadData(args.id,0,0);
|
||||
}
|
||||
|
||||
if(typeof args.replyCallback === 'function'){
|
||||
args.replyCallback();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// 动态详情界面点赞与动态界面的数据要同步 保证进入详情点赞后出来显示一致
|
||||
args.scope.addPraise = function(act){
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == act.act_id){
|
||||
activities[i].praise_count += 1;
|
||||
activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == act.act_id){
|
||||
course_activities[i].praise_count += 1;
|
||||
course_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == act.act_id){
|
||||
project_activities[i].praise_count += 1;
|
||||
project_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
act.praise_count += 1;
|
||||
act.has_praise = true;
|
||||
addCommonPraise(act);
|
||||
};
|
||||
|
||||
args.scope.decreasePraise = function(act){
|
||||
activities = rms.get("activities") || [];
|
||||
course_activities = rms.get("course_activities") || [];
|
||||
project_activities = rms.get("project_activities") || [];
|
||||
for(var i in activities){
|
||||
if(activities[i].act_id == act.act_id){
|
||||
activities[i].praise_count -= 1;
|
||||
activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in course_activities){
|
||||
if(course_activities[i].act_id == act.act_id){
|
||||
course_activities[i].praise_count -= 1;
|
||||
course_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in project_activities){
|
||||
if(project_activities[i].act_id == act.act_id){
|
||||
project_activities[i].praise_count -= 1;
|
||||
project_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rms.save("activities",activities);
|
||||
rms.save("course_activities",course_activities);
|
||||
rms.save("project_activities",project_activities);
|
||||
|
||||
act.praise_count -= 1;
|
||||
act.has_praise = false;
|
||||
decreaseCommonPraise(act);
|
||||
};
|
||||
|
||||
args.scope.showMoreReply = function(replytype,data){
|
||||
if(!data.page){
|
||||
data.page = 1;
|
||||
}
|
||||
else{
|
||||
data.page = data.page + 1;
|
||||
}
|
||||
|
||||
loadCommonData(data.id, args.type,replytype,data.page).then(function successCallback(response) {
|
||||
args.loadCallback(response.data);
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
args.scope.commentreply_path = config.rootPath+ 'templates/comment_reply.html';
|
||||
|
||||
};
|
||||
|
||||
var wxConfig = function(title,desc,imgUrl,link){
|
||||
|
||||
if(title == null || title == ""){
|
||||
title = 'Trustie创新实践平台';
|
||||
}
|
||||
|
||||
if(desc == null || desc == ""){
|
||||
desc = 'Trustie创新实践平台';
|
||||
}
|
||||
|
||||
if(imgUrl == null || imgUrl == ""){
|
||||
imgUrl = window.g_localhost+'/images/wechat/wx_logo.jpg';
|
||||
}
|
||||
|
||||
wx.ready(function(){
|
||||
wx.onMenuShareTimeline({
|
||||
title: title, // 分享标题
|
||||
link: link, // 分享链接
|
||||
imgUrl: imgUrl, // 分享图标
|
||||
success: function () {
|
||||
console.log("share successed.");
|
||||
},
|
||||
cancel: function () {
|
||||
console.log("share canceled.");
|
||||
}
|
||||
});
|
||||
|
||||
wx.onMenuShareAppMessage({
|
||||
title: title, // 分享标题
|
||||
desc: desc, // 分享描述
|
||||
link: link, // 分享链接
|
||||
// imgUrl: '', // 分享图标
|
||||
imgUrl: imgUrl, // 分享图标
|
||||
// type: '', // 分享类型,music、video或link,不填默认为link
|
||||
// dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
|
||||
success: function () {
|
||||
// 用户确认分享后执行的回调函数
|
||||
},
|
||||
cancel: function () {
|
||||
// 用户取消分享后执行的回调函数
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var checkLogin = function(){
|
||||
$http.post(
|
||||
'/wechat/is_bind',
|
||||
{} ///不用传code了,都由服务器来处理
|
||||
).then(function(response){
|
||||
console.log(response.data);
|
||||
if(response.data.status != 0){
|
||||
$location.path("/login");
|
||||
return;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return {init: init, addCommonReply: addCommonReply, loadCommonData: loadCommonData, addCommonPraise: addCommonPraise, decreaseCommonPraise: decreaseCommonPraise, wxConfig: wxConfig, checkLogin: checkLogin};
|
||||
}]);
|
||||
|
|
Loading…
Reference in New Issue