@heycar/heycars-map 0.9.20-querying2 → 0.9.20-timeout
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +33 -9
- package/dist/index.js +33 -9
- package/dist/src/api/contants.d.ts +2 -0
- package/dist/src/utils/helper.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -163,7 +163,7 @@ const mockWxByUrl = () => {
|
|
|
163
163
|
};
|
|
164
164
|
mockWxByUrl();
|
|
165
165
|
const name = "@heycar/heycars-map";
|
|
166
|
-
const version = "0.9.20-
|
|
166
|
+
const version = "0.9.20-timeout";
|
|
167
167
|
const type = "module";
|
|
168
168
|
const bin = {
|
|
169
169
|
checkVersion: "./bin/checkVersion.js"
|
|
@@ -1559,6 +1559,14 @@ const createAsyncNoFailNonNullable = (fn, defaultValue) => {
|
|
|
1559
1559
|
return fn(...args).then((result) => result != null ? result : defaultValue).catch(() => defaultValue);
|
|
1560
1560
|
};
|
|
1561
1561
|
};
|
|
1562
|
+
const pipeTimeout = (fn, defaultValue, timeout) => {
|
|
1563
|
+
return function pipedTimeoutedFunction(...args) {
|
|
1564
|
+
return new Promise((resolve, reject) => {
|
|
1565
|
+
setTimeout(() => resolve(defaultValue), timeout);
|
|
1566
|
+
fn(...args).then(resolve).catch(reject);
|
|
1567
|
+
});
|
|
1568
|
+
};
|
|
1569
|
+
};
|
|
1562
1570
|
const MAX_ANIMATION_DISTANCE_VW = 300;
|
|
1563
1571
|
const MIN_ANIMATION_DURATION = 300;
|
|
1564
1572
|
const ANIMATION_DURATION_FOR_100VW = 200;
|
|
@@ -1575,6 +1583,8 @@ const ZINDEX_AUXILIARY_GRASP = 14;
|
|
|
1575
1583
|
const ZINDEX_LINE_LAYER = 12;
|
|
1576
1584
|
const ZINDEX_GREEN_ZONE = 10;
|
|
1577
1585
|
const TRACKS_MATCH_MAX_LENGTH = 3;
|
|
1586
|
+
const REGEO_TIMEOUT = 2e3;
|
|
1587
|
+
const GET_RECOMMEND_PLACE_TIMEOUT = 2e3;
|
|
1578
1588
|
const IS_ENABLE_AUXILIARY_GRASP_ROAD = location.search.includes("enableAuxiliaryGraspRoad");
|
|
1579
1589
|
const AMAP_DEFAULT_MARKER_ICON_URL = "https://webapi.amap.com/theme/v1.3/markers/b/mark_bs.png";
|
|
1580
1590
|
const vec2lnglat = ([lng, lat]) => ({
|
|
@@ -6702,6 +6712,12 @@ const useAmapPlace = (props) => {
|
|
|
6702
6712
|
}
|
|
6703
6713
|
}
|
|
6704
6714
|
});
|
|
6715
|
+
setTimeout(() => {
|
|
6716
|
+
console.warn("高德逆地理请求超时!");
|
|
6717
|
+
const name2 = emptyPlaceName;
|
|
6718
|
+
const displayName = emptyPlaceName;
|
|
6719
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
6720
|
+
}, REGEO_TIMEOUT);
|
|
6705
6721
|
});
|
|
6706
6722
|
};
|
|
6707
6723
|
Vue.watch(
|
|
@@ -6812,7 +6828,11 @@ const useMapRecomendPlace = (props) => {
|
|
|
6812
6828
|
);
|
|
6813
6829
|
});
|
|
6814
6830
|
const isQueryingRef = Vue.ref(false);
|
|
6815
|
-
const getRecomendPlaceNoFail =
|
|
6831
|
+
const getRecomendPlaceNoFail = pipeTimeout(
|
|
6832
|
+
createAsyncNoFailNonNullable(getRecomendPlace, {}),
|
|
6833
|
+
{ available: true },
|
|
6834
|
+
GET_RECOMMEND_PLACE_TIMEOUT
|
|
6835
|
+
);
|
|
6816
6836
|
const findAttachedPlace = async (place) => {
|
|
6817
6837
|
const inputRecommendZonePlaces = await getRecomendPlaceNoFail({ ...place }, context2);
|
|
6818
6838
|
const {
|
|
@@ -6833,18 +6853,22 @@ const useMapRecomendPlace = (props) => {
|
|
|
6833
6853
|
return { place: { ...resultPlace }, zone, candidates: placeCandidates, available };
|
|
6834
6854
|
};
|
|
6835
6855
|
const getRecommendPlaceZoneState = async (point, prevState) => {
|
|
6856
|
+
const [lng, lat] = point;
|
|
6836
6857
|
const zone = zoneRef.value;
|
|
6837
6858
|
if (!zone || !apiMapIsPointInRing(point, zone.path)) {
|
|
6838
|
-
const
|
|
6859
|
+
const reGeoPlacePromise = getPlaceByRegeo(point);
|
|
6839
6860
|
const {
|
|
6840
|
-
place:
|
|
6861
|
+
place: closestPlace,
|
|
6841
6862
|
candidates,
|
|
6842
6863
|
available,
|
|
6843
6864
|
zone: zone2
|
|
6844
|
-
} = await findAttachedPlace(
|
|
6845
|
-
|
|
6865
|
+
} = await findAttachedPlace({ lng, lat, name: "", displayName: "" });
|
|
6866
|
+
if (!isPointEqual(place2point(closestPlace), point)) {
|
|
6867
|
+
return { place: { ...closestPlace }, zone: zone2, available, candidates };
|
|
6868
|
+
}
|
|
6869
|
+
const regeoPlace = await reGeoPlacePromise;
|
|
6870
|
+
return { place: { ...regeoPlace }, zone: zone2, available, candidates };
|
|
6846
6871
|
}
|
|
6847
|
-
const [lng, lat] = point;
|
|
6848
6872
|
const { shortestPlace: resultPlace } = findNearestPlace(
|
|
6849
6873
|
{ lng, lat, name: "", displayName: "" },
|
|
6850
6874
|
prevState.candidates,
|
|
@@ -7943,7 +7967,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
7943
7967
|
"mapRef": setMap,
|
|
7944
7968
|
"fallback": slots.fallback,
|
|
7945
7969
|
"loading": slots.loading,
|
|
7946
|
-
"outerArea": () =>
|
|
7970
|
+
"outerArea": () => Vue.h(AbsoluteAddressBox, {
|
|
7947
7971
|
"attrs": {
|
|
7948
7972
|
"title": title,
|
|
7949
7973
|
"description": description,
|
|
@@ -8192,7 +8216,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
8192
8216
|
"mapRef": setMap,
|
|
8193
8217
|
"fallback": slots.fallback,
|
|
8194
8218
|
"loading": slots.loading,
|
|
8195
|
-
"outerArea": () =>
|
|
8219
|
+
"outerArea": () => Vue.h(AbsoluteAddressBox, {
|
|
8196
8220
|
"attrs": {
|
|
8197
8221
|
"title": title,
|
|
8198
8222
|
"description": description,
|
package/dist/index.js
CHANGED
|
@@ -161,7 +161,7 @@ const mockWxByUrl = () => {
|
|
|
161
161
|
};
|
|
162
162
|
mockWxByUrl();
|
|
163
163
|
const name = "@heycar/heycars-map";
|
|
164
|
-
const version = "0.9.20-
|
|
164
|
+
const version = "0.9.20-timeout";
|
|
165
165
|
const type = "module";
|
|
166
166
|
const bin = {
|
|
167
167
|
checkVersion: "./bin/checkVersion.js"
|
|
@@ -1557,6 +1557,14 @@ const createAsyncNoFailNonNullable = (fn, defaultValue) => {
|
|
|
1557
1557
|
return fn(...args).then((result) => result != null ? result : defaultValue).catch(() => defaultValue);
|
|
1558
1558
|
};
|
|
1559
1559
|
};
|
|
1560
|
+
const pipeTimeout = (fn, defaultValue, timeout) => {
|
|
1561
|
+
return function pipedTimeoutedFunction(...args) {
|
|
1562
|
+
return new Promise((resolve, reject) => {
|
|
1563
|
+
setTimeout(() => resolve(defaultValue), timeout);
|
|
1564
|
+
fn(...args).then(resolve).catch(reject);
|
|
1565
|
+
});
|
|
1566
|
+
};
|
|
1567
|
+
};
|
|
1560
1568
|
const MAX_ANIMATION_DISTANCE_VW = 300;
|
|
1561
1569
|
const MIN_ANIMATION_DURATION = 300;
|
|
1562
1570
|
const ANIMATION_DURATION_FOR_100VW = 200;
|
|
@@ -1573,6 +1581,8 @@ const ZINDEX_AUXILIARY_GRASP = 14;
|
|
|
1573
1581
|
const ZINDEX_LINE_LAYER = 12;
|
|
1574
1582
|
const ZINDEX_GREEN_ZONE = 10;
|
|
1575
1583
|
const TRACKS_MATCH_MAX_LENGTH = 3;
|
|
1584
|
+
const REGEO_TIMEOUT = 2e3;
|
|
1585
|
+
const GET_RECOMMEND_PLACE_TIMEOUT = 2e3;
|
|
1576
1586
|
const IS_ENABLE_AUXILIARY_GRASP_ROAD = location.search.includes("enableAuxiliaryGraspRoad");
|
|
1577
1587
|
const AMAP_DEFAULT_MARKER_ICON_URL = "https://webapi.amap.com/theme/v1.3/markers/b/mark_bs.png";
|
|
1578
1588
|
const vec2lnglat = ([lng, lat]) => ({
|
|
@@ -6700,6 +6710,12 @@ const useAmapPlace = (props) => {
|
|
|
6700
6710
|
}
|
|
6701
6711
|
}
|
|
6702
6712
|
});
|
|
6713
|
+
setTimeout(() => {
|
|
6714
|
+
console.warn("高德逆地理请求超时!");
|
|
6715
|
+
const name2 = emptyPlaceName;
|
|
6716
|
+
const displayName = emptyPlaceName;
|
|
6717
|
+
resolve({ lng, lat, name: name2, displayName });
|
|
6718
|
+
}, REGEO_TIMEOUT);
|
|
6703
6719
|
});
|
|
6704
6720
|
};
|
|
6705
6721
|
watch(
|
|
@@ -6810,7 +6826,11 @@ const useMapRecomendPlace = (props) => {
|
|
|
6810
6826
|
);
|
|
6811
6827
|
});
|
|
6812
6828
|
const isQueryingRef = ref(false);
|
|
6813
|
-
const getRecomendPlaceNoFail =
|
|
6829
|
+
const getRecomendPlaceNoFail = pipeTimeout(
|
|
6830
|
+
createAsyncNoFailNonNullable(getRecomendPlace, {}),
|
|
6831
|
+
{ available: true },
|
|
6832
|
+
GET_RECOMMEND_PLACE_TIMEOUT
|
|
6833
|
+
);
|
|
6814
6834
|
const findAttachedPlace = async (place) => {
|
|
6815
6835
|
const inputRecommendZonePlaces = await getRecomendPlaceNoFail({ ...place }, context2);
|
|
6816
6836
|
const {
|
|
@@ -6831,18 +6851,22 @@ const useMapRecomendPlace = (props) => {
|
|
|
6831
6851
|
return { place: { ...resultPlace }, zone, candidates: placeCandidates, available };
|
|
6832
6852
|
};
|
|
6833
6853
|
const getRecommendPlaceZoneState = async (point, prevState) => {
|
|
6854
|
+
const [lng, lat] = point;
|
|
6834
6855
|
const zone = zoneRef.value;
|
|
6835
6856
|
if (!zone || !apiMapIsPointInRing(point, zone.path)) {
|
|
6836
|
-
const
|
|
6857
|
+
const reGeoPlacePromise = getPlaceByRegeo(point);
|
|
6837
6858
|
const {
|
|
6838
|
-
place:
|
|
6859
|
+
place: closestPlace,
|
|
6839
6860
|
candidates,
|
|
6840
6861
|
available,
|
|
6841
6862
|
zone: zone2
|
|
6842
|
-
} = await findAttachedPlace(
|
|
6843
|
-
|
|
6863
|
+
} = await findAttachedPlace({ lng, lat, name: "", displayName: "" });
|
|
6864
|
+
if (!isPointEqual(place2point(closestPlace), point)) {
|
|
6865
|
+
return { place: { ...closestPlace }, zone: zone2, available, candidates };
|
|
6866
|
+
}
|
|
6867
|
+
const regeoPlace = await reGeoPlacePromise;
|
|
6868
|
+
return { place: { ...regeoPlace }, zone: zone2, available, candidates };
|
|
6844
6869
|
}
|
|
6845
|
-
const [lng, lat] = point;
|
|
6846
6870
|
const { shortestPlace: resultPlace } = findNearestPlace(
|
|
6847
6871
|
{ lng, lat, name: "", displayName: "" },
|
|
6848
6872
|
prevState.candidates,
|
|
@@ -7941,7 +7965,7 @@ const BusinessRecomendPlaceMap = defineLagecySetup(function BusinessRecomendPlac
|
|
|
7941
7965
|
"mapRef": setMap,
|
|
7942
7966
|
"fallback": slots.fallback,
|
|
7943
7967
|
"loading": slots.loading,
|
|
7944
|
-
"outerArea": () =>
|
|
7968
|
+
"outerArea": () => h(AbsoluteAddressBox, {
|
|
7945
7969
|
"attrs": {
|
|
7946
7970
|
"title": title,
|
|
7947
7971
|
"description": description,
|
|
@@ -8190,7 +8214,7 @@ const BusinessReselectPlaceMap = defineLagecySetup(function BusinessReselectPlac
|
|
|
8190
8214
|
"mapRef": setMap,
|
|
8191
8215
|
"fallback": slots.fallback,
|
|
8192
8216
|
"loading": slots.loading,
|
|
8193
|
-
"outerArea": () =>
|
|
8217
|
+
"outerArea": () => h(AbsoluteAddressBox, {
|
|
8194
8218
|
"attrs": {
|
|
8195
8219
|
"title": title,
|
|
8196
8220
|
"description": description,
|
|
@@ -15,5 +15,7 @@ export declare const ZINDEX_AUXILIARY_GRASP = 14;
|
|
|
15
15
|
export declare const ZINDEX_LINE_LAYER = 12;
|
|
16
16
|
export declare const ZINDEX_GREEN_ZONE = 10;
|
|
17
17
|
export declare const TRACKS_MATCH_MAX_LENGTH = 3;
|
|
18
|
+
export declare const REGEO_TIMEOUT = 2000;
|
|
19
|
+
export declare const GET_RECOMMEND_PLACE_TIMEOUT = 2000;
|
|
18
20
|
export declare const IS_ENABLE_AUXILIARY_GRASP_ROAD: boolean;
|
|
19
21
|
export declare const AMAP_DEFAULT_MARKER_ICON_URL = "https://webapi.amap.com/theme/v1.3/markers/b/mark_bs.png";
|
|
@@ -23,4 +23,5 @@ export declare const pausableSleep: (milliSeconds: number) => {
|
|
|
23
23
|
};
|
|
24
24
|
export declare const createRunOnce: <P extends any[], R>(fn: (...args: P) => R) => (...args: P) => R;
|
|
25
25
|
export declare const createAsyncNoFailNonNullable: <P extends any[], R>(fn: (...args: P) => Promise<R>, defaultValue: NonNullable<R>) => (...args: P) => Promise<NonNullable<R>>;
|
|
26
|
+
export declare const pipeTimeout: <P extends any[], R>(fn: (...args: P) => Promise<R>, defaultValue: R, timeout: number) => (...args: P) => Promise<R>;
|
|
26
27
|
export {};
|