index.js 2.48 KB
/**
 * Created by PhpStorm.
 * User: Targaryen
 * Date: 2016/8/10
 * Time: 13:43
 */

'use strict';

// const logger = global.yoho.logger;
const favApi = global.yoho.FavAPI;
const api = global.yoho.API;

/**
 * 个人详情数据
 */
const _userData = (params) => {
    return api.get('', {
        method: 'app.passport.profile',
        uid: params.uid,
    }, {code: 200});
};

/**
 * 获取个人中心公告有关数据
 */
const _noticeData = () => {
    return api.get('', {
        method: 'app.resources.getNotices',
    }, {code: 200});
};

/**
 * 收藏数量接口
 * @param params
 * @returns {*|Promise.<TResult>}
 */
const _favoriteData = (params) => {
    return favApi.get('brower', {
        method: 'app.favorite.getFavoriteCount',
        uid: params.uid || '8039759'
    }, {code: 200});
};

/**
 * 个人中心页面优惠券,收藏的商品等的数目数据
 */
const _infoNum = (params) => {
    return api.get('', {
        method: 'app.home.getInfoNum',
        uid: params.uid,
        udid: params.udid,
    }, {code: 200});
};

/**
 * 个人中心首页
 * @param params
 * @returns {function()}
 */
const index = (params) => {
    let finalResult = {
        myIndexPage: true,
        showDownloadApp: true,
        navHome: true,
        pageFooter: true,
        refund_exchange_num: 0,
    };

    return api.all([
        _userData(params),
        _noticeData(),
        _favoriteData(params),
        _infoNum(params)
    ]).then(result => {
        // console.log(result);
        if (result[1] && result[1].data) {
            Object.assign(finalResult, {
                notice: [{title: 'message'}]
            });
        }

        if (result[2] && result[2].data) {
            Object.assign(finalResult, {
                product_favorite_total: result[2].data.product_favorite_total,
            });
        }

        if (result[3] && result[3].data) {
            Object.assign(finalResult, {
                send_cargo_num: result[3].data.send_cargo_num,
                wait_cargo_num: result[3].data.wait_cargo_num,
                wait_pay_num: result[3].data.wait_pay_num,
                yoho_coin_num: result[3].data.yoho_coin_num,
                inbox_total: result[3].data.inbox_total,
                coupon_num: result[3].data.coupon_num,
                brand_favorite_total: result[3].data.brand_favorite_total,
                product_browse: result[3].data.product_browse
            });
        }


        return finalResult;
    });
};

module.exports = {
    index
};