0

我需要从保存在 C:/ 中的 json 文件中读取用于产品的电子反应应用程序构建中 API 服务器的 IP 地址。这是为了在 ip 更改时不要再次构建用于生产的项目。

我使用 axios 实例来调用 api

import axios from 'axios';

const apiTest = 'http://localhost:8000/api';
const apiURL = 'http://189.173.109.69:1080/api'; // <- i need to get this from a json file saved in C drive

class AxiosInstance {
  private static instance: any;

  public manager: any;

  constructor() {
    if (AxiosInstance.instance) {
      return AxiosInstance.instance;
    }
    this.manager = axios.create({
      baseURL: apiURL,
    });



    this.manager.defaults.headers = {
      'content-type': 'application/json',
      Accept: 'application/json',
    };

    AxiosInstance.instance = this;
    this.manager.defaults.timeout = 15000;
    this.manager.interceptors.request.use((request: any) =>
      AxiosInstance.requestHandler(request)
    );
    this.manager.interceptors.response.use(
      (response: any) => {
        return response;
      },
      async (error: any) => {
        // Do something with response error
        if (error?.response?.data?.error && error.response.status === 401) {
          const errorText = error?.response?.data?.error;
          console.log(errorText);
          return Promise.reject(error);
        }
        // Do something with response error
        if (error?.response?.data?.error && error.response.status === 422) {
          let errorText = '';
          // eslint-disable-next-line guard-for-in
          for (const key in error?.response?.data?.error) {
            errorText += `${error?.response?.data?.error[key]} \n`;
          }
          console.log(errorText);
        }
        return Promise.reject(error);
      }
    );
  }

  static requestHandler = async (request: any) => {
    // const jwt = await SecureStore.getItemAsync('jwt');
    // if (jwt) {
    request.headers['content-type'] = 'application/json';
    // request.headers.Authorization = `Bearer ${jwt}`;
    // }
    return request;
  };
}

export { apiURL, apiTest, AxiosInstance };

export default new AxiosInstance().manager;

我需要从该 json 文件中获取 IP 地址并将其作为 apiURL (baseURL) 放入 axios 实例中以进行 api 调用。

4

0 回答 0