96 lines
2.6 KiB
JavaScript
96 lines
2.6 KiB
JavaScript
const App = getApp();
|
|
|
|
function getAddressDetails(lat, lng) {
|
|
return App.getReverseGeocoder(lat, lng).then((mapdata) => {
|
|
let recommend;
|
|
if (App._isTextEmpty(mapdata.formatted_addresses)) {
|
|
recommend = "";
|
|
} else {
|
|
recommend = mapdata.formatted_addresses.recommend;
|
|
}
|
|
let location = {
|
|
point: { lat, lng },
|
|
};
|
|
if (recommend) {
|
|
location["title"] = recommend;
|
|
location["address"] = mapdata.address;
|
|
location["city"] = !App._isTextEmpty(mapdata.address_component.city) ? mapdata.address_component.city : mapdata.address_component.province;
|
|
}
|
|
|
|
// 这里不能 设置"address-point",不然会与 location组件冲突
|
|
// wx.setStorageSync("address-point", location);
|
|
return location;
|
|
});
|
|
}
|
|
|
|
export function getLocation() {
|
|
return new Promise((resolve, reject) => {
|
|
const localLocation = wx.getStorageSync("address-point");
|
|
if (localLocation) {
|
|
getAddressDetails(localLocation.point.lat, localLocation.point.lng);
|
|
resolve(localLocation);
|
|
return;
|
|
}
|
|
wx.getLocation({
|
|
type: "gcj02",
|
|
isHighAccuracy: true,
|
|
})
|
|
.then((res) => {
|
|
getAddressDetails(res.latitude, res.longitude).then((res) => {
|
|
resolve(res);
|
|
});
|
|
})
|
|
.catch(() => {
|
|
resolve({
|
|
point: {
|
|
lat: "0.0",
|
|
lng: "0.0",
|
|
},
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
export function getCustomerService() {
|
|
return new Promise((resolve, reject) => {
|
|
let localData = wx.getStorageSync("projectVerificationCustomerService");
|
|
if (localData && localData.storageTime < Date.now()) {
|
|
localData = null;
|
|
}
|
|
if (!localData) {
|
|
const url = App.getNetAddresss("plugin.store-projects.frontend.index.get-base-info");
|
|
App._getNetWork({
|
|
url,
|
|
success({ data: { data: response, msg, result } }) {
|
|
if (result == 0) {
|
|
wx.showToast({
|
|
title: msg,
|
|
icon: "none",
|
|
});
|
|
return;
|
|
}
|
|
wx.setStorageSync("projectVerificationCustomerService", {
|
|
...response.cservice,
|
|
storageTime: Date.now() + 1000 * 60 * 60,
|
|
});
|
|
resolve(response.cservice);
|
|
},
|
|
fail(err) {
|
|
reject(err);
|
|
},
|
|
});
|
|
} else {
|
|
resolve(localData);
|
|
}
|
|
});
|
|
}
|
|
|
|
export function getProjectNameLang() {
|
|
const basicInfo = wx.getStorageSync("yz_basic_info");
|
|
if (basicInfo.lang?.store_projects?.project) {
|
|
return basicInfo.lang.store_projects.project;
|
|
} else {
|
|
return "项目";
|
|
}
|
|
}
|