import { getConfigField } from '../../config/index';

/**
 * 处理请求路径
 * 当在开发模式下，使用 vite 中配置 proxy，代理所有的 /api/ 相关的请求
 * 开发模式下使用外网地址：http://smartai.com:8191
 * 使用外网地址的原因是：有其他成员在非内网环境下进行共同开发，故无法使用内网地址
 *
 * 当在production模式下，通过此处的方法，将所有 /api/ 请求地址，调整为正常的地址
 * @param {object} config
 * @returns
 */
export default function replaceProxyUrl(config) {
  /**
   * 如果是发布模式
   * 则不能使用代理的方式，需要直接请求服务器路径
   * API_BASE_URL 需要在 /public/config.js 中进行配置
   */
  if (import.meta.env.MODE === 'production') {
    const cur_url = config.url;

    const is_api_request = cur_url.indexOf('/v1/') === 0;

    if (is_api_request) {
      const base_url = getConfigField('API_BASE_URL');
      console.log(base_url);

      if (!base_url) {
        throw new Error('关键配置项 API_BASE_URL 不存在，请在 /config.js 进行配置');
      }

      config.url = base_url + cur_url;
    }
  } else {
    // 开发环境，无需处理
  }

  return config;
}
