import env from '../js/env.js';

function service(options = {}) {
	options.url = `${env.baseUrl}${options.url}`;
	// 判断本地是否存在token，如果存在则带上请求头
	let access_token = uni.getStorageSync('accessToken')
	let refresh_token = uni.getStorageSync('refresh_token')
	options.header = {
		'Authorization': 'Bearer '+ access_token,
		'content-type': 'application/json'
	};

	// resolved是返回成功数据，rejected返回错误数据
	return new Promise((resolved, rejected) => {
		options.success = (res) => {
			// 如果请求回来的状态码不是200则执行以下操作
			if (res.data.code !== 200) {
				// 非成功状态码弹窗
				uni.showToast({
					icon: 'none',
					duration: 3000,
					title: `${res.data.msg}`
				});
				// 这里可以做一些状态码判断以及操作
				// 返回错误信息
				rejected(res)
			} else {
				// 请求回来的状态码为200则返回内容
				resolved(res)
			}
		};
		options.fail = (err) => {
			// 请求失败弹窗
			uni.showToast({
				icon: 'none',
				duration: 3000,
				title: '系统繁忙,请稍后再试'
			});
			rejected(err);
		};
		uni.request(options);
	});
}

export default service;
