import http from './http.js'

const config = {
	//示例
	// getConfig: { url: '/api/getConfig', method: 'GET', limit: 500 },
	// 修改个人信息接口
	infoUpdateInfo: { url: '/cheer/info/updateInfo', method: 'POST', auth: true },
	// 登录接口
	loginLogin: { url: '/cheer/login/login', method: 'GET' },
	 // 获取个人信息接口
	infoGetInfo: { url: '/cheer/info/getInfo', method: 'GET', auth: true },
	//下单
	createOrderPay: { url: '/cheer/info/createOrderPay', method: 'GET', auth: true, limit : 2000 },
	//获取折扣、客户电话、微信
	getConfig: { url: '/cheer/info/getConfig', method: 'GET'},
	//获取充值套餐
	getRechargePage: { url: '/cheer/info/getRechargePage', method: 'GET'},
	//获取加油流水订单
	getOrderWaterPage: { url: '/cheer/info/getOrderWaterPage', method: 'GET'},
	//获取隐私政策
	getPrivacyPolicy: { url: '/cheer/login/getPrivacyPolicy', method: 'GET'},
	//获取用户协议
	getUserAgreement: { url: '/cheer/login/getUserAgreement', method: 'GET'},
}



export function api(key, data, callback, loadingTitle) {
	let req = config[key]

	if (!req) {
		console.error('无效key' + key);
		return
	}

	if (typeof callback == 'string') {
		loadingTitle = callback
	}

	if (typeof data == 'function') {
		callback = data
		data = {}
	}

	// 接口限流
	if (req.limit) {
		let storageKey = 'limit:' + req.url
		let storage = uni.getStorageSync(storageKey)
		if (storage && new Date().getTime() - parseInt(storage) < req.limit) {
			return
		}
		uni.setStorageSync(storageKey, new Date().getTime())
	}

	//必须登录
	if (req.auth) {
		if (!uni.getStorageSync('token')) {
			// uni.navigateTo({
			// 	url: '/pages/login/mobile'
			// })
			console.error('需要登录')
			return
		}
	}

	http.http(req.url, data, callback, req.method,
		loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
}



export default api