import Vue from 'vue'
//时间戳转时间
export const format = (timeStamp) => {
	var date = new Date();
	date.setTime(timeStamp * 1);
	var y = date.getFullYear();
	var m = date.getMonth() + 1;
	m = m < 10 ? ('0' + m) : m;
	var d = date.getDate();
	d = d < 10 ? ('0' + d) : d;
	var h = date.getHours();
	h = h < 10 ? ('0' + h) : h;
	var minute = date.getMinutes();
	var second = date.getSeconds();
	minute = minute < 10 ? ('0' + minute) : minute;
	second = second < 10 ? ('0' + second) : second;
	return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
}
//前端生成id
export const genID = (lan, radix) => {
	var d = new Date().getTime();
	var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
		var r = (d + Math.random() * 16) % 16 | 0;
		d = Math.floor(d / 16);
		return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
	});
	return uuid;
}

export const showTitle = (item, vm) => {
	let { title, __titleIsFunction__ } = item.meta
	if (!title) return
	if (useI18n) {
		if (title.includes('{{') && title.includes('}}') && useI18n) title = title.replace(/({{[\s\S]+?}})/, (m, str) => str.replace(/{{([\s\S]*)}}/, (m, _) => vm.$t(_.trim())))
		else if (__titleIsFunction__) title = item.meta.title
		else title = vm.$t(item.name)
	} else title = (item.meta && item.meta.title) || item.name
	return title
}
export const routeEqual = (route1, route2) => {
	const params1 = route1.params || {}
	const params2 = route2.params || {}
	const query1 = route1.query || {}
	const query2 = route2.query || {}
	return (route1.name === route2.name) && objEqual(params1, params2) && objEqual(query1, query2)
}
export const setUserData = (data) => {
	console.log(data)
	uni.setStorage({
		key:"userData",
		data:data,
		success(res) {
			Vue.prototype.$userData = res
		}
	})
}
export const getUserData = () => {
	return new Promise((resolve, reject) => {
		uni.getStorage({
			key:"userData",
			success(res) {
				resolve(Object.assign({code:0},res.data));
			},
			fail(err) {
				console.log(err)
				resolve({code:999})
			}
		})   
	})
}

export const commonsbinding = () => {
	console.log(Vue.prototype.$token)
}


export const dateFormat = (date, format = "YYYY-MM-DD HH:mm:ss") => {
	var now = new Date(date)
	const config = {
		YYYY: now.getFullYear(),
		MM: (now.getMonth() + 1).toString().padStart(2, '0'),
		DD: (now.getDate()).toString().padStart(2, '0'),
		HH: now.getHours().toString().padStart(2, '0'),
		mm: now.getMinutes().toString().padStart(2, '0'),
		ss: now.getSeconds(),
	}
	for (const key in config) {
		format = format.replace(key, config[key])
	}
	return format
}

export const getTime = () => {
	var date = new Date(),
	year = date.getFullYear(),
	month = date.getMonth() + 1,
	day = date.getDate(),
	hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(),
	minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(),
	second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
	month >= 1 && month <= 9 ? (month = "0" + month) : "";
	day >= 0 && day <= 9 ? (day = "0" + day) : "";
	var timer = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
	return timer;
}