2025-05-23 11:25:46 +08:00

150 lines
2.6 KiB
JavaScript

import config from "./config.js";
import {
showModelMessage,
jkcBaseDecode
} from "./tools.js";
import {
callOrdereApi
} from "./api.js";
const imgPath = config.imgPath;
export const sdkKey = '1f8f159583f28dfba6eb06deb55e3b56';
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(mapsdk, longitude, latitude, success, fail) {
mapsdk.getRegeo({
location: `${longitude},${latitude}`,
success: (res) => {
const {
name,
regeocodeData
} = res[0];
const {
addressComponent: {
adcode,
province,
city,
district
},
formatted_address
} = regeocodeData;
if (success) success({
name,
formatted_address,
adcode,
province,
city,
district
});
},
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;
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)
})
}
//添加面
export function addPolygon(scolor, fcolor, arrPoints) {
return {
points: arrPoints,
fillColor: fcolor,
strokeWidth: 3,
strokeColor: scolor,
zIndex: 11
}
}