"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
require("core-js/modules/es.promise.js");
async function request(url, config) {
  try {
    const response = await fetch(url, {
      ...config,
      headers: {
        'content-type': 'application/json;charset=UTF-8',
        ...(config === null || config === void 0 ? void 0 : config.headers)
      },
      body: JSON.stringify(config === null || config === void 0 ? void 0 : config.data)
    });
    const res = await response.json();
    const {
      ret: code
    } = res;
    // dataAxios 是 axios 返回数据中的 data
    const dataAxios = res.data;
    // 这个状态码是和后端约定的
    switch (code) {
      case 0:
        // [ 示例 ] code === 0 代表没有错误
        return dataAxios;
      default:
        return Promise.reject(dataAxios);
    }
  } catch (error) {
    return Promise.reject(error);
  }
}
var _default = request;
exports.default = _default;