list-dynamic.js 1.83 KB
/**
 * 动态获取页面数据
 * @author liuchuanyang
 * @date 2016/10/09
 */
var $ = require('yoho-jquery');

var $msgs = $('#msg-list');

require('../common');

function getDynamicByIds(ids) {
    'use strict';
    var data = {
        ids: ids
    };

    var qs = window.queryString();

    if (qs.query) {

        // 标签列表
        data.query = qs.query;
    } else if (qs.type) {

        // 逛首页type
        data.type = qs.type;
    } else if (!qs.author_id) {

        // 非编辑页的情况下,为逛首页默认type=0
        data.type = '0';
    }

    return $.ajax({
        type: 'GET',
        url: '/guang/info/listData',
        data: data
    });
}

function renderData(data) {
    'use strict';

    var i,
        it,
        $it;

    var list;

    if (data && data.code === 200 && (list = data.data.artList)) {
        for (i = 0; i < list.length; i++) {
            it = list[i];

            if (it && it.articleId) {
                $it = $('.msg-content[data-id=' + it.articleId + ']', $msgs);

                // 浏览数目
                $it.find('.page-view em').text(it.views_num);

                // 点赞状态
                if (it.isPraise === 'Y') {
                    $it.find('.like-icon').addClass('liked');
                } else {
                    $it.find('.like-icon').removeClass('liked');
                }

                // 点赞数目
                $it.find('.like .num').text(it.praise_num);

                // 评论数目
                $it.find('.comment em').text(it.comment_num);
            }
        }
    }
}

(function() {
    'use strict';

    var idArr = [];

    $msgs.children('.msg-content').each(function() {
        var id = $(this).data('id');

        if (id) {
            idArr.push(id);
        }
    });

    getDynamicByIds(idArr.join(',')).then(renderData);
}());