import { userLogin } from "./index";
import Qs from "qs";

export async function getToken(config) {
  return login();
}

export async function login() {
  console.log("我还在登录中");
  const timestamp = parseInt(new Date().valueOf() / 1000);
  let data = {
    timestamp,
    send_order_id:localStorage.getItem('send_order_id') || ''
  };
  let ret = await userLogin(data);
  if (ret) {
    localStorage.setItem("token", ret.token);
    localStorage.setItem("uuids", ret.hashuser);
    return Promise.resolve(ret.token);
  } else {
    return Promise.reject("false");
  }
}

export async function refreshToken() {
  localStorage.removeItem("token");
  await getToken();
}

export function generateReqKey(config) {
  // 响应的时候，response.config 中的data 是一个JSON字符串，所以需要转换一下
  if (config && config.data && isJsonStr(config.data)) {
    config.data = JSON.parse(config.data);
  }
  const { method, url, params, data } = config; // 请求方式，参数，请求地址，
  return [method, url, Qs.stringify(params), Qs.stringify(data)].join("&"); // 拼接
}

// 判断一个字符串是否为JSON字符串
export let isJsonStr = str => {
  if (typeof str == "string") {
    try {
      var obj = JSON.parse(str);
      if (typeof obj == "object" && obj) {
        return true;
      } else {
        return false;
      }
    } catch (e) {
      console.log("error：" + str + "!!!" + e);
      return false;
    }
  }
};
