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 "项目"; } }