export default (params) => {
	let url = params.url;
	let method = params.method || "get";
	let data = params.data || {};
	let type = params.type || 1;
	let toast = params.toast || true;
	let token=uni.cache.get('token') || '';
	const shopId=uni.cache.get('shopId')*1;
	const userInfo=uni.cache.get('userInfo')||{};
	// #ifdef H5
	token="21f0a0b10e1d40ce9c6464037fedb792"
	// #endif
	let header = {
		version: uni.conf.version,
		type: uni.getSystemInfoSync().platform,
		// #ifdef APP-PLUS
		platformType: 'APP',
		// #endif
		// #ifdef H5
		platformType: 'H5',
		// #endif
		// #ifdef MP-WEIXIN
		platformType: 'WX',
		// #endif
		// #ifdef MP-ALIPAY
		platformType: 'ALI',
		// #endif
		token,
		id: userInfo.id || '',
		shopId:shopId  || '',
		userId: userInfo.id || '',
	}
	if (toast) {
		uni.showLoading({
			title: '加载中',
			mask: true
		})
	}
	return new Promise((resolve, reject) => {
		const timeoutDuration = params.timeout || 10000; // 可以通过 params 传入超时时间，默认 10 秒
		uni.request({
			url: uni.conf.baseUrl + url,
			method: method,
			header: header,
			data: data,
			timeout: timeoutDuration,
			success(response) {
				const res = response.data
				// 根据返回的状态码做出对应的操作
				//获取成功
				if (res.code == 200) {
					uni.hideLoading();
					uni.hideToast();
					resolve(res.data ? res.data : true);
				} else {
					switch (res.code) {
						case '501':
							uni.cache.remove('shopId')
							// uni.showToast({
							// 	title: '',
							// 	icon: "none",
							// 	success: () => {

							// 	}
							// })
							setTimeout(() => {
								uni.reLaunch({
									url: "/pages/index/index",
								})
							}, 1000);
							break;
						case 404:
							uni.showToast({
								title: '请求地址不存在...',
								duration: 2000,
							})
							break;
						default:
							// 是否提示
							if (toast) {
								uni.showToast({
									title: res.message || res.msg || res.error,
									icon: "none",
									success: () => {
										setTimeout(res => {
											reject(false);
										}, 1000)
									}
								})
							}
							break;
					}
				}
			},
			fail(err) {
				if (err.errMsg.indexOf('request:fail') !== -1) {
					if (err.errMsg.indexOf('timeout') !== -1) {
						if (toast) {
							uni.showToast({
								title: `请求超时，请稍后重试`,
								icon: "error",
								duration: 2000
							});
						}
					}
				}
				reject(err);
			},
			complete() {
				// 不管成功还是失败都会执行
				setTimeout(res => {
					uni.hideLoading();
					uni.hideToast();
				}, 10000)

			}
		});
	}).catch((e) => {
	});
};