Commit 5b837d1e authored by 陈志良's avatar 陈志良

Merge branch 'Notice' into SANDBOX

parents deda3c1d 73132f66
......@@ -258,3 +258,180 @@ router.get('/:ent_code/share/singlemessage', function(req, res, next) {
}
});
});
function getWXV2(res, title, desc, link, imgUrl, mid,ent_code, id,type,forumThread) {
//['{板块名称}','{文章标题}','{话题名称}','{照片墙标题}'];
//share_type:是否使用默认设置:1使用默认分享设置 2.使用自己的分享设置
link = config.service + link + "&mid=" + mid;
if (type==="Info") {
forumInfoService.getInfoById(id, function(err, forumInfo) {
if (err || forumInfo < 1) {
console.error("板块不存在或者发生未知错误");
res.json({
message: '板块不存在或者发生未知错误',
result: false,
code: '10002',
error:err
});
}else{
title = title.replace(/{板块名称}/g, forumInfo.name);
desc = desc.replace(/{板块名称}/g, forumInfo.name);
}
});
} else if(type === "Thread"){
title = title.replace(/{文章标题}|{话题名称}|{照片墙标题}/g, forumThread.title);
desc = desc.replace(/{文章标题}|{话题名称}|{照片墙标题}/g, forumThread.title);
}
res.json({
title:title,
desc:desc,
link:link,
imgUrl:imgUrl,
ent_code:ent_code
});
}
//微信分享接口
router.get('/sharev2.js', function(req, res, next) {
var rs = {},
type = req.query.type,
id = req.query.id,
uId= req.session.mobileForumUser.userId,
ent_code = req.session.user.ent_code,
mid = 0,
link = '/app/forum/' + ent_code + '/v2?pageUrl=',
share_log = {};
if (req.session.openUser && req.session.openUser.mid) {
mid = req.session.openUser.mid;
}
delete req.session.mobileForumUser.share_log;
console.log(type);
console.log(id);
//板块微信接口
if(!type || !id){
console.error('请求参数错误')
res.json(_.assign({result:false},returnCode.WRONG_PARAM));
}else if (type === 'Info') {
//分享记录对象
share_log.type = 2;
share_log.info = id;
forumInfoService.getInfoById(id, function(err, forumInfo) {
if (err) {
console.error(err);
res.json(_.assign({result:false},returnCode.BUSY));
return;
}
if(forumInfo.share_type == 1){
var shareInfo = forumInfo.share || {};
var title = shareInfo.title || '',
desc = shareInfo.description || '',
imgUrl = shareInfo.icon || '';
link = link + 'index&infoId='+ id+'&uId='+uId;
getWXV2(res, title, desc, link, imgUrl, mid,ent_code, id,type,null);
return;
}else{
//默认分享设置 //查询板块默认分享设置
forumShareConfigService.getByKey(ent_code, 'share', function(err, result) {
if(err){
console.error(err);
res.json(_.assign({result:false},returnCode.BUSY));
}else{
var title = '',desc = '',imgUrl = '';
if (result) {
//匹配板块默认分享设置
result = result.meta_value;
_.forEach(result,function(e){
if (e.type === 'info') {
title = e.title;
desc = e.desc;
imgUrl = e.imgUrl;
return;
}
});
link = link + 'index&infoId='+ id+'&uId='+uId;
console.log(1);
getWXV2(res, title, desc, link, imgUrl, mid,ent_code, id,type,null);
}else{
//没找到板块默认分享设置
console.error('info默认分享设置不存在');
res.json(_.assign({result:false},returnCode.DATA_NOTEXITS));
}
}
});
}
});
}else if (type === 'Thread') {
share_log.type = 3;
share_log.thread = id;
then(function(cont) {
//获得文章
forumThreadService.getById(id,cont);
}).then(function(cont, thread) {
if(!thread){
//文章个性化分享设置不存在
console.error('分享文章不存在');
res.json(_.assign({result:false},returnCode.DATA_NOTEXITS));
}else{
share_log.p_thread = thread.pid;
share_log.info = thread.info;
share_log.thread_type = thread.pid?4:thread.type;
//组装分享路径与判断分享类型
//判断分享类型 1、文章 2、话题 3、照片墙
var share_type = '';
if (thread.type === 1 ) {
link = link + 'detail&infoId=' + thread.info + '&ent_code=' + ent_code + '&tId=' + thread._id;
share_type = 'article';
}else if(thread.type === 2 && thread.level === 2){
link = link + 'photoDetail&infoId=' + thread.info + '&ent_code=' + ent_code + '&tId=' + thread._id;
share_type = 'photo';
}else if (thread.type === 2 && thread.level === 1) {
link = link + 'topic&infoId=' + thread.info + '&ent_code=' + ent_code + '&tId=' + thread._id;
share_type = 'topic';
} else if (thread.type === 3) {
link = link + 'photoWall&infoId=' + thread.info + '&ent_code=' + ent_code + '&tId=' + thread._id;
share_type = 'photo';
}
link = link +'&uId='+uId;
//获取分享设置
if (!thread.share || thread.share_type==1) {
//获取默认文章分享设置
forumShareConfigService.getByKey(ent_code, 'share', function(err, sc) {
var title = '',desc = '',imgUrl = '';
if(err || !sc){
cont(err || share_type+'默认分享设置不存在');
}else{
sc = sc.meta_value;
//设置分享信息
_.forEach(sc,function(e){
if(share_type === e.type){
title = e.title;
desc = e.desc;
imgUrl = e.imgUrl;
return;
}
});
getWXV2(res, title, desc, link, imgUrl, mid,ent_code,thread._id,type,thread);
}
});
} else {
//获取个性化文章分享设置
forumShareService.getById(thread.share, function(err, forumShare) {
if(err || !forumShare){
//文章个性化分享设置不存在
console.error(err || '文章个性化分享设置不存在');
res.json(_.assign({result:false},returnCode.DATA_NOTEXITS));
}else{
getWXV2(res, forumShare.title, forumShare.description, link, forumShare.icon, mid,ent_code,thread._id,type,thread);
}
});
}
}
}).fail(function(cont, err) {
console.error(err);
res.json(_.assign({result:false},returnCode.WRONG_PARAM));
});
}
req.session.mobileForumUser.share_log = share_log;
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment