import config from "./config.js";
import {
	showModelMessage,jkcBaseDecode
} from "./tools.js";
import {
	callOrdereApi
} from "./api.js";

const imgPath = config.imgPath;

export const sdkKey = '44FBZ-K4ZC3-NDE33-O6JAE-VN3GO-NDFRQ';

export function getMap (mapid, instance)  {
	return uni.createMapContext(mapid, {
		this: instance.proxy
	});
}

//获取当前定位
export function getLoalcation(success, fail) {
	uni.getLocation({
		type: 'gcj02', // 返回可以用于 wx.openLocation 的经纬度
		geocode: true,
		success(res) {
			const {
				latitude,
				longitude
			} = res;
			if (success) success({
				latitude,
				longitude
			});
		},
		fail(res) {
			if (fail) fail(res);
		}
	});
}

//逆解析地址
export function reverseGeocoder(qqmapsdk, longitude, latitude, success, fail) {
	qqmapsdk.reverseGeocoder({
		location: {
			latitude: latitude,
			longitude: longitude
		},
		success: (res) => {
			if (success) success(res.result);
		},
		fail: (res) => {
			if (fail) success(fail);
		}
	})
}

//添加点
export function addMarker(id, longitude, latitude, icon, joinCluster) {
	return {
		id: id,
		latitude,
		longitude,
		width: 30,
		height: 30,
		zIndex: "100",
		iconPath: imgPath + "static/userui/home/" + icon,
		joinCluster: joinCluster ? true : false,
		test: "1"
	};
}

//添加线
export function addLine(scolor, arrPoints) {
	return {
		points: arrPoints,
		color: scolor,
		width: 3
	}
}

//创建订单
export function addOrder(bikeCode,  callback) {
	const oUser =JSON.parse(jkcBaseDecode(uni.getStorageSync("wechat_user"))); 
	if (!oUser) {
		uni.navigateTo({
			url: "/pages/user/login/wx_login"
		})
	}
	const {
		userId
	} = oUser;
	const params = {
		userId,
		bikeCode
	}
	saveRide(params, 1, callback)
}

function saveRide(params, icnt, callback) {
	callOrdereApi("userOrders/saveRide", params, "post").then(res => {
		const {
			code,
			message
		} = res;
		console.log("33333333333333333333333","userOrders/saveRide",res);
		if (code != 200) {
			if (icnt <= 3) {
				saveRide(params, icnt + 1, callback);
				return;
			}
			showModelMessage(message);
			if(callback) callback(false);
			return;
		}
		if(callback)callback(true);
		setTimeout(() => {
			uni.navigateTo({
				url: "/pages/user/home/home"
			})
		}, 1000)
		
	})
}