From ae1e467411a786c37fb20b9bce2a7a4da64aa412 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期一, 10 十一月 2025 21:35:55 +0800
Subject: [PATCH] feat:在app中增加成交价的自动计算

---
 app/api/map.js |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 81 insertions(+), 2 deletions(-)

diff --git a/app/api/map.js b/app/api/map.js
index df91db0..05acf2e 100644
--- a/app/api/map.js
+++ b/app/api/map.js
@@ -46,12 +46,12 @@
       fromLng === undefined || fromLng === null ||
       toLat === undefined || toLat === null ||
       toLng === undefined || toLng === null) {
-    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁达紝缂哄皯璧风偣鎴栫粓鐐瑰潗鏍�'))
+    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁�,缂哄皯璧风偣鎴栫粓鐐瑰潗鏍�'))
   }
   
   // 妫�鏌ュ弬鏁版湁鏁堟��
   if (isNaN(fromLat) || isNaN(fromLng) || isNaN(toLat) || isNaN(toLng)) {
-    return Promise.reject(new Error('鍙傛暟鏃犳晥锛屽潗鏍囨牸寮忛敊璇�'))
+    return Promise.reject(new Error('鍙傛暟鏃犳晥,鍧愭爣鏍煎紡閿欒'))
   }
   
   return request({
@@ -64,4 +64,83 @@
       toLng: toLng
     }
   })
+}
+
+// ==================== 鐧惧害鍦板浘鎺ュ彛 ====================
+
+// 鐧惧害鍦板浘鍦扮悊缂栫爜API锛堝湴鍧�杞潗鏍囷級
+export function baiduGeocoding(address, city) {
+  // 鍙傛暟楠岃瘉
+  if (!address) {
+    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁�,缂哄皯鍦板潃淇℃伅'))
+  }
+  
+  return request({
+    url: '/system/gps/baidu/geocoding',
+    method: 'get',
+    params: {
+      address: address,
+      city: city
+    }
+  })
+}
+
+// 鐧惧害鍦板浘璺嚎瑙勫垝API锛堣绠椾袱涓潗鏍囦箣闂寸殑椹捐溅璺濈锛�
+export function baiduRouteDriving(origin, destination) {
+  // 鍙傛暟楠岃瘉
+  if (!origin || !destination) {
+    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁�,缂哄皯璧风偣鎴栫粓鐐瑰潗鏍�'))
+  }
+  
+  // 楠岃瘉鍧愭爣鏍煎紡锛堢含搴�,缁忓害锛�
+  const originParts = origin.split(',')
+  const destParts = destination.split(',')
+  if (originParts.length !== 2 || destParts.length !== 2) {
+    return Promise.reject(new Error('鍧愭爣鏍煎紡閿欒,搴斾负:绾害,缁忓害'))
+  }
+  
+  return request({
+    url: '/system/gps/baidu/route/driving',
+    method: 'get',
+    params: {
+      origin: origin,
+      destination: destination
+    }
+  })
+}
+
+// 鐧惧害鍦板浘璁$畻涓や釜鍦板潃涔嬮棿鐨勮窛绂伙紙缁勫悎鎺ュ彛锛氬湴鍧�杞潗鏍� + 璺嚎瑙勫垝锛�
+export function baiduDistanceByAddress(fromAddress, fromCity, toAddress, toCity) {
+  // 鍙傛暟楠岃瘉
+  if (!fromAddress || !toAddress) {
+    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁�,缂哄皯璧风偣鎴栫粓鐐瑰湴鍧�'))
+  }
+  
+  return request({
+    url: '/system/gps/baidu/distance/byAddress',
+    method: 'get',
+    params: {
+      fromAddress: fromAddress,
+      fromCity: fromCity,
+      toAddress: toAddress,
+      toCity: toCity
+    }
+  })
+}
+
+// 鐧惧害鍦板浘鍦板潃鎼滅储鎻愮ずAPI锛堣緭鍏ヨ仈鎯筹級
+export function baiduPlaceSuggestion(query, region) {
+  // 鍙傛暟楠岃瘉
+  if (!query) {
+    return Promise.reject(new Error('鍙傛暟涓嶅畬鏁�,缂哄皯鎼滅储鍏抽敭璇�'))
+  }
+  
+  return request({
+    url: '/system/gps/baidu/place/suggestion',
+    method: 'get',
+    params: {
+      query: query,
+      region: region || '骞垮窞'
+    }
+  })
 }
\ No newline at end of file

--
Gitblit v1.9.1