董国庆
2026-06-21 08568e9897d8cdc67ce1adecab830c3ff6c9eb8b
超时更换为60秒,新建围栏优化
3个文件已修改
87 ■■■■■ 已修改文件
src/service/http/config.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/businessOperations/operationWorkbench/map.vue 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/testDemo/operationWorkbench/map.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/service/http/config.ts
@@ -3,7 +3,7 @@
/** 默认实例的Aixos配置 */
export const DEFAULT_ALOVA_OPTIONS = {
  // 请求超时时间,默认15秒
  timeout: 15 * 1000,
  timeout: 60 * 1000,
}
/** 默认实例的后端字段配置 */
src/views/businessOperations/operationWorkbench/map.vue
@@ -1210,7 +1210,9 @@
  syncFenceEditGuideHover(event)
  if (!isFenceFormMode.value || !fenceDraftPoints.value.length) {
  // 鼠标当前位置是否落在当前城市范围内,只在“新建围栏”阶段实时判断。
  // 编辑已有围栏时不再做这层 hover 查询,避免默认进入围栏编辑就出现提示态。
  if (!fenceCreateMode.value) {
    fenceCreateOutsideCurrentCity.value = false
    return
  }
src/views/testDemo/operationWorkbench/map.vue
@@ -1213,29 +1213,16 @@
  syncFenceEditGuideHover(event)
  // 鼠标当前位置是否落在当前城市范围内,只在“新建围栏”阶段实时判断;
  // 默认浏览态、围栏编辑态和其他实体创建态都不再触发位置查询与 hover 提示。
  if (!fenceCreateMode.value) {
    fenceCreateOutsideCurrentCity.value = false
    hideCityBoundaryHoverTooltip()
    return
  }
  const currentPoint: LngLatTuple = [lng, lat]
  const inCurrentCityBoundary = isPointInCurrentCityBoundary(currentPoint)
  if (fenceCreateMode.value) {
    if (!hasFenceDrawingStarted()) {
      fenceCreateOutsideCurrentCity.value = false
      hideCityBoundaryHoverTooltip()
      return
    }
    // 仅在鼠标首次移出当前行政区时提示一次,避免移动过程中连续刷屏。
    const nextOutsideCurrentCity = !inCurrentCityBoundary
    if (nextOutsideCurrentCity && !fenceCreateOutsideCurrentCity.value)
      showFenceCreateBoundaryTip()
    fenceCreateOutsideCurrentCity.value = nextOutsideCurrentCity
    hideCityBoundaryHoverTooltip()
    return
  }
  fenceCreateOutsideCurrentCity.value = false
  if (stationCreateMode.value) {
    hideCityBoundaryHoverTooltip()
    return
  }
  cityBoundaryHoverPosition.x = Number(event.pixel.x || 0) + 16
  cityBoundaryHoverPosition.y = Number(event.pixel.y || 0) - 12
@@ -1248,31 +1235,41 @@
    }
    cityBoundaryHoverText.value = currentCityLabel.value || '当前城市'
    cityBoundaryHoverOutsideSelected.value = false
    return
  }
  cityBoundaryHoverOutsideSelected.value = true
  const cacheKey = getHoverCityCacheKey(currentPoint)
  const cachedCityName = cityBoundaryHoverTextCache.get(cacheKey)
  if (cachedCityName) {
    if (cityBoundaryHoverQueryTimer) {
      clearTimeout(cityBoundaryHoverQueryTimer)
      cityBoundaryHoverQueryTimer = null
    }
    cityBoundaryHoverText.value = cachedCityName
  else {
    cityBoundaryHoverOutsideSelected.value = true
    return
    const cacheKey = getHoverCityCacheKey(currentPoint)
    const cachedCityName = cityBoundaryHoverTextCache.get(cacheKey)
    if (cachedCityName) {
      if (cityBoundaryHoverQueryTimer) {
        clearTimeout(cityBoundaryHoverQueryTimer)
        cityBoundaryHoverQueryTimer = null
      }
      cityBoundaryHoverText.value = cachedCityName
      cityBoundaryHoverOutsideSelected.value = true
    }
    else {
      cityBoundaryHoverText.value = '查询中...'
      cityBoundaryHoverOutsideSelected.value = true
      if (cityBoundaryHoverQueryTimer)
        clearTimeout(cityBoundaryHoverQueryTimer)
      const seq = ++cityBoundaryHoverQuerySeq
      cityBoundaryHoverQueryTimer = setTimeout(() => {
        cityBoundaryHoverQueryTimer = null
        void resolveHoverCityName(currentPoint, cacheKey, seq)
      }, 120)
    }
  }
  cityBoundaryHoverText.value = '查询中...'
  cityBoundaryHoverOutsideSelected.value = true
  if (cityBoundaryHoverQueryTimer)
    clearTimeout(cityBoundaryHoverQueryTimer)
  const seq = ++cityBoundaryHoverQuerySeq
  cityBoundaryHoverQueryTimer = setTimeout(() => {
    cityBoundaryHoverQueryTimer = null
    void resolveHoverCityName(currentPoint, cacheKey, seq)
  }, 120)
  if (!hasFenceDrawingStarted()) {
    fenceCreateOutsideCurrentCity.value = false
    return
  }
  // 仅在鼠标首次移出当前行政区时提示一次,避免移动过程中连续刷屏。
  const nextOutsideCurrentCity = !inCurrentCityBoundary
  if (nextOutsideCurrentCity && !fenceCreateOutsideCurrentCity.value)
    showFenceCreateBoundaryTip()
  fenceCreateOutsideCurrentCity.value = nextOutsideCurrentCity
}
function searchDistrictBoundary(keyword: string): Promise<LngLatTuple[][]> {