Przeglądaj źródła

📝 docs(story): 更新首页默认目的地配置文档

- 移除出发地相关环境变量配置,只保留目的地配置
- 环境变量数量从6个减少到3个,降低配置复杂度
- 说明用户通常更关心目的地,出发地可留空让用户选择
- 更新全局类型定义文档,添加目的地环境变量类型声明
- 完善环境变量配置理由说明,补充用户体验考量

🔧 chore(env): 添加默认目的地环境变量配置

- 在开发环境(.env.development)添加默认目的地ID配置
- 在生产环境(.env.production)添加默认目的地ID配置

♻️ refactor(search): 简化搜索参数初始化逻辑

- 移除默认出发地ID相关代码
- 仅保留默认目的地ID的初始化逻辑
- 设置startAreaIds为undefined,让用户自行选择出发地
yourname 3 miesięcy temu
rodzic
commit
0b77653d1c

+ 5 - 19
docs/stories/007.005.home-default-destination.story.md

@@ -59,18 +59,16 @@ Draft
 - 地区显示文本通过 `getAreaDisplayText` 函数生成
 
 ### 环境变量配置方案
-只需要配置地区ID,地区名称可以通过ID从后端API动态获取:
-- `TARO_APP_DEFAULT_START_PROVINCE_ID` - 默认出发省份ID
-- `TARO_APP_DEFAULT_START_CITY_ID` - 默认出发城市ID
-- `TARO_APP_DEFAULT_START_DISTRICT_ID` - 默认出发区县ID
+只需要配置**目的地**的地区ID,地区名称可以通过ID从后端API动态获取:
 - `TARO_APP_DEFAULT_END_PROVINCE_ID` - 默认目的省份ID
 - `TARO_APP_DEFAULT_END_CITY_ID` - 默认目的城市ID
 - `TARO_APP_DEFAULT_END_DISTRICT_ID` - 默认目的区县ID
 
 **理由**:
 - 地区名称可以通过ID从后端API动态获取,确保名称始终最新
-- 减少环境变量的配置复杂度
+- 减少环境变量的配置复杂度(从6个减少到3个)
 - 符合现有代码的实现模式(通过ID查找名称)
+- 用户通常更关心目的地,出发地可以保持为空让用户选择
 
 ### 全局类型定义更新
 需要在 `mini/types/global.d.ts` 文件的 `ProcessEnv` 接口中添加新的环境变量类型定义:
@@ -79,10 +77,7 @@ declare namespace NodeJS {
   interface ProcessEnv {
     // 现有环境变量...
 
-    // 默认目的地配置(只需要配置ID)
-    TARO_APP_DEFAULT_START_PROVINCE_ID?: string
-    TARO_APP_DEFAULT_START_CITY_ID?: string
-    TARO_APP_DEFAULT_START_DISTRICT_ID?: string
+    // 默认目的地配置(只需要配置目的地的ID)
     TARO_APP_DEFAULT_END_PROVINCE_ID?: string
     TARO_APP_DEFAULT_END_CITY_ID?: string
     TARO_APP_DEFAULT_END_DISTRICT_ID?: string
@@ -105,12 +100,6 @@ const [searchParams, setSearchParams] = useState<SearchParams>({
 
 // 修改后逻辑
 const [searchParams, setSearchParams] = useState<SearchParams>(() => {
-  const defaultStartIds = process.env.TARO_APP_DEFAULT_START_PROVINCE_ID ? [
-    Number(process.env.TARO_APP_DEFAULT_START_PROVINCE_ID),
-    Number(process.env.TARO_APP_DEFAULT_START_CITY_ID),
-    Number(process.env.TARO_APP_DEFAULT_START_DISTRICT_ID)
-  ].filter(id => id) : undefined
-
   const defaultEndIds = process.env.TARO_APP_DEFAULT_END_PROVINCE_ID ? [
     Number(process.env.TARO_APP_DEFAULT_END_PROVINCE_ID),
     Number(process.env.TARO_APP_DEFAULT_END_CITY_ID),
@@ -121,7 +110,7 @@ const [searchParams, setSearchParams] = useState<SearchParams>(() => {
     date: new Date().toISOString().split('T')[0],
     vehicleType: 'bus',
     travelMode: 'carpool',
-    startAreaIds: defaultStartIds,
+    startAreaIds: undefined,
     endAreaIds: defaultEndIds
   }
 })
@@ -203,9 +192,6 @@ const originalEnv = process.env
 beforeEach(() => {
   process.env = {
     ...originalEnv,
-    TARO_APP_DEFAULT_START_PROVINCE_ID: '1',
-    TARO_APP_DEFAULT_START_CITY_ID: '2',
-    TARO_APP_DEFAULT_START_DISTRICT_ID: '3',
     TARO_APP_DEFAULT_END_PROVINCE_ID: '4',
     TARO_APP_DEFAULT_END_CITY_ID: '5',
     TARO_APP_DEFAULT_END_DISTRICT_ID: '6'

+ 5 - 0
mini/.env.development

@@ -12,3 +12,8 @@ TARO_APP_WX_CORP_ID=wwc6d7911e2d23b7fb
 
 TARO_APP_WX_KEFU_URL=https://work.weixin.qq.com/kfid/kfc5f4d729bc3c893d7
 
+# 默认目的地配置
+TARO_APP_DEFAULT_END_PROVINCE_ID=1
+TARO_APP_DEFAULT_END_CITY_ID=34
+TARO_APP_DEFAULT_END_DISTRICT_ID=43
+

+ 6 - 1
mini/.env.production

@@ -9,4 +9,9 @@ TARO_APP_PUBLIC_IMAGE_BASE_URL=https://d8d-prd-run-8080-176-162-template-21-grou
 
 TARO_APP_WX_CORP_ID=wwc6d7911e2d23b7fb
 
-TARO_APP_WX_KEFU_URL=https://work.weixin.qq.com/kfid/kfc5f4d729bc3c893d7
+TARO_APP_WX_KEFU_URL=https://work.weixin.qq.com/kfid/kfc5f4d729bc3c893d7
+
+# 默认目的地配置
+TARO_APP_DEFAULT_END_PROVINCE_ID=2
+TARO_APP_DEFAULT_END_CITY_ID=3
+TARO_APP_DEFAULT_END_DISTRICT_ID=28

+ 5 - 0
mini/types/global.d.ts

@@ -31,6 +31,11 @@ declare namespace NodeJS {
     TARO_APP_WX_CORP_ID: string
     
     TARO_APP_WX_KEFU_URL: string
+
+    // 默认目的地配置(只需要配置目的地的ID)
+    TARO_APP_DEFAULT_END_PROVINCE_ID?: string
+    TARO_APP_DEFAULT_END_CITY_ID?: string
+    TARO_APP_DEFAULT_END_DISTRICT_ID?: string
   }
 }