api.js 1.04 KB
/**
 * 接口公共方法
 * @author: xuqi<qi.xu@yoho.cn>
 * @date: 2016/4/25
 */

'use strict';

const rp = require('request-promise');
const _ = require('lodash');

const ApiUrl = 'http://testapi.yoho.cn:28078/';

class API {

    /**
     * get
     * @param url String
     * @param data Obejct
     */
    get(url, data) {
        return rp({
            url: `${ApiUrl}${url}`,
            qs: data
        });
    }

    /**
     * multi get
     * @params: urls => Array[Object[url[string], data[object]]]
     */
    multiGet(urls) {
        var rps = [];

        _.forEach(urls, function(el) {
            rps.push(rp({
                url: `${ApiUrl}${el.url}`,
                qs: el.data
            }));
        });

        return Promise.all(rps).then((d) => {
            return d;
        });
    }

    /**
     * post
     * @param url String
     * @param data Obejct
     */
    post(url, data) {
        return rp({
            url: `${ApiUrl}${url}`,
            method: 'post',
            form: data
        });
    }
}

module.exports = API;