"use strict";
const process = require('process');
const axios = require('axios');
const _ = require('lodash');
let basename = '';
let serverRender = null;
exports.setBasename = (name) => {
    basename = name;
};
exports.setServerRender = (render) => {
    serverRender = render;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = (option) => {
    // 如果不设置 url 参数,默认使用 action 作为 url 地址
    if (!option.url) {
        option.url = option.type;
    }
    let promise = null;
    if (process.browser) {
        promise = axios({
            url: basename + option.url,
            method: option.method,
            params: option.params,
            data: option.data
        });
    }
    else {
        if (serverRender) {
            // 服务端接收参数是 params 和 data 的聚合
            promise = serverRender({
                url: option.url,
                data: _.assign(option.params || {}, option.data || {})
            }, option.type);
        }
    }
    return {
        type: option.type,
        promise: promise
    };
};
