import { config } from "../../common/config";
import { v4 as uuidV4 } from "uuid";
/**
 * 请求拦截
 * @param {Object} http
 */
module.exports = (vm) => {
  uni.$u.http.interceptors.request.use(
    (httpConfig) => {
      // 可使用async await 做异步操作
      // 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
      httpConfig.data = httpConfig.data || {};
      if (httpConfig.custom.isIMApi) {
         httpConfig.baseURL = config.getApiUrl();
      }
	
      if (httpConfig.custom.isPgyerApi) {
        httpConfig.baseURL = "https://www.pgyer.com";
      }
      httpConfig.header = {
        ...httpConfig.header,
        operationID: uuidV4(),
      };
	  //console.log("qxj httprequest config:"+JSON.stringify(httpConfig));
      // 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
	  console.log("qxj httprequest url:"+(httpConfig.baseURL+httpConfig.url)+" \n method:"+httpConfig.method+" header:"+JSON.stringify(httpConfig.header)+" body:"+JSON.stringify(httpConfig.data)+" \n");
      return httpConfig;
    },
    (
      httpConfig, // 可使用async await 做异步操作
    ) => Promise.reject(httpConfig),
  );
};
