Authored by 徐祁xuqi

Merge branch 'feature/guang' of http://git.yoho.cn/fe/yohobuy-node into feature/guang

... ... @@ -99,6 +99,7 @@ exports.tags = (req, res, next) => {
tag: query,
guangIndexPage: true,
baseUrl: `?${querystring.stringify(req.query)}`,
pageSize: pageSize,
type: type,
pathNav: pathNav,
... ... @@ -140,18 +141,14 @@ exports.editor = (req, res, next) => {
res.render('editor', {
title: ret[0].name + (res.locals.title || ''),
guang: {
editor: {
avatar: ret[0] && ret[0].avatar,
name: ret[0] && ret[0].name,
intro: ret[0] && ret[0].author_desc,
info: '设计理念:时尚,线条流畅'
},
editor: ret[0],
msgs: ret[1] && ret[1].msgs,
hotTags: ret[2],
ads: ret[3],
exRecos: ret[4],
gender: gender,
baseUrl: `?${querystring.stringify(req.query)}`,
pageSize: pageSize,
pathNav: pathNav,
page: page,
... ... @@ -171,7 +168,7 @@ exports.detail = (req, res, next) => {
let id = req.params.id || req.query.id;
let page = req.query.page || 1;
let pageSize = req.query.pageSize || 20;
let pageSize = req.query.pageSize || 10;
let col = req.query.col || 0;
let pjax = req.query._pjax;
let uid = req.user.uid;
... ... @@ -184,9 +181,20 @@ exports.detail = (req, res, next) => {
}
if (pjax) {
return guangModel.getArticleComments(id, page, pageSize).then(ret => {
return res.render('comment', ret);
guangModel.getArticleComments(id, page, pageSize).then(ret => {
res.render('detail-comment', {
layout: false,
comment: ret
}, function(err, html) {
if (err) {
return res.send('');
}
return res.status(200).send(html);
});
});
return;
}
// 登陆后自动收藏
... ... @@ -291,21 +299,23 @@ exports.listDynamicData = (req, res) => {
exports.detailDynamicData = (req, res) => {
let id = req.query.id;
guangModel.getDynamicDataByIds(id).then(ret => {
res.status(200).send(ret);
guangModel.getDynamicDataById(id).then(() => {
// res.status(200).send(ret);
res.status(200).send({
code: 200,
data: {
browseNum: 88823212,
id: id,
isFavor: 'Y',
isPraise: 'Y',
praiseNum: 58
}
});
}).catch(() => {
res.status(400);
});
};
exports.detailCommentData = (req, res) => {
let param = {
id: req.query.id,
page: req.query.page
};
res.render('', param);
};
/**
* 添加评论
*/
... ...
... ... @@ -9,7 +9,6 @@ const _ = require('lodash');
const moment = require('moment');
const ghelper = require('./guang-helper');
const helpers = global.yoho.helpers;
const serviceApi = global.yoho.ServiceAPI;
const yohoApi = global.yoho.API;
... ... @@ -732,7 +731,7 @@ const getArticleComments = (aid, page, pageSize) => {
return serviceApi.get('guang/api/v1/comments/getList', {
article_id: aid,
page: page,
pageSize: pageSize
limit: pageSize
}).then(res => {
let num = (res.data && res.data.total) || 0;
... ... @@ -755,7 +754,13 @@ const getArticleComments = (aid, page, pageSize) => {
return {
commentNum: num,
list: list
pageSize: pageSize,
page: page,
list: list,
baseUrl: helpers.urlFormat('/info/index', {
id: aid,
pageSize: pageSize
}, 'guang')
};
});
};
... ... @@ -830,13 +835,6 @@ const cancelCollect = (aid, uid) => serviceApi.get('guang/api/v1/favorite/cancel
const getDynamicDataById = id => {
return serviceApi.get('', {
id: id
}).then(res => {
if (res && res.code === 200 && res.data) {
return res.data;
}
return Promise.reject('获取失败');
});
};
... ...
... ... @@ -25,6 +25,7 @@ router.get('/info/cancelCollect', guangController.cancelCollect);
router.get('/info/listData', guangController.listDynamicData);
router.get('/info/detailData', guangController.detailDynamicData);
router.get('/info/commentData', guangController.detailCommentData);
// router.get('/info/commentData', guangController.detailCommentData);
module.exports = router;
... ...
... ... @@ -17,7 +17,7 @@
</div>
<div class="article-status clearfix">
<span class="article-time">{{time}}</span>
<span class="article-click">点击:{{click}}</span>
<span class="article-click">点击:<em>{{click}}</em></span>
<a href="#comment-info" id="article-comment" class="article-comment"><em class="comment-num">{{commentNum}}</em>条评论</a>
</div>
</div>
... ... @@ -147,4 +147,4 @@
{{> right-side}}
</div>
{{/ guang}}
</div>
\ No newline at end of file
</div>
... ...
... ... @@ -20,11 +20,11 @@
{{/ msgs}}
</div>
<div class="msg-pager pager">
{{{msgPager}}}
{{pager baseUrl totalRecords=total page=page type="ellipsis" theme="msg-pager"}}
</div>
</div>
<div class="right-side">
{{> right-side}}
</div>
{{/ guang}}
</div>
\ No newline at end of file
</div>
... ...
... ... @@ -12,10 +12,10 @@
{{/ msgs}}
</div>
{{pager totalRecords=total page=page type="ellipsis" theme="msg-pager"}}
{{pager baseUrl totalRecords=total page=page type="ellipsis" theme="msg-pager"}}
</div>
<div class="right-side">
{{> right-side}}
</div>
{{/ guang}}
</div>
\ No newline at end of file
</div>
... ...
... ... @@ -18,6 +18,6 @@
</li>
{{/ list}}
</ul>
<div class="comment-pager pager">{{pager totalRecords=commentNum page=page type="ellipsis" theme="msg-pager"}}</div>
<div class="comment-pager pager">{{pager baseUrl totalRecords=commentNum page=page pageSize=pageSize type="ellipsis" theme="msg-pager"}}</div>
</div>
{{/ comment}}
... ...
... ... @@ -9,22 +9,11 @@ function getDynamicById(id) {
'use strict';
var param = {
return_type: 'jsonp',
id: id
};
return $.getJSON('//guang.yohobuy.com/guang/info/detailData?callback=?', param);
}
function getDynamicCommentList(id, page) {
'use strict';
var param = {
id: id,
page: page
};
return $.getJSON('//guang.yohobuy.com/guang/info/commentData?callback=?', param);
// //guang.yohobuy.com/guang/info/detailData
return $.getJSON('/guang/info/detailData', param);
}
function renderData(data) {
... ... @@ -33,37 +22,31 @@ function renderData(data) {
var $favor = $('#collect-btn'),
$praise = $('#prise-btn');
if(data && data.code === 200 && data.data) {
if (data && data.code === 200 && data.data) {
if(data.data.isFavor === 'Y') {
if (data.data.isFavor === 'Y') {
$favor.addClass('collected');
} else {
$favor.removeClass('collected');
}
if(data.data.isPraise === 'Y') {
if (data.data.isPraise === 'Y') {
$praise.addClass('liked');
} else {
$praise.removeClass('liked');
}
$praise.find('.like-num').text(data.data.praiseNum || 0);
$('.detail-body .article-click em').text(data.data.browseNum || 0);
}
}
function renderComment() {
'use strict';
}
function refreshData() {
'use strict';
var id = $('.detail-body').attr('data-id');
getDynamicById(id).done(renderData);
getDynamicCommentList(id).done(renderComment);
}
refreshData();
... ...
... ... @@ -21,6 +21,7 @@ require('./right-side');
require('./img-blink');
require('../common/share');
require('./detail-dynamic');
// Pjax
require('yoho-jquery-pjax');
... ... @@ -214,6 +215,9 @@ $(document).pjax('.comment-pager a', '#pjax-container', {
$(document).on('pjax:end', function() {
showComment();
$('html,body').scrollTop($('#comment-info').offset().top);
// 设置头部评论数
$('#article-comment .comment-num').text($('#comment-area .comment-num').text());
});
$('#comment-info').keyup(function() {
... ...