import request from '@/utils/request';
import {
	setStorageWithExpiry,
	getStorageWithExpiry
} from '@/utils/auth'

function getWXStatusHeight() {
	// #ifdef MP-WEIXIN
	// 获取距上
	const barTop = wx.getSystemInfoSync().statusBarHeight
	// 获取胶囊按钮位置信息
	const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
	// 获取导航栏高度
	const barHeight = menuButtonInfo.height + (menuButtonInfo.top - barTop) * 2
	let barWidth = menuButtonInfo.width
	console.log('menuButtonInfo', menuButtonInfo)
	let barLeftPosition = 375 - menuButtonInfo.right + menuButtonInfo.width
	let menuButtonLeft = menuButtonInfo.left
	let menuButtonRight = menuButtonInfo.right
	return {
		barHeight,
		barTop,
		barWidth,
		barLeftPosition,
		menuButtonLeft,
		menuButtonRight
	}
	// #endif
}

/**
 * 根据订单的状态获取订单的文字展示状态
 * @param ticketsStatus 订单状态
 * @param workStatus 维修工作状态
 */
function getOrderStatusText(ticketsStatus,workStatus){
	let str = "";
	if("04"==ticketsStatus){
		//待派工
		str = "待派工"
	}else if("05"==ticketsStatus || "07"==ticketsStatus){
		//维修中
		str = "维修中"
	}else if("01"==ticketsStatus){
		//待结算
		str = "待取车结算"
	}else if("06"==ticketsStatus){
		//挂单/记账
		str = "挂单/记账"
	}else if("02"==ticketsStatus){
		//已结账
		str = "已结账"
	}else if("03"==ticketsStatus){
		//已作废
		str = "已作废"
	}
	return str;
}


/**
 * 查询字典可选值
 * @param dictCode
 */
function getDictByCode(dictCode){
	let dictArray = getStorageWithExpiry(dictCode);
	if(null==dictArray || undefined==dictArray){
		request({
			url: '/app-api/system/dict-data/type',
			method: 'get',
			tenantIdFlag:false,
			params:{type:dictCode}
		}).then((res) => {
			console.log(res)
			if (res.code == 200) {
				setStorageWithExpiry(dictCode,res.data,3600)
				return res.data
			}
		})
	}else{
		return dictArray
	}
}

/**
 * 翻译字典
 * @param dictCode
 */
async function getDictTextByCodeAndValue(dictCode,value){
	return new Promise((resolve, reject) => {
		let dictArray = getStorageWithExpiry(dictCode);
		console.log(dictCode, 'dictCode')
		console.log(value, 'value')
		if (null == dictArray || undefined == dictArray) {
			request({
				url: '/app-api/system/dict-data/type',
				method: 'get',
				tenantIdFlag: false,
				params: {type: dictCode}
			}).then((res) => {
				console.log(res, 98)
				console.log(res, 98)
				if (res.code == 200) {
					setStorageWithExpiry(dictCode, res.data, 3600)
					dictArray = res.data
					let dictObj = dictArray.find(item => item.value == value)
					console.log(dictObj, "dictObj")
					if (dictObj) {
						resolve(dictObj.label);
						// return dictObj.label
					} else {
						resolve("未知数据")
					}
				}
			})
		} else {
			let dictObj = dictArray.find(item => item.value == value)
			console.log(dictObj, "dictObj")
			if (dictObj) {
				resolve(dictObj.label);
			} else {
				resolve("未知数据")
			}
		}
	});
}

function formatTimestamp(timestamp) {
	// 将时间戳转换为Date对象
	const date = new Date(timestamp);
	// 获取年月日时分秒
	const year = date.getFullYear();
	const month = (date.getMonth() + 1).toString().padStart(2, '0');
	const day = date.getDate().toString().padStart(2, '0');
	const hours = date.getHours().toString().padStart(2, '0');
	const minutes = date.getMinutes().toString().padStart(2, '0');
	const seconds = date.getSeconds().toString().padStart(2, '0');
	// 组合成日期时间字符串
	return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

function formatDate(timestamp) {
	// 将时间戳转换为Date对象
	const date = new Date(timestamp);
	// 获取年月日时分秒
	const year = date.getFullYear();
	const month = (date.getMonth() + 1).toString().padStart(2, '0');
	const day = date.getDate().toString().padStart(2, '0');
	// 组合成日期时间字符串
	return `${year}-${month}-${day}`;
}



export {
	getWXStatusHeight,
	getOrderStatusText,
	getDictByCode,
	getDictTextByCodeAndValue,
	formatTimestamp,
	formatDate,
}
