import axios from 'axios';

import { hintToast } from "./tools";
let baseUrl2 = ''; //二类区地址
let baseUrlZddwUrl = ''; //重点单位地址
let gjURL = '/api';

try {
	let fwzxToken = bridge.getToken();
	baseUrl2 = `http://220.166.58.28:172`;
	baseUrlZddwUrl = `http://220.166.58.28:172`;
	gjURL = `http://220.166.58.28:172/api`;
} catch (error) {
}

const service = axios.create({
	baseURL: gjURL,
	timeout: 60000
});

// 1.请求拦截器
service.interceptors.request.use(
	(config) => {
		// 请求接口之前 做些什么
		//1.统一注入token
		let token = window.localStorage.getItem('token')
		if (token) {
			config.headers.Authorization = `Bearer ${token}`;
		}
		//2.设置headers icode
		// config.headers.code = '';
		// 必须返回 config
		return config;
	},
	(error) => {
		return Promise.reject(error);
	}
);

// 2.响应拦截器
service.interceptors.response.use(
	// 请求成功的处理
	(response) => {
		const {
			success,
			code,
			msg,
			message,
			data,
			status
		} = response.data;
		// 需要判断当前请求是否成功
		if (success && code === 10000) {
			return data; // 成功后返回解析后的数据
		} else if (code === 200 || code == "00000") {
			return data; // 成功后返回解析后的数据
		} else if (code === 401) {
			// store.dispatch('user/logout');
			// ElMessage.error(message); // 提示错误信息
			// hintToast(message)
		} else {
			// 失败（请求成功 ，业务失败） 弹出消息提示
			// hintToast(message)
			return Promise.reject(new Error(message));
		}
	},
	// 请求失败处理
	(error) => {
		//token过期
		// hintToast(error.message)
		return Promise.reject(error);
	}
);

export {
	service,
	baseUrl2,
	baseUrlZddwUrl
};