import config from "@/config";
import storage from "./storage";
import store from "../store/index"

export default {
	console(options) {
		// if(config.debug){
		// 	console.log("====================【request start】===========================");
		// 	console.log("header: " + JSON.stringify(options.header));
		// 	console.log("method: " + options.method + " URL: " + options.url);
		// 	console.log(options.data);
		// 	console.log("====================【request   end】===========================");
		// } 
	},
	domain() {
		return config.uni_app_web_api_url.replace("api", "");
	},
	send(options = {}) {
		options.url = config.uni_app_web_api_url + '' + options.url;
		options.method = options.method || "GET";

		let users = storage.getJson("userId");
		let token = storage.getJson("token");
		if (users != null && token != null) {
			options.header = {
				"Authorization": token
			};
		}
		this.console(options);
		return new Promise((resolve, reject) => {
			// uni.showLoading({
			// 	title: '加载中...',
			// 	mask: true
			// });
			uni.request(options).then(data => {
				var [error, res] = data;
				if (error != null) {
					reject(error);
					uni.showToast({
						title: '请求接口失败!',
						icon: 'none',
					})
				} else {
					if (res.data.code == -3) {
						storage.remove("users")
						storage.remove("token")
						store.commit("DELETEUSERS")
						uni.reLaunch({
							url: '/pages/public/login'
						})
					} else {
						resolve(res.data);
					}
				}
				// uni.hideLoading();
			});
		});
	},
	get(url = "", data = {}) {
		return this.send({
			url: url,
			data: data
		});
	},
	post(url = "", data = {}) {
		return this.send({
			url: url,
			data: data,
			method: "POST",
		});
	}
};